From 888aace29f6c4c1fdc6fd95b18d90c98e5634739 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 16 Jul 2019 11:49:57 -0400 Subject: version & changelog, open commit window --- data/doc/sisu/CHANGELOG_v7 | 3 +++ data/sisu/version.yml | 6 +++--- setup/sisu_version.rb | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/data/doc/sisu/CHANGELOG_v7 b/data/doc/sisu/CHANGELOG_v7 index c16edc5f..6dd65e9e 100644 --- a/data/doc/sisu/CHANGELOG_v7 +++ b/data/doc/sisu/CHANGELOG_v7 @@ -20,6 +20,9 @@ Reverse Chronological: --- HEAD --- +* sisu_7.1.12.orig.tar.xz (Open commit window: 2019-07-16; Pre-Release) + http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.12 + * sisu_7.1.11.orig.tar.xz (2017-07-14:28/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.11 diff --git a/data/sisu/version.yml b/data/sisu/version.yml index 6647b926..82fb0e8b 100644 --- a/data/sisu/version.yml +++ b/data/sisu/version.yml @@ -1,5 +1,5 @@ --- :project: SiSU -:version: 7.1.11 -:date_stamp: 2017w28/5 -:date: "2017-07-14" +:version: 7.1.12_pre_rel +:date_stamp: 2019w28/2 +:date: "2019-07-16" diff --git a/setup/sisu_version.rb b/setup/sisu_version.rb index 1a4388fc..b323c180 100644 --- a/setup/sisu_version.rb +++ b/setup/sisu_version.rb @@ -1,6 +1,6 @@ #% constants module SiSUversion - SiSU_version = '7.1.11' + SiSU_version = '7.1.12' end module Dev GPGpubKey = '1BB4B289' -- cgit v1.2.3 From df3dbe032173deac9432a88e223f9344ef25b3b1 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 16 Jul 2019 12:13:30 -0400 Subject: changelogs cosmetic substitution (org-mode) --- data/doc/sisu/CHANGELOG_v4 | 588 ++++++++++++++-------------- data/doc/sisu/CHANGELOG_v5 | 942 ++++++++++++++++++++++----------------------- data/doc/sisu/CHANGELOG_v6 | 566 +++++++++++++-------------- data/doc/sisu/CHANGELOG_v7 | 98 ++--- 4 files changed, 1098 insertions(+), 1096 deletions(-) diff --git a/data/doc/sisu/CHANGELOG_v4 b/data/doc/sisu/CHANGELOG_v4 index 4cbce8ee..072a617a 100644 --- a/data/doc/sisu/CHANGELOG_v4 +++ b/data/doc/sisu/CHANGELOG_v4 @@ -11,15 +11,15 @@ v4 branch is removed; it is available in sisu < 5.3.0 v3 branch is removed; it is available in sisu < 4.1.0 v2 branch is removed; it is available in sisu =< 3.3.2 - * homepages: - * data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_manual.ssm - * CHANGELOG CHANGELOG_v2 CHANGELOG_v3 README data/doc/sisu/ + - homepages: + - data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_manual.ssm + - CHANGELOG CHANGELOG_v2 CHANGELOG_v3 README data/doc/sisu/ initial goals: - * remove/retire "skins"; replace some functionality with headers and/or yml + - remove/retire "skins"; replace some functionality with headers and/or yml file (consider header like syntax for document and site appearance info) - * bin/sisu $0 make possible to run sisu command on/within project dir tree - * bin/sisu $*, hub, make possible to specify dir path for markup files + - bin/sisu $0 make possible to run sisu command on/within project dir tree + - bin/sisu $*, hub, make possible to specify dir path for markup files * Legacy Branch, Reference @@ -32,7 +32,7 @@ Reverse Chronological: [closed] - * bin/sisu changes to simplify switching to new stable and development branches + - bin/sisu changes to simplify switching to new stable and development branches * sisu_4.2.20.orig.tar.xz (2014-01-20:03/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.20 @@ -40,48 +40,48 @@ Reverse Chronological: [good time to consider rollover: closing v4 branch, replacing it with v5 & introducing v6 for development, proposed for this release + 1] - * bin/sisu & some related lib changes + - bin/sisu & some related lib changes - * sysenv for texpdf, fix for when tex to pdf generator is absent + - sysenv for texpdf, fix for when tex to pdf generator is absent * sisu_4.2.19.orig.tar.xz (2014-01-17:02/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.19 - * bin/sisu experimentation - * start preparing for ruby changes - * work on fix for bug related to gem path & system installed sisu + - bin/sisu experimentation + - start preparing for ruby changes + - work on fix for bug related to gem path & system installed sisu * sisu_4.2.18.orig.tar.xz (2014-01-12:01/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.18 - * texinfo, fixes + - texinfo, fixes - * texpdf, report on pdf output, provide a working link to a generated file-size + - texpdf, report on pdf output, provide a working link to a generated file-size (multiple document file-sizes may be produced) * sisu_4.2.17.orig.tar.xz (2014-01-06:01/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.17 - * bin/sisu - * (ensure SiSU_version_dir) fix - * sisu version info, yml info also when installed via ruby gem - * downstream libs + - bin/sisu + - (ensure SiSU_version_dir) fix + - sisu version info, yml info also when installed via ruby gem + - downstream libs - * fixes - * ao_doc_str, nodes, possible parents, correction - * epub, url closure decoration - * sysenv, qrcode report absent program, minor - * html scroll toc, clean links where none, exclude metadata + - fixes + - ao_doc_str, nodes, possible parents, correction + - epub, url closure decoration + - sysenv, qrcode report absent program, minor + - html scroll toc, clean links where none, exclude metadata * sisu_4.2.16.orig.tar.xz (2013-12-15:49/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.16 - * Rakefile, (installer), reduce actions + - Rakefile, (installer), reduce actions * sisu_4.2.15.orig.tar.xz (2013-12-09:49/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.15 - * Rakefile, (installer) improve, re-arrange + - Rakefile, (installer) improve, re-arrange [NOTE disk crash (2013-11-28), fairly good but incomplete backup affecting work] @@ -89,51 +89,51 @@ Reverse Chronological: * sisu_4.2.14.orig.tar.xz (2013-12-03:48/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.14 - * rake create build & install sisu gemspec; (.gitignore), work on - * gemspec adjusted to install only libraries related to a version (v4 or v5) - * select sisu version to create, build & install + - rake create build & install sisu gemspec; (.gitignore), work on + - gemspec adjusted to install only libraries related to a version (v4 or v5) + - select sisu version to create, build & install - * bin/sisu, simplify in relation to sisu gem + - bin/sisu, simplify in relation to sisu gem * sisu_4.2.13.orig.tar.xz (2013-12-02:48/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.13 - * rake create build & install sisu gemspec; bin/sisugem (add .gitignore) - * rake gemcbi #(create build install sisu gem) - * rake gemspecscreate && \ + - rake create build & install sisu gemspec; bin/sisugem (add .gitignore) + - rake gemcbi #(create build install sisu gem) + - rake gemspecscreate && \ rake gembuild && \ sudo rake geminstall - * rake gemspecscreate && \ + - rake gemspecscreate && \ gem build sisu5.gemspec && \ sudo gem install --no-rdoc --no-ri \ sisu-5.1.0.gem - * bin/sisu updated (modified to take account of gems) - * bin/sisugem added - * .gitignore sisu-*.gem sisu*.gemspec + - bin/sisu updated (modified to take account of gems) + - bin/sisugem added + - .gitignore sisu-*.gem sisu*.gemspec consider inclusion (& tracking) of rake created sisu4.gemspec sisu5.gemspec (as this makes their availability more obvious) - * once gem is installed: "sisu _5.1.0_ -vM" (to see version, commands + - once gem is installed: "sisu _5.1.0_ -vM" (to see version, commands otherwise as usual) if paths are such that sisu is not available "sisugem _5.1.0_ -vM" should work (as it is installed by gemspec, but not other sisu installers) - * hub, sisu4 -M (maintenance mode) provide info as to path to hub.rb (i.e. + - hub, sisu4 -M (maintenance mode) provide info as to path to hub.rb (i.e. where library is being drawn) * sisu_4.2.12.orig.tar.xz (2013-11-08:44/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.12 - * rake (& rant) sisu installer - * do less by default - * removed rant generated sisu-install + - rake (& rant) sisu installer + - do less by default + - removed rant generated sisu-install - * vim, ftplugin sisu.vim, fix missing + - vim, ftplugin sisu.vim, fix missing - * sisu_manual, minor info addition + - sisu_manual, minor info addition - * bin/sisu-* - * use option flag full names - * add sisu-html-scroll, sisu-html-seg, sisu-pdf-portrait, sisu-pdf-landscape + - bin/sisu-* + - use option flag full names + - add sisu-html-scroll, sisu-html-seg, sisu-pdf-portrait, sisu-pdf-landscape * sisu_4.2.11.orig.tar.xz (2013-11-05:44/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.11 @@ -143,76 +143,76 @@ Reverse Chronological: * sisu_4.2.10.orig.tar.xz (2013-11-02:43/6) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.10 - * constants, ocn output delimiter (where used) changed to 「...」 + - constants, ocn output delimiter (where used) changed to 「...」 (from square brackets [...]) * sisu_4.2.9.orig.tar.xz (2013-10-27:42/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.9 - * dal, document_structure_check_info + - dal, document_structure_check_info * sisu_4.2.8.orig.tar.xz (2013-10-23:42/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.8 - * dal, parent & node info, fix + - dal, parent & node info, fix (used e.g. for mind map type output (last for kdissert output, no longer supported)) - * dal, collapsed levels implemented + - dal, collapsed levels implemented convenience, collapse sisu's dual level document structure for output of markup with straight linear structure * sisu_4.2.7.orig.tar.xz (2013-10-17:41/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.7 - * constants, change a couple of internal processing delimiter characters, that + - constants, change a couple of internal processing delimiter characters, that might be used in ordinary marked up text (to characters even less likely to be of use in ordinary (marked up) text) * sisu_4.2.6.orig.tar.xz (2013-10-16:41/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.6 - * constants, change a couple of internal processing delimiter characters, that + - constants, change a couple of internal processing delimiter characters, that might be used in ordinary marked up text - * vim, minor updates, not syntax related + - vim, minor updates, not syntax related - * markup sample, update book index markup, appearance, minor + - markup sample, update book index markup, appearance, minor * sisu_4.2.5.orig.tar.xz (2013-09-22:37/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.5 - * bin/sisu update language list ja ko zh, fix + - bin/sisu update language list ja ko zh, fix * sisu_4.2.4.orig.tar.xz (2013-09-21:37/6) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.4 - * i18n CJK: zh ja ko, add languages Chinese, Japanese, Korean - * texpdf, has large texlive xetex dependencies (Korean untested) - * [concordance, untouched does nothing cjk, decide whether to disable] + - i18n CJK: zh ja ko, add languages Chinese, Japanese, Korean + - texpdf, has large texlive xetex dependencies (Korean untested) + - [concordance, untouched does nothing cjk, decide whether to disable] - * sisu_manual, (in markup-samples) move to en/ sub-dir (permitting + - sisu_manual, (in markup-samples) move to en/ sub-dir (permitting translations) - * use of language sub-dir for source sisu markup suited to permitting + - use of language sub-dir for source sisu markup suited to permitting translation management by po4a - * sisurc.yml minor - * Rakefile to help place sisu markup in a source language directory under + - sisurc.yml minor + - Rakefile to help place sisu markup in a source language directory under po4a management - * Rakefile to assist in placing sisu markup under po4a management + - Rakefile to assist in placing sisu markup under po4a management (sisu_manual) - * Provided as an example with sisu_manual - * fairly generic, but potentially dangerous, can be used to place sisu + - Provided as an example with sisu_manual + - fairly generic, but potentially dangerous, can be used to place sisu markup source translations under po4a management, but user needs to know what this is, (and how to set it up, hence sisu_manual as an example (despite the lack of translations)) as can clobber/destroy files that are not managed by po4a. - * dal, objects, store book index as hash (simplify downstream processing), and + - dal, objects, store book index as hash (simplify downstream processing), and associated downstream processing change from v5 - * db, book index, convert hash back to string + - db, book index, convert hash back to string - * minor cleaning + - minor cleaning * sisu_4.2.3.orig.tar.xz (2013-09-07:35/6) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.3 @@ -222,89 +222,89 @@ Reverse Chronological: * sisu_4.2.2.orig.tar.xz (2013-09-05:35/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.2 - * dal, grouped text with fontface spanning newlines, partial solution, merge + - dal, grouped text with fontface spanning newlines, partial solution, merge from 5.0.14 - * dal, book index markup, allow spaces on both sides of delimiters, or a space + - dal, book index markup, allow spaces on both sides of delimiters, or a space before and newline following a delimiter \s+[:|;](\s+|\n) [else parses as before no spaces] - * vim syntax, book index markup, hilight delimeters + - vim syntax, book index markup, hilight delimeters * sisu_4.2.1.orig.tar.xz (2013-08-28:34/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.1 - * config files (by filetype & filename) touched + - config files (by filetype & filename) touched - * manifest, output organised by, info, minor touch + - manifest, output organised by, info, minor touch - * vim syntax, sisu.vim, fix typo - * ocn (object numbering) on, off, text block using "--~#" "---#" "--+#" + - vim syntax, sisu.vim, fix typo + - ocn (object numbering) on, off, text block using "--~#" "---#" "--+#" - * pdf (latex) tables, bugfix + - pdf (latex) tables, bugfix - * odf:odt, footnotes, fix + - odf:odt, footnotes, fix - * dal, text blocks, tuning + - dal, text blocks, tuning * sisu_4.2.0.orig.tar.xz (2013-08-25:33/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.2.0 - * merge v5 - * syntax add - * switch ocn off and on for a block of content, line containing only + - merge v5 + - syntax add + - switch ocn off and on for a block of content, line containing only off: "--~#" (omit headings where possible) "---#" on: "--+#" - * alternative open and close for blocks using line starting with "```", + - alternative open and close for blocks using line starting with "```", e.g. open code block: "``` code"; close code block: "```" start poem: "``` poem"; end poem: "```" - * remove need for an empty line between opening & closing of a text block + - remove need for an empty line between opening & closing of a text block [note use of "~~" considered but more problematic, (tics not used elsewhere)] - * vim syntax, improve grouped text match, open, close of blocks using tics + - vim syntax, improve grouped text match, open, close of blocks using tics "```" - * ocn (object numbering) on, off, text block using "--~#" "---#" "--+#" - * grouped text, open, close of blocks using tics "```" + - ocn (object numbering) on, off, text block using "--~#" "---#" "--+#" + - grouped text, open, close of blocks using tics "```" - * css, html, epub, adjust paragraph spacing, (increase, whitespace aesthetic, + - css, html, epub, adjust paragraph spacing, (increase, whitespace aesthetic, review further) * sisu_4.1.12.orig.tar.xz (2013-08-21:33/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.1.12 - * messages to terminal - * code marker - * rescued error messages - * fuchsia (sp.) + - messages to terminal + - code marker + - rescued error messages + - fuchsia (sp.) * sisu_4.1.11.orig.tar.xz (2013-08-08:31/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.1.11 - * dal_expand_insertions, refinement for monolingual output + - dal_expand_insertions, refinement for monolingual output * sisu_4.1.10.orig.tar.xz (2013-08-08:31/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.1.10 [merge 5.0.10 lib] - * output structure by, add monolingual alternative for :filetype or :filename - * filename without language code, if document is in default language - * set a default language, 'en' or as specified - * set in rc file or from command line instruction - * command line e.g. + - output structure by, add monolingual alternative for :filetype or :filename + - filename without language code, if document is in default language + - set a default language, 'en' or as specified + - set in rc file or from command line instruction + - command line e.g. sisu -hv --monolingual --by-filename sisu_markup.sst sisu -3v --monolingual --by-filetype sisu_manual.ssm - * sisurc.yml lingual: 'mono' | 'multi' + - sisurc.yml lingual: 'mono' | 'multi' lingual: 'mono' - * note: output by :filetype is roughly equivalent to what monolingual output + - note: output by :filetype is roughly equivalent to what monolingual output by :language would be - * allow command line setting of default language using language code + - allow command line setting of default language using language code --default-language='en' --default-lang-en if used together with --monolingual and --by-filetype or --by-filename the selected default language document will not have a language code in the output filename - * documentation + - documentation - * cgi helper script, sample search form - * single cgi form, (with different internal variables set for output types) - * monolingual output search form option + - cgi helper script, sample search form + - single cgi form, (with different internal variables set for output types) + - monolingual output search form option * sisu_4.1.9.orig.tar.xz (2013-08-01:30/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.1.9 @@ -315,54 +315,54 @@ Reverse Chronological: * sisu_4.1.7.orig.tar.xz (2013-06-25:25/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.1.7 - * "general code cleaning" fix + - "general code cleaning" fix * sisu_4.1.6.orig.tar.xz (2013-06-25:25/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.1.6 - * general code cleaning, sync with v5 + - general code cleaning, sync with v5 * sisu_4.1.5.orig.tar.xz (2013-06-22:23/6) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.1.5 - * vim - * colorscheme def, mark current line - * ftplugin sisu.vim, c-\ hard wrap lines to line width (moved from c-j) + - vim + - colorscheme def, mark current line + - ftplugin sisu.vim, c-\ hard wrap lines to line width (moved from c-j) * sisu_4.1.4.orig.tar.xz (2013-06-06:22/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.1.4 - * db, population of database (--update), import of master files (.ssm), fix + - db, population of database (--update), import of master files (.ssm), fix (Note: for .ssm: @md.fns (is set during runtime & is) != @opt.fns @md.opt.fns, affects construction of unique identifier) - * cgi helper script, sample search form generator - * file name matching, check - * cosmetic, drop use of images in sample form + - cgi helper script, sample search form generator + - file name matching, check + - cosmetic, drop use of images in sample form - * sysenv, requested load warning removed, less screen clutter, consider + - sysenv, requested load warning removed, less screen clutter, consider * sisu_4.1.3.orig.tar.xz (2013-05-30:21/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.1.3 - * sysenv, pgsql db connect fix + - sysenv, pgsql db connect fix - * cgi_pgsql, cgi helper script, sample search form generator, detail + - cgi_pgsql, cgi helper script, sample search form generator, detail * sisu_4.1.2.orig.tar.xz (2013-05-29:21/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.1.2 - * help update, concentrate on man pages - * documentation, manpage update - * interactive help, out of date, removed + - help update, concentrate on man pages + - documentation, manpage update + - interactive help, out of date, removed - * document version check, disable - * automatic check disabled - * check and correction of pre 0.38 markup removed + - document version check, disable + - automatic check disabled + - check and correction of pre 0.38 markup removed - * sysenv, version info moved here from help + - sysenv, version info moved here from help - * cgi helper script sample search form generator, adjust/improve, adds + - cgi helper script sample search form generator, adjust/improve, adds settings: db type --db-pq or db-sqlite webserver for cgi script & db --webserv-search='' @@ -373,279 +373,279 @@ Reverse Chronological: * sisu_4.1.1.orig.tar.xz (2013-05-19:19/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.1.1 - * vim, ftplugin, sisu.vim, statusline + - vim, ftplugin, sisu.vim, statusline - * cgi script for sample search form generator, sqlite, minor fixes (affects + - cgi script for sample search form generator, sqlite, minor fixes (affects 'sisu -F') * sisu_4.1.0.orig.tar.xz (2013-05-08:18/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.1.0 - * v4: - * v5 opened - * v3 closed + - v4: + - v5 opened + - v3 closed - * defaults, sysenv, simplify default home page (by default is not used) + - defaults, sysenv, simplify default home page (by default is not used) - * cgi script for sample search form, minor fixes + - cgi script for sample search form, minor fixes * sisu_4.0.21.orig.tar.xz (2013-05-06:18/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.21 - * minor sysenv, cgi_sql_common + - minor sysenv, cgi_sql_common * sisu_4.0.20.orig.tar.xz (2013-04-11:14/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.20 - * sisurc.yml, reorganize configuration files + - sisurc.yml, reorganize configuration files - * cgi sample search form, minor + - cgi sample search form, minor * sisu_4.0.19.orig.tar.xz (2013-04-08:14/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.19 - * sysenv, yamlrc, minor + - sysenv, yamlrc, minor - * options, exclude manifest links if no manifest (--no-manifest) selected + - options, exclude manifest links if no manifest (--no-manifest) selected - * zap, delete output files, based on given (existing) source file name + - zap, delete output files, based on given (existing) source file name * sisu_4.0.18.orig.tar.xz (2013-03-29:12/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.18 - * dal, screen_text_color, distinguish doc abstraction as start of processing + - dal, screen_text_color, distinguish doc abstraction as start of processing - * dal, reading/processing composite markup files (.ssm) - * dbi, import composite files correctly - * manifest, mini-table of contents, for multi-lingual composite files + - dal, reading/processing composite markup files (.ssm) + - dbi, import composite files correctly + - manifest, mini-table of contents, for multi-lingual composite files - * cgi, auto-generated sample search form - * for various sisu output directory structures - * fixes + - cgi, auto-generated sample search form + - for various sisu output directory structures + - fixes * sisu_4.0.17.orig.tar.xz (2013-03-25:12/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.17 - * manifest & harvest, links to default site home page index.html + - manifest & harvest, links to default site home page index.html - * sysenv, copy or create homepages, one of the actions taken on --config - * provide info as to where manually created homepages may be stored - * do not make default sisu homepage (previously did) + - sysenv, copy or create homepages, one of the actions taken on --config + - provide info as to where manually created homepages may be stored + - do not make default sisu homepage (previously did) - * param, guard against situation where no document creator/author given + - param, guard against situation where no document creator/author given - * hub, non-verbose terminal info reduced, minor + - hub, non-verbose terminal info reduced, minor * sisu_4.0.16.orig.tar.xz (2013-03-18:11/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.16 - * hub, processing flow, sequence, fix - * re-run manifests at end of general processing run: - * where document source shared and more than one markup file processed; - * where translations of same document exist (determined by filename) + - hub, processing flow, sequence, fix + - re-run manifests at end of general processing run: + - where document source shared and more than one markup file processed; + - where translations of same document exist (determined by filename) - * sysenv, epub images where processing multilingual doc in lang code sub-dir + - sysenv, epub images where processing multilingual doc in lang code sub-dir * sisu_4.0.15.orig.tar.xz (2013-03-18:11/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.15 - * share document source, markup text file &/or sisupod - * processing flow, correct sequence - * terminal reporting + - share document source, markup text file &/or sisupod + - processing flow, correct sequence + - terminal reporting * sisu_4.0.14.orig.tar.xz (2013-03-16:10/6) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.14 - * harvest, authors, topics, terminal info + - harvest, authors, topics, terminal info - * harvest, links for output_by? filename + - harvest, links for output_by? filename - * manifest, links for output_by? alternatives, harvest & qrcode related + - manifest, links for output_by? alternatives, harvest & qrcode related - * sysenv, rsync remote placement, output_by? alternatives, tuning, including - * site_harvest - * pdf fix - * backround rsync only for processing of single sisu markup files + - sysenv, rsync remote placement, output_by? alternatives, tuning, including + - site_harvest + - pdf fix + - backround rsync only for processing of single sisu markup files * sisu_4.0.13.orig.tar.xz (2013-03-13:10/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.13 - * html_format, manifest red arrow, next (segment), (broken) link fix, to toc + - html_format, manifest red arrow, next (segment), (broken) link fix, to toc - * terminal reporting, cosmetic + - terminal reporting, cosmetic - * manifest, link to harvest authors & topics if available, else cosmeitc + - manifest, link to harvest authors & topics if available, else cosmeitc - * hub, sysenv, remote, work on rsync of document/site build + - hub, sysenv, remote, work on rsync of document/site build - * hub, sql db, fix for actions not requiring files, create, drop, etc. + - hub, sql db, fix for actions not requiring files, create, drop, etc. * sisu_4.0.12.orig.tar.xz (2013-03-08:09/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.12 - * share_src, sisu source, permissions, make world readable when shared + - share_src, sisu source, permissions, make world readable when shared - * manifest, sysenv, manifests sisupod relative link for output_by language + - manifest, sysenv, manifests sisupod relative link for output_by language - * bin/sisu, process remote sisu markup file or sisupod, where url provided + - bin/sisu, process remote sisu markup file or sisupod, where url provided - * hub, operations, report if no markup file provided, where required by + - hub, operations, report if no markup file provided, where required by requested action * sisu_4.0.11.orig.tar.xz (2013-03-06:09/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.11 - * bin/sisu, expand given path for sisu executable + - bin/sisu, expand given path for sisu executable (where system sisu not called directly) - * sysenv, base images path determined from given path for sisu executable + - sysenv, base images path determined from given path for sisu executable (where system sisu not called directly) - * options, sisupod, name determination, fix - * needed for creation of multiple sisupods + - options, sisupod, name determination, fix + - needed for creation of multiple sisupods - * html_format, html segment navigation to toc, fix + - html_format, html segment navigation to toc, fix * sisu_4.0.10.orig.tar.xz (2013-03-05:09/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.10 - * texpdf, report to STDERR when pdf not (successfully) generated, note: + - texpdf, report to STDERR when pdf not (successfully) generated, note: .tex file is almost certainly produced by sisu, this will be a sisu packaging, texlive dependency issue, preventing its conversion to pdf (Closes: #617359) - * sysenv, set default output (directory layout) type where none configured + - sysenv, set default output (directory layout) type where none configured (also turned off reporting where imagemagick & graphicsmagick not installed) - * html, epub, minor "cleaning" of output + - html, epub, minor "cleaning" of output * sisu_4.0.9.orig.tar.xz (2013-02-22:07/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.9 - * dal, line across page divider -..- introduced, an alternative to page + - dal, line across page divider -..- introduced, an alternative to page break -\\- & =\\=, affects pdf and odf most significantly - * output formats modified to include, (pdf, odf, epub, html, plaintext) - * vim syntax, sisu.vim - * emacs, sisu-mode.el - * documentation, sisu_markup.sst, man page sisu.1, sisu.1.html + - output formats modified to include, (pdf, odf, epub, html, plaintext) + - vim syntax, sisu.vim + - emacs, sisu-mode.el + - documentation, sisu_markup.sst, man page sisu.1, sisu.1.html * sisu_4.0.8.orig.tar.xz (2013-02-20:07/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.8 - * epub - * tinkering with some headers - * add markup of angle brackets '<' & '>' to early markup of ampersand '&' + - epub + - tinkering with some headers + - add markup of angle brackets '<' & '>' to early markup of ampersand '&' - * html, modification to markup of angle brackets '<' & '>' and ampersand '&' + - html, modification to markup of angle brackets '<' & '>' and ampersand '&' - * vim, ftplugin & colorschemes housekeeping, scheme "def*" added - * general housekeeping - * :colorscheme def256* defined from 256 colors (primarily 16 of them) + - vim, ftplugin & colorschemes housekeeping, scheme "def*" added + - general housekeeping + - :colorscheme def256* defined from 256 colors (primarily 16 of them) terminal & gui (identical) (terminal scheme based on frugal & extended to cover gui) - * :colorscheme def* cterm defined primarily using 16 colors (a few from 256) + - :colorscheme def* cterm defined primarily using 16 colors (a few from 256) (to be usable tweak .Xdefaults) gui provided along with Xdefault settings to make cterm match this gui or def256* - * emacs, sisu-mode.el - * sisu headers update - * cosmetic code reshuffle + - emacs, sisu-mode.el + - sisu headers update + - cosmetic code reshuffle - * b_epub.png, epub icon (for manifest) updated to use official image + - b_epub.png, epub icon (for manifest) updated to use official image * sisu_4.0.7.orig.tar.xz (2013-02-10:05/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.7 - * vim, minimal color schemes, minor edits + - vim, minimal color schemes, minor edits - * dbi_discrete, discreet should have been discrete, renames accordingly + - dbi_discrete, discreet should have been discrete, renames accordingly - * lib, bin/sisu, misc, code headers provide url to online git file source - * e.g. bin/sisu * Git + - lib, bin/sisu, misc, code headers provide url to online git file source + - e.g. bin/sisu * Git * sisu_4.0.6.orig.tar.xz (2013-02-07:05/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.6 - * html, screen reporting for --html-scroll, correctly identify output file + - html, screen reporting for --html-scroll, correctly identify output file - * pdf - * pdf (options, hub, urls), orientation, portrait & landscape optionally + - pdf + - pdf (options, hub, urls), orientation, portrait & landscape optionally discrete, individually callable - * --pdf-l (--pdf-landscape), --pdf-p (--pdf-portrait) - * sisu latex output & xetex generation - * pdf (options, param), papersize, command-line options to override sisurc + - --pdf-l (--pdf-landscape), --pdf-p (--pdf-portrait) + - sisu latex output & xetex generation + - pdf (options, param), papersize, command-line options to override sisurc settings, [a4,a5,b5,letter,legal] when --pdf* used: - * --papersize-a4 --papersize-letter (also --a4 --letter) - * --papersize=a4,letter - * --pdf-a4 --pdf-letter (for portrait only --pdf-p-a4 --pdf-p-letter) + - --papersize-a4 --papersize-letter (also --a4 --letter) + - --papersize=a4,letter + - --pdf-a4 --pdf-letter (for portrait only --pdf-p-a4 --pdf-p-letter) [orientation & papersize options are set independently so calling --pdf-p-a4 & --pdf-l-letter would result in landscapes and portraits of both a4 & letter (rather than an individual request for a portrait A4 & a landscape letter size)] - * texpdf, cosmetic code + - texpdf, cosmetic code - * utils (debug renamed) - * SiSU_Utils::CodeMarker (from Debug::Mark) - * SiSU_Utils::Path.new.base_markup provides base markup directory that + - utils (debug renamed) + - SiSU_Utils::CodeMarker (from Debug::Mark) + - SiSU_Utils::Path.new.base_markup provides base markup directory that contains sisu markup files, any language sub-directories (with sisu markup files) and sisu resource configuration sub-directory, if any (./_sisu) (identifies when needed in runtime) - * sysenv, webserv dir (output dir), ensure it is determined from base markup + - sysenv, webserv dir (output dir), ensure it is determined from base markup dir where relative path provided (remove possibility of it being done from a language sub-directory), fix - * documentation - * sisu_manual/sisu_commands - * manpage & html + - documentation + - sisu_manual/sisu_commands + - manpage & html * sisu_4.0.5.orig.tar.xz (2013-02-03:04/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.5 - * html (options, hub, urls), scroll & seg optionally discrete, individually + - html (options, hub, urls), scroll & seg optionally discrete, individually callable - * --html (both), --html-scroll, --html-seg - * [possibly of interest where only one form of html of interest for use &/or + - --html (both), --html-scroll, --html-seg + - [possibly of interest where only one form of html of interest for use &/or to cut generation time (roughly to 63% for --html-scroll only)] - * sysenv, on --redirect, stop creation of redundant dir + - sysenv, on --redirect, stop creation of redundant dir - * html, includes book index fix, rest cosmetic + - html, includes book index fix, rest cosmetic - * css (html & epub) line spacing reduced, paragraph spacing increased - * may need to tune spacing further to distinguish lines from new paragraphs + - css (html & epub) line spacing reduced, paragraph spacing increased + - may need to tune spacing further to distinguish lines from new paragraphs (especially where ocn is not used as the distinction may be less clear/obvious) - * documentation, include --html-scroll and --html-seg options - * sisu_manual/sisu_commands - * manpage & html + - documentation, include --html-scroll and --html-seg options + - sisu_manual/sisu_commands + - manpage & html * sisu_4.0.4.orig.tar.xz (2013-01-31:04/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.4 - * param_make, :cover_image: regex, less finicky match of image & details - * [bug reported by Mikael Böök] + - param_make, :cover_image: regex, less finicky match of image & details + - [bug reported by Mikael Böök] - * dal, on ocn excluded paragraphs (~# -#), hang/indent bullet, fix - * [bug reported indirectly by Cory Doctorow (discovered in work with + - dal, on ocn excluded paragraphs (~# -#), hang/indent bullet, fix + - [bug reported indirectly by Cory Doctorow (discovered in work with markup)] - * epub, constants, debug alternative for various readers ... work on + - epub, constants, debug alternative for various readers ... work on - * dal (obj), html, br_page* behavior in html depending on origin of break + - dal (obj), html, br_page* behavior in html depending on origin of break (markup specified v auto) * sisu_4.0.3.orig.tar.xz (2013-01-27:03/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.3 - * epub some fixing, more documents render in more readers/viewers - * ncx fix, navpoint_close [bug reported by Mikael Böök, with sample fix toc] - * check xml representation of characters (& < > in particular) + - epub some fixing, more documents render in more readers/viewers + - ncx fix, navpoint_close [bug reported by Mikael Böök, with sample fix toc] + - check xml representation of characters (& < > in particular) - * remove markup-sample of the first edition of FaiF as redundant, the + - remove markup-sample of the first edition of FaiF as redundant, the markup for the second edition being available (& partly in response to Bug#698664 which leads me to think about it), removed: free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst @@ -654,108 +654,108 @@ Reverse Chronological: * sisu_4.0.2.orig.tar.xz (2013-01-23:03/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.2 - * epub - * remove unnecessary conversion of some utf-8 characters to xhtml + - epub + - remove unnecessary conversion of some utf-8 characters to xhtml representation; fix as messed up table of contents, toc.ncx (e.g. in calibre) - * [bug reported by Mikael Böök] - * provide full depth epub table of contents [request Mikael Böök] - * cosmetic arrangement of code <<-WOK - * xhtml structure error, fix missing - * [bug reported by Mikael Böök] (fix of additional detail) - - * html - * remove unnecessary conversion of some utf-8 characters to html + - [bug reported by Mikael Böök] + - provide full depth epub table of contents [request Mikael Böök] + - cosmetic arrangement of code <<-WOK + - xhtml structure error, fix missing + - [bug reported by Mikael Böök] (fix of additional detail) + + - html + - remove unnecessary conversion of some utf-8 characters to html representation - * texpdf_format - * list of .sty files (and their texlive source within Debian) + - texpdf_format + - list of .sty files (and their texlive source within Debian) [not part of code] - * param, match possible sisu version, detail + - param, match possible sisu version, detail - * sysenv, debug tag, triggered where output type not set + - sysenv, debug tag, triggered where output type not set * sisu_4.0.1.orig.tar.xz (2013-01-01:00/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.1 - * html_segments (by_filename by_filetype) internal document links do not + - html_segments (by_filename by_filetype) internal document links do not work filenames need to include lang code, fixed - * [chals on irc, re live-manual, debian-live] + - [chals on irc, re live-manual, debian-live] - * bin/sisu & sysenv, rc_path_options, provide fixed path to rc files, (used + - bin/sisu & sysenv, rc_path_options, provide fixed path to rc files, (used e.g. to load sisurc.yml) - * options, sysenv, check (existing) inclusions & exclusions command line, + - options, sysenv, check (existing) inclusions & exclusions command line, document header, sisurc, fixes - * plaintext, in code blocks retain a blank empty line, a fix - * [known old bug, affects sisu_manual, fix request from SynrG on irc, re + - plaintext, in code blocks retain a blank empty line, a fix + - [known old bug, affects sisu_manual, fix request from SynrG on irc, re live-manual] - * manpage, attempt to improve output (line-spacing) + - manpage, attempt to improve output (line-spacing) - * param, minor change any legacy
line break in metadata markup to \\ + - param, minor change any legacy
line break in metadata markup to \\ - * debug (internal code use), color markers for line number & file name + - debug (internal code use), color markers for line number & file name (colored location markers to show when line passed within running code) - * control color on/off to screen + - control color on/off to screen close #622171 sisu: --color flag, which toggles color on/off there are various ways to control color output to screen - * --color-off or -k switches color off - * --color or --color-on switches color on, which is usually the default - * --color-toggle or -c toggles the default setting (in most cases) - * sisurc.yml can set default color state which affects most screen output + - --color-off or -k switches color off + - --color or --color-on switches color on, which is usually the default + - --color-toggle or -c toggles the default setting (in most cases) + - sisurc.yml can set default color state which affects most screen output the fix here is specific to color on/off for reporting of sisu version sisu -v -k sisu --version --color-off - * documentation minor updates and regenerated manpage + - documentation minor updates and regenerated manpage * sisu_4.0.0.orig.tar.xz (2012-12-12:50/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.0 - * bin/sisu $0 make possible to run sisu command on/within project dir tree + - bin/sisu $0 make possible to run sisu command on/within project dir tree (previously sisu needed to be correctly installed with system paths honored) NOTE: loading of skins turned off - * bin/sisu $*, hub, make possible to specify dir path for markup files + - bin/sisu $*, hub, make possible to specify dir path for markup files (previously sisu needed to be invoked and run on files within the selected markup file directory) run sisu on markup in given path (or relative path), e.g.: sisu ~/path1/filename.ssm ~/path2/*.ss[tm] - * defaults, some cleaning + - defaults, some cleaning - * skins (remove) - * remove skins - * defaults, rename class Defaults (was InfoSkin) - * sisupod, remove skin, fix path + - skins (remove) + - remove skins + - defaults, rename class Defaults (was InfoSkin) + - sisupod, remove skin, fix path - * db - * no skin info to store, omitted from structure - * change prefix name (structure changed) + - db + - no skin info to store, omitted from structure + - change prefix name (structure changed) - * markup samples, for v4 remove skins, separate (v3 & v4) directories + - markup samples, for v4 remove skins, separate (v3 & v4) directories - * param (header make) - * epub, pdf, book cover images - * html, home button - * text button - * image/icon button - * pdf, footer + - param (header make) + - epub, pdf, book cover images + - html, home button + - text button + - image/icon button + - pdf, footer - * param_make, options, read common make instruction header for documents, + - param_make, options, read common make instruction header for documents, _sisu/v4/sisu_document_make - * @make: - * @links: + - @make: + - @links: - * sisupod, use common make instruction header for documents - * sisupod make instruction header file, write & read + - sisupod, use common make instruction header for documents + - sisupod make instruction header file, write & read - * document headers, metadata rearranged, wide-ranging effect + - document headers, metadata rearranged, wide-ranging effect - * vim syntax, sisu.vim, make new headers + - vim syntax, sisu.vim, make new headers - * documentation; markup samples & help + - documentation; markup samples & help diff --git a/data/doc/sisu/CHANGELOG_v5 b/data/doc/sisu/CHANGELOG_v5 index 862a4f9d..e401eabc 100644 --- a/data/doc/sisu/CHANGELOG_v5 +++ b/data/doc/sisu/CHANGELOG_v5 @@ -4,7 +4,7 @@ SiSU CHANGELOG -*- mode: org; -*- * SiSU version 5 - * debian/changelog + - debian/changelog v5 branch is removed; it is available in sisu < 5.9.0 @@ -12,13 +12,13 @@ v4 branch is removed; it is available in sisu < 5.3.0 v3 branch is removed; it is available in sisu < 4.1.0 v2 branch is removed; it is available in sisu =< 3.3.2 - * homepage at: - * - * - * - * data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_manual.ssm - * data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_download.ssi - * CHANGELOG CHANGELOG_v2 CHANGELOG_v3 README data/doc/sisu/ + - homepage at: + - + - + - + - data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_manual.ssm + - data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_download.ssi + - CHANGELOG CHANGELOG_v2 CHANGELOG_v3 README data/doc/sisu/ * Legacy Branch, Reference @@ -29,59 +29,59 @@ Reverse Chronological: ** sisu_5.9.0.orig.tar.xz (2015-04-21:16/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.9.0 - * merge v6 into v5, and make v6 the default branch, so v5 is legacy + - merge v6 into v5, and make v6 the default branch, so v5 is legacy ** sisu_5.8.0.orig.tar.xz (2015-04-20:16/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.8.0 - * year set 2015 (prepare for the new year) + - year set 2015 (prepare for the new year) - * qi, (quick install) header update (also rbuild) + - qi, (quick install) header update (also rbuild) - * sisu-mode.el emacs, outline mode "folding" for sisu + - sisu-mode.el emacs, outline mode "folding" for sisu - * CHANGELOGS formatted for viewing as org-mode files + - CHANGELOGS formatted for viewing as org-mode files indentation, line-breaking, and formatting characters only changes made - * org files related to sisu - * break up and place in own subdir - * org files, minor editing + - org files related to sisu + - break up and place in own subdir + - org files, minor editing - * code headers reformatted for viewing as org-mode files + - code headers reformatted for viewing as org-mode files - * c&d: project dir structure, libs moved under new branch names - * libs & version files under new branch names: current & develop - * previously under branch version numbers (v5|v6) - * version .yml files moved - * associated adjustments made as required, notably to: + - c&d: project dir structure, libs moved under new branch names + - libs & version files under new branch names: current & develop + - previously under branch version numbers (v5|v6) + - version .yml files moved + - associated adjustments made as required, notably to: bin/sisu se* qi* (file headers) - * [on dir names, want release to precede next/development, + - [on dir names, want release to precede next/development, considered (cur|dev) (current|(dev|development|progress|next)) (stable|unstable), alpha sorting fail (release|(next|develop))] - * version & branch info, changes related to move of lib dirs + - version & branch info, changes related to move of lib dirs - * cgi, search form, html ref, remove leading 'o' ocn, bugfix + - cgi, search form, html ref, remove leading 'o' ocn, bugfix in html (on use of html5), removed leading 'o' before ocn, not reflected in generated cgi, sample search form, so, does not jump to the (otherwise correctly) identified location - * html, - * output by filename, filenames, fix - * ocn link back to self reinstated + - html, + - output by filename, filenames, fix + - ocn link back to self reinstated (requested, used as quick means to get object url reference link) - * po4a, reinstate possibility to initialize po4a management of translated + - po4a, reinstate possibility to initialize po4a management of translated marked up documents, i.e. to place translated versions of a sisu document under po4a management - * SiSU_is switched to a method (instead of a hash) (bin and lib) + - SiSU_is switched to a method (instead of a hash) (bin and lib) - * use RbConfig instead of Config + - use RbConfig instead of Config - * bin/sisu-misc-utils, sisu_thor_lib, currently only for po4a - * uses po4a to create po files with empty translation strings - * in appropriately configured directory e.g. + - bin/sisu-misc-utils, sisu_thor_lib, currently only for po4a + - uses po4a to create po files with empty translation strings + - in appropriately configured directory e.g. "data/doc/sisu/markup-samples/manual" have file named: "languages_source_and_targets" containing e.g.: source: en @@ -91,9 +91,9 @@ Reverse Chronological: ruby ~snx/bin/sisu-misc-utils po4a --next --distclean ruby ~snx/bin/sisu-misc-utils po4a --next --make - * sisu.org addition, modification, consider + - sisu.org addition, modification, consider - * header regex matches for bold & italics auto match possessives ending in 's + - header regex matches for bold & italics auto match possessives ending in 's ** SiSU "UnFrozen" - prior to end of Debian Freeze (upstream bugfix 5.7.2 intended for Jessie (packaged for Debian as 5.7.1-2) @@ -102,7 +102,7 @@ Reverse Chronological: ** sisu_5.7.2.orig.tar.xz (2014-11-02:43/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.7.2 - * ao, composite documents, --verbose report to terminal on loading of *.sst, + - ao, composite documents, --verbose report to terminal on loading of *.sst, fix without fix sisu reports loading of .ssm & .ssi files but not .sst (sub-documents are imported correctly and resulting document outputs are correct and unaffected, but unless aware of this bug it would seem otherwise @@ -117,94 +117,94 @@ Reverse Chronological: ** sisu_5.7.1.orig.tar.xz (2014-10-19:41/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.7.1 - * html - * html_format, "id"s for objects & footnotes - * remove trailing backslash for empty linebreak & paragraph,

+ - html + - html_format, "id"s for objects & footnotes + - remove trailing backslash for empty linebreak & paragraph,

- * db, text search & display field, footnotes moved to end of text object - * cleaner, more useful search results - * cleaner text search field - * separate footnote fields redundant for search purposes + - db, text search & display field, footnotes moved to end of text object + - cleaner, more useful search results + - cleaner text search field + - separate footnote fields redundant for search purposes - * cgi, sample search form, find & display endnotes from parent text object - * remove dedicated endnote search section (as endnotes found & listed from + - cgi, sample search form, find & display endnotes from parent text object + - remove dedicated endnote search section (as endnotes found & listed from reference text field) - * cleaner search results + - cleaner search results ** sisu_5.7.0.orig.tar.xz (2014-10-12:40/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.7.0 - * '*_parts', remove defaults.rb & some relics related to sisu skins (long gone) - * old code removed & substituted as required by *_parts - * attending code changes, fairly wide ranging + - '*_parts', remove defaults.rb & some relics related to sisu skins (long gone) + - old code removed & substituted as required by *_parts + - attending code changes, fairly wide ranging - * html, epub, set document body language + - html, epub, set document body language - * html_format, label, re: object number object names + - html_format, label, re: object number object names - * constants, remove ocn html leader (resulting hashtag #1 instead of #o1) + - constants, remove ocn html leader (resulting hashtag #1 instead of #o1) - * html, reduce difference with v6 - * removal of some trailing slashes


- * mostly removal of bgcolor + - html, reduce difference with v6 + - removal of some trailing slashes


+ - mostly removal of bgcolor - * moved files: harvest* to html_harvest* + - moved files: harvest* to html_harvest* - * --maintenance revisited, bin/sisu, hub, urls --maintenance, fix required + - --maintenance revisited, bin/sisu, hub, urls --maintenance, fix required - * db, --maintenance sql, separated out postgresql & sqlite + - db, --maintenance sql, separated out postgresql & sqlite could share "maintenance" db import sql file (as done previously), consider - * fixes, minor - * qrcode, sha call - * epub tune, --maintenance related + - fixes, minor + - qrcode, sha call + - epub tune, --maintenance related ** sisu_5.6.9.orig.tar.xz (2014-10-03:39/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.6.9 - * --act provides info on current --act0 to --act9 settings (makes it easier to + - --act provides info on current --act0 to --act9 settings (makes it easier to make use of acts 0 to 9) - * html, tiny first nudge toward html5 (document headers and minor) + - html, tiny first nudge toward html5 (document headers and minor) ** sisu_5.6.8.orig.tar.xz (2014-09-28:38/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.6.8 - * sql, clean searchable text, update for (ao/dal) text representation, + - sql, clean searchable text, update for (ao/dal) text representation, fix legacy action ** sisu_5.6.7.orig.tar.xz (2014-09-19:37/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.6.7 - * vim syntax, sisu.vim, update git url and email address + - vim syntax, sisu.vim, update git url and email address - * update urls to git repo + - update urls to git repo ** sisu_5.6.6.orig.tar.xz (2014-09-12:36/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.6.6 - * ao, auto naming (segment & tag), exceptions, avoidance of name collisions + - ao, auto naming (segment & tag), exceptions, avoidance of name collisions - * ao, feedback on markup document structure (heading level) errors + - ao, feedback on markup document structure (heading level) errors adjustment to (existing) provided feedback, based on: - * level A~ title, required; - * levels B~ C~ D~ optional sequential document divider headings + - level A~ title, required; + - levels B~ C~ D~ optional sequential document divider headings (Part, Section etc. equivalent); - * level 1~ required, heading level preceding substantive text; followed by - * levels 2~ 3~ 4~ optional, sequential headings + - level 1~ required, heading level preceding substantive text; followed by + - levels 2~ 3~ 4~ optional, sequential headings (1.1, 1.1.1, 1.1.1.1 equivalents) - * ao, expansion of links to internal filepaths (re: syntax based shortcut) + - ao, expansion of links to internal filepaths (re: syntax based shortcut) (expansion of sisu output filepaths, sync with use of --act0 to --act9) - * se, processing, adjustments to default settings for --act0 to --act9 + - se, processing, adjustments to default settings for --act0 to --act9 - * se, env, lingual: mono / multi, rc settings + - se, env, lingual: mono / multi, rc settings - * sisurc, update samples - * adjustments to default settings for --act0 to --act9 (to match current + - sisurc, update samples + - adjustments to default settings for --act0 to --act9 (to match current "se") - * removed sisurc examples to organize output by + - removed sisurc examples to organize output by filetype, filename, monolingual, as one word diff output_dir_structure_by: language # (language|filetype|(filetype_mono|monolingual)|filename|filename_mono) @@ -219,167 +219,167 @@ Reverse Chronological: # filename_mono # (directory output similar to v1 v2, filename without language code); - * hub, /tmp processing directory checks + - hub, /tmp processing directory checks ** sisu_5.6.5.orig.tar.xz (2014-09-05:35/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.6.5 - * ao_doc_str, if faulty document structure, stop; if --no-stop option, skip + - ao_doc_str, if faulty document structure, stop; if --no-stop option, skip processing document - * ao_numbering, provide more information on duplicate numbering before stop + - ao_numbering, provide more information on duplicate numbering before stop - * html navigation, enable turn off (nav buttons on remaining html segments) + - html navigation, enable turn off (nav buttons on remaining html segments) - * (for html) set default to navigation bar off + - (for html) set default to navigation bar off - * xml xhtml outputs, & issues + - xml xhtml outputs, & issues - * shared_metadata, requires xml_shared + - shared_metadata, requires xml_shared - * link/path fixes, - * manifest, link where no "document harvest" - * html, home button links url (remove slash) - * harvest_authors, by_filetype, manifest path + - link/path fixes, + - manifest, link where no "document harvest" + - html, home button links url (remove slash) + - harvest_authors, by_filetype, manifest path ** sisu_5.6.4.orig.tar.xz (2014-09-01:35/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.6.4 - * cgi_sqlite, allow expansion of variable (default db name), double quotes, + - cgi_sqlite, allow expansion of variable (default db name), double quotes, fix ** sisu_5.6.3.orig.tar.xz (2014-08-29:34/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.6.3 - * hub, sisu version info, when & what to report + - hub, sisu version info, when & what to report - * dp, texpdf, copyright_and_license, minor fix, used by texpdf + - dp, texpdf, copyright_and_license, minor fix, used by texpdf ** sisu_5.6.2.orig.tar.xz (2014-08-20:33/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.6.2 - * hub_options, introduce "error override" --no-stop or --errors-as-warnings flag - * start making use of --no-stop command + - hub_options, introduce "error override" --no-stop or --errors-as-warnings flag + - start making use of --no-stop command - * ao - * book index related - * ao_expand_insertions, blocked text match, adjust + - ao + - book index related + - ao_expand_insertions, blocked text match, adjust - * texpdf, output, copyright & license + - texpdf, output, copyright & license - * syntax hilighting, restrict heading matches, minor - * vim - * emacs + - syntax hilighting, restrict heading matches, minor + - vim + - emacs ** sisu_5.6.1.orig.tar.xz (2014-08-12:32/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.6.1 - * hub, organization & loose ends - * tweak triggers - * split file further - * remove mod + - hub, organization & loose ends + - tweak triggers + - split file further + - remove mod - * webrick, wb.cgi fixed and omitted (use discarded) + - webrick, wb.cgi fixed and omitted (use discarded) ** sisu_5.6.0.orig.tar.xz (2014-08-08:31/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.6.0 - * merged v6 (6.2.0) - * some file renames, fairly extensive - * commandline, --act0 to --act9 & rc-config with act instead of roman + - merged v6 (6.2.0) + - some file renames, fairly extensive + - commandline, --act0 to --act9 & rc-config with act instead of roman numeral - * configurable command line options increased to 0 - 9 (instead of 0 - 5) - * use --act0 to --act9 - * default --act0 - * rc config with flag:act0 to flag:act9 - * legacy roman numeral configuration works (for now) - * internally use opt.act (simplify, cleaner, instead of opt.cmd & opt.mod, + - configurable command line options increased to 0 - 9 (instead of 0 - 5) + - use --act0 to --act9 + - default --act0 + - rc config with flag:act0 to flag:act9 + - legacy roman numeral configuration works (for now) + - internally use opt.act (simplify, cleaner, instead of opt.cmd & opt.mod, now removed) - * extend document structure, headings A - D, 1 - 4 - * sql db table structure changed (needs to be rebuilt) + - extend document structure, headings A - D, 1 - 4 + - sql db table structure changed (needs to be rebuilt) ** sisu_5.5.6.orig.tar.xz (2014-08-08:31/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.5.6 - * remains as 5.5.5 changes for easier comparison with v6 - * file renames - * dp, indentation changed + - remains as 5.5.5 changes for easier comparison with v6 + - file renames + - dp, indentation changed ** sisu_5.5.5.orig.tar.xz (2014-07-29:30/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.5.5 - * ensure reset of parsed document directory path - * needed in the case of html for some subsequent processing + - ensure reset of parsed document directory path + - needed in the case of html for some subsequent processing ** sisu_5.5.4.orig.tar.xz (2014-07-24:29/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.5.4 - * ao_numbering, auto name segment, tweak to make behave as intended + - ao_numbering, auto name segment, tweak to make behave as intended (further testing required) ** sisu_5.5.3.orig.tar.xz (2014-07-23:29/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.5.3 - * db, rescue where no tables attempt to initialize db and retry + - db, rescue where no tables attempt to initialize db and retry (catch db message where no tables and attempt to initialize database) - * internally run the equivalent of --createall - * (if successful) permitting completion of --import or --update command - * make use of action triggers + - internally run the equivalent of --createall + - (if successful) permitting completion of --import or --update command + - make use of action triggers ** sisu_5.5.2.orig.tar.xz (2014-07-22:29/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.5.2 - * bin/sisu, hub, hub close (ensure), remove /tmp/ processing dir + - bin/sisu, hub, hub close (ensure), remove /tmp/ processing dir - * html_lite_shared, issue fix + - html_lite_shared, issue fix - * options, sisupod parsing fix + - options, sisupod parsing fix - * db, reorganize action triggers + - db, reorganize action triggers - * db pg import, fix - * remove dbi from rescue, no longer using ruby-dbi - * ruby-pg query SELECT MAX + - db pg import, fix + - remove dbi from rescue, no longer using ruby-dbi + - ruby-pg query SELECT MAX - * sysenv, - * break up file, multiple se_* files - * revert to use of stub_pwd (instead of new base_markup_dir_stub introduced + - sysenv, + - break up file, multiple se_* files + - revert to use of stub_pwd (instead of new base_markup_dir_stub introduced in 5.5.1) to bring back correct hub (post) processing behavior - * processing shortcuts, options, adjust (refinement necessary) + - processing shortcuts, options, adjust (refinement necessary) ** sisu_5.5.1.orig.tar.xz (2014-07-15:28/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.5.1 - * bin/sisu, hub, options, message pass sisu_called_from_directory + - bin/sisu, hub, options, message pass sisu_called_from_directory - * sysenv, general, base_markup_dir_stub (replace pwd_stub) + - sysenv, general, base_markup_dir_stub (replace pwd_stub) - * ao_numbering, auto name segment, extract "number" from heading, refine + - ao_numbering, auto name segment, extract "number" from heading, refine - * src, sisupod, bring back in line + - src, sisupod, bring back in line - * docbook, - * code & other block markup - * url links, urls - * images, an adjustment - * css (needs work) - * document header, sisu processing info - * docbook status, under construction notice removed (still much to do) + - docbook, + - code & other block markup + - url links, urls + - images, an adjustment + - css (needs work) + - document header, sisu processing info + - docbook status, under construction notice removed (still much to do) - * general, document parts - * css - * base images - * document images + - general, document parts + - css + - base images + - document images ** sisu_5.5.0.orig.tar.xz (2014-07-11:27/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.5.0 - * ao_numbering, - * auto name segment, extract "number" from heading, fix - * check that all auto given number based seg names are unique + - ao_numbering, + - auto name segment, extract "number" from heading, fix + - check that all auto given number based seg names are unique - * ao_composite, nested includes, .ssi (insert) can include .ssi & .sst + - ao_composite, nested includes, .ssi (insert) can include .ssi & .sst ~ .ssm can contain/include .sst or .ssi .sst files can be processed independently, they do not contain other files .ssi files have been only insertions of text & are not processed @@ -408,14 +408,14 @@ Reverse Chronological: ~ requires testing ~ version bump, new behavior added to .ssi one of the 3 sisu filetypes - * src, sisupod composite source, nested includes + - src, sisupod composite source, nested includes follow rules for ao_composite (described above) ** sisu_5.4.5.orig.tar.xz (2014-07-07:27/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.4.5 - * bin/sisu, - * processing dir related + - bin/sisu, + - processing dir related e.g. using live-manual/manual as sample, the following should work as expected, available: ca de en es fr it ja pl pt_BR ro; select: en & ja: sisu --html -v en/live-manual.ssm ja/live-manual.ssm @@ -424,239 +424,239 @@ Reverse Chronological: (these previously would have broken after processing the first directory) sisu command equivalent for all available translations being (unaffected): sisu --html -v --glob live-manual - * some cosmetic long line breaking + - some cosmetic long line breaking - * ao, auto seg naming, adjustments, + - ao, auto seg naming, adjustments, re: seg numbering, fixed width, leading zeros (introduced: 5.4.3 / 6.0.9) ** sisu_5.4.4.orig.tar.xz (2014-07-04:26/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.4.4 - * ao, fix, re seg numbering, fixed width, leading zeros + - ao, fix, re seg numbering, fixed width, leading zeros (introduced: 5.4.3 / 6.0.9) provisional fix (check related issues against 5.4.2 / 6.0.8) ** sisu_5.4.3.orig.tar.xz (2014-07-01:26/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.4.3 - * ao, - * code cosmetic rearrangement - * book index, strip white spaces around terms + - ao, + - code cosmetic rearrangement + - book index, strip white spaces around terms (fix uppercase first character where spaces used) - * quote block, insert text indent markup, exclude book index - * doc objects, layout group open & close identify is_for - * segment numbering, fixed width, leading zeros (for alphanumeric sorting) - - * code cosmetic rearrangement - * ao*, param, hub, options, composite - - * sysenv, developer _CONSTRUCTION_ZONE warning modified - - * merge what was sisu_6.0.8 into v5 - * ao, - * syntax, able optionally to indicate the language syntax of a code block - * syntax, introduce box text block/group - * syntax, introduce tics quotes markup (blockquote equivalent) - * docbook, - * ocn & footnote numbers (as xml comments) - * metadata header (docinfo) - * quotes (blockquote) - * tables - * images - * code block - * vim syntax, add - * code block, language syntax, optional - * box block - * quote block - - * epub, a fix, double check + - quote block, insert text indent markup, exclude book index + - doc objects, layout group open & close identify is_for + - segment numbering, fixed width, leading zeros (for alphanumeric sorting) + + - code cosmetic rearrangement + - ao*, param, hub, options, composite + + - sysenv, developer _CONSTRUCTION_ZONE warning modified + + - merge what was sisu_6.0.8 into v5 + - ao, + - syntax, able optionally to indicate the language syntax of a code block + - syntax, introduce box text block/group + - syntax, introduce tics quotes markup (blockquote equivalent) + - docbook, + - ocn & footnote numbers (as xml comments) + - metadata header (docinfo) + - quotes (blockquote) + - tables + - images + - code block + - vim syntax, add + - code block, language syntax, optional + - box block + - quote block + + - epub, a fix, double check ** sisu_5.4.2.orig.tar.xz (2014-06-22:24/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.4.2 - * ao, fix bug in previous version (5.4.1) from sloppy cherry pick of v6 + - ao, fix bug in previous version (5.4.1) from sloppy cherry pick of v6 ao_doc_str (codeblock) ** sisu_5.4.1.orig.tar.xz (2014-06-19:24/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.4.1 - * ao, - * regex match for tics "```" followed by space tweaked - * Symbol to match grouped text open & close (instead of String) - * introduce way of removing unrecognized tic markers - * turn id numbers (for tags) into a hash - * code blocks, clean trailing newlines - * misc, minorish + - ao, + - regex match for tics "```" followed by space tweaked + - Symbol to match grouped text open & close (instead of String) + - introduce way of removing unrecognized tic markers + - turn id numbers (for tags) into a hash + - code blocks, clean trailing newlines + - misc, minorish ** sisu_5.4.0.orig.tar.xz (2014-05-25:20/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.4.0 - * v5: merge v6 to v5, version bump to 5.4.*, reason adds structure check - * ao, document structure check, stop processing on major error + - v5: merge v6 to v5, version bump to 5.4.*, reason adds structure check + - ao, document structure check, stop processing on major error (with error message & text at location of failure) [reason for version bump the addition of structure check] - * utils, add ok code marker - * ao, heading with no ocn, distinguish ~# from -# - * ~# is general & means no ocn (for any object to which it is applied) - * -# is relevant only for 1~ dummy headings & instructs that they should + - utils, add ok code marker + - ao, heading with no ocn, distinguish ~# from -# + - ~# is general & means no ocn (for any object to which it is applied) + - -# is relevant only for 1~ dummy headings & instructs that they should be removed from output where possible - * applied so far to pdf, odt & plaintext - * ao_images, reduce warnings when ruby RMagic absent as program used + - applied so far to pdf, odt & plaintext + - ao_images, reduce warnings when ruby RMagic absent as program used directly - * reduced dependency on ruby RMagic library (as some time way back had + - reduced dependency on ruby RMagic library (as some time way back had issues) - * ao, document markup structure check, skip processing file on major error - * with error message & text at location of failure - * texpdf, urls in creator cause breakage - * texpdf, mailto markup links set for normal text objects - * texpdf, '&' in heading breaks toc (now removed from toc (not heading)), + - ao, document markup structure check, skip processing file on major error + - with error message & text at location of failure + - texpdf, urls in creator cause breakage + - texpdf, mailto markup links set for normal text objects + - texpdf, '&' in heading breaks toc (now removed from toc (not heading)), bug - * revisit, bug - * texpdf, for urls switch to sans serif (small fontsize) - * instead of typewriter, latex default - * texpdf, pdf colored hyperlinks configurable - * --pdf-hyperlinks-color + - revisit, bug + - texpdf, for urls switch to sans serif (small fontsize) + - instead of typewriter, latex default + - texpdf, pdf colored hyperlinks configurable + - --pdf-hyperlinks-color --pdf-hyperlinks-no-color or --pdf-hyperlinks-monochrome - * ['default']['pdf_hyperlinks']='color' + - ['default']['pdf_hyperlinks']='color' (other options switch hyperlink color off 'no-color' 'color-off' 'monochrome') - * texpdf, pdf default font size configurable (cli & sisurc.yml) + - texpdf, pdf default font size configurable (cli & sisurc.yml) (no fractions) - * --pdf-fontsize-12 --pdf-fontsize-8 - * default: + - --pdf-fontsize-12 --pdf-fontsize-8 + - default: texpdf_fontsize: 12 - * texpdf, headings and table of contents representation - * fixes 1~ and 2~ result in the same formatting + - texpdf, headings and table of contents representation + - fixes 1~ and 2~ result in the same formatting 1~ 2~ & 3~ now differentiated, see discussion in sisu.org under #744383 - * fixes :A smaller formatted than :B + - fixes :A smaller formatted than :B A~ B~ C~ now the same size, see discussion in sisu.org under #744383 - * :B and :C result in the same formatting, issue explained see sisu.org - * texpdf, (internal coding) fontface, rename texpdf_font texpdf_fontface - * texpdf, (internal coding) use symbols to identify page orientation - * param, metadata rights, line-breaks instead of semicolons separating + - :B and :C result in the same formatting, issue explained see sisu.org + - texpdf, (internal coding) fontface, rename texpdf_font texpdf_fontface + - texpdf, (internal coding) use symbols to identify page orientation + - param, metadata rights, line-breaks instead of semicolons separating rights - * fixes remove trailing semicolon after :copyright: - * digests sha512 option implemented - * options sha512 sha256 md5 - * command line --sha512 - * rcconf.yml ['defsault']['digest'] = sha512 - * xml object citation numbering (docbook fictionbook) + - fixes remove trailing semicolon after :copyright: + - digests sha512 option implemented + - options sha512 sha256 md5 + - command line --sha512 + - rcconf.yml ['defsault']['digest'] = sha512 + - xml object citation numbering (docbook fictionbook) ** sisu_5.3.6.orig.tar.xz (2014-05-18:19/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.3.6 - * db, - * use symbols to identify sql engine - * remove require 'dbi' (ruby-dbi) - * for pg: require 'pg' (use ruby-pg directly) - * for sqlite: require 'sqlite3' (use ruby-sqlite3 directly) [already the + - db, + - use symbols to identify sql engine + - remove require 'dbi' (ruby-dbi) + - for pg: require 'pg' (use ruby-pg directly) + - for sqlite: require 'sqlite3' (use ruby-sqlite3 directly) [already the case] - * cgi, sample search form generator - * remove require 'dbi' (ruby-dbi) - * for pg: require 'pg' (use ruby-pg directly) - * for sqlite: require 'sqlite3' (use ruby-sqlite3 directly) + - cgi, sample search form generator + - remove require 'dbi' (ruby-dbi) + - for pg: require 'pg' (use ruby-pg directly) + - for sqlite: require 'sqlite3' (use ruby-sqlite3 directly) ** sisu_5.3.5.orig.tar.xz (2014-05-12:19/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.3.5 - * sisu, ensure return to start dir + - sisu, ensure return to start dir - * ao_syntax, address possible manual use of url delimiters「」 + - ao_syntax, address possible manual use of url delimiters「」 - * composite, fix includes, provide extra newline after inserted comment + - composite, fix includes, provide extra newline after inserted comment (Closes: #744360) "includes do not work properly" - * composite (inserts), missing includes doesn't give an error, fix + - composite (inserts), missing includes doesn't give an error, fix (Closes: #744379) see sisu.org for comment - * param, metadata add 'Copyright:' tag to output related to copyright + - param, metadata add 'Copyright:' tag to output related to copyright (Closes: #744381) syntax: inconsistency \:copyright: and \:license: - * metadata, pdf, remove link to manifest page where --no-manifest is used + - metadata, pdf, remove link to manifest page where --no-manifest is used (Closes: #744378) - * constants, db table sizes synced with v6, not needed by v5 but keeps tables + - constants, db table sizes synced with v6, not needed by v5 but keeps tables compatible - * digests, cleaning + - digests, cleaning - * added sisu.org emacs:evil:org mode notes related to sisu development + - added sisu.org emacs:evil:org mode notes related to sisu development ** sisu_5.3.4.orig.tar.xz (2014-02-14:06/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.3.4 - * ocn, object citation numbering - * add perhaps less cryptic --numbering --no-numbering command-line options - * plaintext & odt switch default to ocn==true for consistency + - ocn, object citation numbering + - add perhaps less cryptic --numbering --no-numbering command-line options + - plaintext & odt switch default to ocn==true for consistency ** sisu_5.3.3.orig.tar.xz (2014-02-08:05/6) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.3.3 - * cgi, search form (generator), using cgi ENV variables + - cgi, search form (generator), using cgi ENV variables - * examples - * nginx conf - * cgi search forms pgsql & sqlite + - examples + - nginx conf + - cgi search forms pgsql & sqlite - * documentation, minor update + - documentation, minor update ** sisu_5.3.2.orig.tar.xz (2014-02-05:05/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.3.2 - * ao, html book index linking, follow --strict option + - ao, html book index linking, follow --strict option - * utils, code markers & messages, notes/warning/errors, fix + - utils, code markers & messages, notes/warning/errors, fix - * sysenv, concordance redirected paths, watch + - sysenv, concordance redirected paths, watch - * manual Rakefile, README & minor config adjustment + - manual Rakefile, README & minor config adjustment ** sisu_5.3.1.orig.tar.xz (2014-02-05:05/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.3.1 - * ao, document tags + - ao, document tags - * options - * --strict html option - * ocn switch on/off instructions (& defaults for plaintext & odt) + - options + - --strict html option + - ocn switch on/off instructions (& defaults for plaintext & odt) - * html cleaning - * --strict html option + - html cleaning + - --strict html option (various changes, e.g. ocn [url]#37 only available as [url]#o37) - * tags - * endnote name and nameref (make compliant) + - tags + - endnote name and nameref (make compliant) - * epub - * use same endnote name and nameref as introduced here for html - * hash digests used only if availabile (availability check) + - epub + - use same endnote name and nameref as introduced here for html + - hash digests used only if availabile (availability check) - * ocn turn on/off rules - * txt - * odt + - ocn turn on/off rules + - txt + - odt - * cgi (pgsql, sqlite) fixes + - cgi (pgsql, sqlite) fixes - * error/warn messages, including wrappers round require + - error/warn messages, including wrappers round require - * documentation, manpage README etc. - * sisu manual directory moved - * sisu manual updated - * README & sisu.1 (manpage) updated - * removed html man pages (man2html) + - documentation, manpage README etc. + - sisu manual directory moved + - sisu manual updated + - README & sisu.1 (manpage) updated + - removed html man pages (man2html) ** sisu_5.3.0.orig.tar.xz (2014-01-26:03/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.3.0 - * v5 stable branch - * v4 branch closed -(>4.2.20)- - * v5 stable branch (>=5.3.0) - * v6 development branch opened (copy v5) (>=6.0.0) + - v5 stable branch + - v4 branch closed -(>4.2.20)- + - v5 stable branch (>=5.3.0) + - v6 development branch opened (copy v5) (>=6.0.0) ** sisu_5.2.4.orig.tar.xz (2014-01-26:03/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.2.4 - * bin/sisu changes to simplify switching to new stable and development + - bin/sisu changes to simplify switching to new stable and development branches ** sisu_5.2.3.orig.tar.xz (2014-01-20:03/1) @@ -665,42 +665,42 @@ Reverse Chronological: [good time to consider rollover: closing v4 branch, replacing it with v5 & introducing v6 for development, proposed for this release + 1] - * bin/sisu & some related lib changes + - bin/sisu & some related lib changes - * sysenv for texpdf, fix for when tex to pdf generator is absent + - sysenv for texpdf, fix for when tex to pdf generator is absent ** sisu_5.2.2.orig.tar.xz (2014-01-17:02/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.2.2 - * bin/sisu experimentation - * start preparing for ruby changes - * work on fix for bug related to gem path & system installed sisu + - bin/sisu experimentation + - start preparing for ruby changes + - work on fix for bug related to gem path & system installed sisu ** sisu_5.2.1.orig.tar.xz (2014-01-12:01/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.2.1 - * ao, add counter for various grouped / blocked texts & tables, of particular + - ao, add counter for various grouped / blocked texts & tables, of particular use for poems which are broken into verse - * recalibrate headings, downstream code fixes + - recalibrate headings, downstream code fixes - * texinfo, fixes + - texinfo, fixes - * texpdf, report on pdf output, provide a working link to a generated + - texpdf, report on pdf output, provide a working link to a generated file-size (multiple document file-sizes may be produced) - * asciidoc, file extension (for now .ad), inline footnotes, minor + - asciidoc, file extension (for now .ad), inline footnotes, minor ** sisu_5.2.0.orig.tar.xz (2014-01-06:01/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.2.0 - * single document root A~ (recalibrate headings); level D~ possible - * :A~ document title, single document root (ln==0) - * introduce additional possible heading level, D~ - * markup rule change: single document root - * breaks much downstream code, recalibrate (fix, test, fix & test again) - * heading recalibration, code (downstream) changes - * v4 & v5 bifurcate (diverge "un-merge-ably") + - single document root A~ (recalibrate headings); level D~ possible + - :A~ document title, single document root (ln==0) + - introduce additional possible heading level, D~ + - markup rule change: single document root + - breaks much downstream code, recalibrate (fix, test, fix & test again) + - heading recalibration, code (downstream) changes + - v4 & v5 bifurcate (diverge "un-merge-ably") Notes, rule imposed: heading level A~ becomes, document title & sole document root. Significant as an expressed rule/principle, it simplifies @@ -720,38 +720,38 @@ introducing v6 for development, proposed for this release + 1] requires levels A-D & 1, and in previous versions of sisu exceptionally required multiple level A's (using levels A-C & 1) - * vim syntax, updated to allow for possible level D~ + - vim syntax, updated to allow for possible level D~ - * bin/sisu - * (ensure SiSU_version_dir) fix - * sisu version info, yml info also when installed via ruby gem - * downstream libs + - bin/sisu + - (ensure SiSU_version_dir) fix + - sisu version info, yml info also when installed via ruby gem + - downstream libs - * fixes - * ao_doc_str, nodes, possible parents, correction - * epub, url closure decoration - * sysenv, qrcode report absent program, minor - * html scroll toc, clean links where none, exclude metadata + - fixes + - ao_doc_str, nodes, possible parents, correction + - epub, url closure decoration + - sysenv, qrcode report absent program, minor + - html scroll toc, clean links where none, exclude metadata - * asciidoc, rename AsciiDoc module, & recalibrate headings + - asciidoc, rename AsciiDoc module, & recalibrate headings - * docbook, fictionbook, some tidying + - docbook, fictionbook, some tidying - * cosmetic, code case statement + - cosmetic, code case statement - * year updated, code headers + - year updated, code headers ** sisu_5.1.3.orig.tar.xz (2013-12-15:49/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.1.3 - * Rakefile, (installer), reduce actions + - Rakefile, (installer), reduce actions ** sisu_5.1.2.orig.tar.xz (2013-12-09:49/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.1.2 - * Rakefile, (installer) improve, re-arrange + - Rakefile, (installer) improve, re-arrange - * docbook, structure, a fix + - docbook, structure, a fix (construction zone: structure okish; docbook generated not usable) [NOTE disk crash (2013-12-05), fairly good but incomplete backup affecting work] @@ -759,338 +759,338 @@ introducing v6 for development, proposed for this release + 1] ** sisu_5.1.1.orig.tar.xz (2013-12-03:48/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.1.1 - * rake create build & install sisu gemspec; (.gitignore), work on - * gemspec adjusted to install only libraries related to a version (v4 or v5) - * select sisu version to create, build & install + - rake create build & install sisu gemspec; (.gitignore), work on + - gemspec adjusted to install only libraries related to a version (v4 or v5) + - select sisu version to create, build & install - * bin/sisu, simplify in relation to sisu gem + - bin/sisu, simplify in relation to sisu gem ** sisu_5.1.0.orig.tar.xz (2013-12-02:48/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.1.0 - * ao_doc_str, changes related to headings provided for document structure + - ao_doc_str, changes related to headings provided for document structure without ocn, testing required - * ao endnotes, removed a space that should no longer be necessary, + - ao endnotes, removed a space that should no longer be necessary, testing required - * minor code related to line breaks, various locations + - minor code related to line breaks, various locations - * renaming of modules - * use AO instead of DAL + - renaming of modules + - use AO instead of DAL - * renaming of files - * ao*.rb instead of dal*.rb + - renaming of files + - ao*.rb instead of dal*.rb ao (abstract objects) shorter, also easily searched, higher sort location abstract as representation of & extraction of document objects (dal (document abstraction layer)) - * shared files e.g. shared_xml becomes xml_shared - * plaintext becomes txt_plain - * epub becomes xhtml_epub2 - * odf becomes xml_odf_odt - * xml sax file renamed xml_sax.rb (from xml.rb) - - * new outputs under development, CONSTRUCTION_ZONE - * plaintext, smarttext - * textile - * asciidoc - * markdown - * rst - * xml - * docbook, book - * fictionbook - - * sisu.gemspec - - * xmlns xlink using xl - - * rake create build & install sisu gemspec; bin/sisugem (add .gitignore) - * rake gemcbi #(create build install sisu gem) - * rake gemspecscreate && \ + - shared files e.g. shared_xml becomes xml_shared + - plaintext becomes txt_plain + - epub becomes xhtml_epub2 + - odf becomes xml_odf_odt + - xml sax file renamed xml_sax.rb (from xml.rb) + + - new outputs under development, CONSTRUCTION_ZONE + - plaintext, smarttext + - textile + - asciidoc + - markdown + - rst + - xml + - docbook, book + - fictionbook + + - sisu.gemspec + + - xmlns xlink using xl + + - rake create build & install sisu gemspec; bin/sisugem (add .gitignore) + - rake gemcbi #(create build install sisu gem) + - rake gemspecscreate && \ rake gembuild && \ sudo rake geminstall - * rake gemspecscreate && \ + - rake gemspecscreate && \ gem build sisu5.gemspec && \ sudo gem install --no-rdoc --no-ri \ sisu-5.1.0.gem - * bin/sisu updated (modified to take account of gems) - * bin/sisugem added - * .gitignore sisu-*.gem sisu*.gemspec + - bin/sisu updated (modified to take account of gems) + - bin/sisugem added + - .gitignore sisu-*.gem sisu*.gemspec consider inclusion (& tracking) of rake created sisu4.gemspec sisu5.gemspec (as this makes their availability more obvious) - * once gem is installed: "sisu _5.1.0_ -vM" (to see version, commands + - once gem is installed: "sisu _5.1.0_ -vM" (to see version, commands otherwise as usual) if paths are such that sisu is not available "sisugem _5.1.0_ -vM" should work (as it is installed by gemspec, but not other sisu installers) - * hub, sisu5 -M (maintenance mode) provide info as to path to hub.rb + - hub, sisu5 -M (maintenance mode) provide info as to path to hub.rb (i.e. where library is being drawn) - * documentation related to commands for new outputs in development + - documentation related to commands for new outputs in development ** sisu_5.0.25.orig.tar.xz (2013-11-08:44/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.25 - * rake (& rant) sisu installer - * do less by default - * removed rant generated sisu-install + - rake (& rant) sisu installer + - do less by default + - removed rant generated sisu-install - * vim, ftplugin sisu.vim, fix missing + - vim, ftplugin sisu.vim, fix missing - * sisu_manual, minor info addition + - sisu_manual, minor info addition - * bin/sisu-* - * use option flag full names - * add sisu-html-scroll, sisu-html-seg, sisu-pdf-portrait, sisu-pdf-landscape + - bin/sisu-* + - use option flag full names + - add sisu-html-scroll, sisu-html-seg, sisu-pdf-portrait, sisu-pdf-landscape ** sisu_5.0.24.orig.tar.xz (2013-11-05:44/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.24 - * xml, scaffold, re-activated, split into sisu structure & collapsed structure + - xml, scaffold, re-activated, split into sisu structure & collapsed structure ** sisu_5.0.23.orig.tar.xz (2013-11-02:43/6) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.23 - * constants, ocn output delimiter (where used) changed to 「...」 + - constants, ocn output delimiter (where used) changed to 「...」 (from square brackets [...]) - * plaintext - * reorganize + - plaintext + - reorganize ** sisu_5.0.22.orig.tar.xz (2013-10-27:42/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.22 - * dal, document_structure_check_info + - dal, document_structure_check_info ** sisu_5.0.21.orig.tar.xz (2013-10-23:42/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.21 - * options & downstream, more use of opt.act.*.set==:on instead of + - options & downstream, more use of opt.act.*.set==:on instead of opt.cmd =~/\S/ - * dal, parent & node info, fix + - dal, parent & node info, fix (used e.g. for mind map type output (last for kdissert output, no longer supported)) - * dal, collapsed levels implemented + - dal, collapsed levels implemented convenience, collapse sisu's dual level document structure for output of markup with straight linear structure ** sisu_5.0.20.orig.tar.xz (2013-10-17:41/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.20 - * constants, change a couple of internal processing delimiter characters, that + - constants, change a couple of internal processing delimiter characters, that might be used in ordinary marked up text (to characters even less likely to be of use in ordinary (marked up) text) ** sisu_5.0.19.orig.tar.xz (2013-10-16:41/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.19 - * constants, change a couple of internal processing delimiter characters, that + - constants, change a couple of internal processing delimiter characters, that might be used in ordinary marked up text - * vim, minor updates, not syntax related + - vim, minor updates, not syntax related - * markup sample, update book index markup, appearance, minor + - markup sample, update book index markup, appearance, minor ** sisu_5.0.18.orig.tar.xz (2013-09-22:37/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.18 - * bin/sisu update language list ja ko zh, fix + - bin/sisu update language list ja ko zh, fix ** sisu_5.0.17.orig.tar.xz (2013-09-21:37/6) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.17 - * i18n CJK: zh ja ko, add languages Chinese, Japanese, Korean - * texpdf, has large texlive xetex dependencies (Korean untested) - * [concordance, untouched does nothing cjk, decide whether to disable] + - i18n CJK: zh ja ko, add languages Chinese, Japanese, Korean + - texpdf, has large texlive xetex dependencies (Korean untested) + - [concordance, untouched does nothing cjk, decide whether to disable] - * sisu_manual, (in markup-samples) move to en/ sub-dir (permitting + - sisu_manual, (in markup-samples) move to en/ sub-dir (permitting translations) - * use of language sub-dir for source sisu markup suited to permitting + - use of language sub-dir for source sisu markup suited to permitting translation management by po4a - * sisurc.yml minor - * Rakefile to help place sisu markup in a source language directory under + - sisurc.yml minor + - Rakefile to help place sisu markup in a source language directory under po4a management - * Rakefile to assist in placing sisu markup under po4a management + - Rakefile to assist in placing sisu markup under po4a management (sisu_manual) - * Provided as an example with sisu_manual - * fairly generic, but potentially dangerous, can be used to place sisu + - Provided as an example with sisu_manual + - fairly generic, but potentially dangerous, can be used to place sisu markup source translations under po4a management, but user needs to know what this is, (and how to set it up, hence sisu_manual as an example (despite the lack of translations)) as can clobber/destroy files that are not managed by po4a. - * minor cleaning + - minor cleaning ** sisu_5.0.16.orig.tar.xz (2013-09-07:35/6) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.16 - * dal, book index, hash key, strip whitespace, a (required) fix + - dal, book index, hash key, strip whitespace, a (required) fix - * db, book index, convert hash back to string + - db, book index, convert hash back to string ** sisu_5.0.15.orig.tar.xz (2013-09-05:35/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.15 - * dal, objects, store book index as hash (simplify downstream processing) + - dal, objects, store book index as hash (simplify downstream processing) - * dal, book index markup, allow spaces on both sides of delimiters, or a space + - dal, book index markup, allow spaces on both sides of delimiters, or a space before and newline following a delimiter \s+[:|;](\s+|\n) [else parses as before no spaces] - * vim syntax, book index markup, hilight delimeters + - vim syntax, book index markup, hilight delimeters ** sisu_5.0.14.orig.tar.xz (2013-08-28:34/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.14 - * config files (by filetype & filename) touched + - config files (by filetype & filename) touched - * manifest, output organised by, info, minor touch + - manifest, output organised by, info, minor touch - * vim syntax, sisu.vim, fix typo - * ocn (object numbering) on, off, text block using "--~#" "---#" "--+#" + - vim syntax, sisu.vim, fix typo + - ocn (object numbering) on, off, text block using "--~#" "---#" "--+#" - * dal - * grouped text with fontface spanning newlines, partial solution, test - * text blocks, tuning + - dal + - grouped text with fontface spanning newlines, partial solution, test + - text blocks, tuning - * pdf (latex) tables, bugfix + - pdf (latex) tables, bugfix - * odf:odt, footnotes, fix + - odf:odt, footnotes, fix ** sisu_5.0.13.orig.tar.xz (2013-08-25:33/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.13 - * dal, refine grouped text open and close using tics "```" + - dal, refine grouped text open and close using tics "```" [note use of "~~" considered but more problematic, (tics not used elsewhere)] - * dal, improve font face matching within grouped text (other than code blocks) + - dal, improve font face matching within grouped text (other than code blocks) - * vim syntax, improve grouped text match, open, close of blocks using tics + - vim syntax, improve grouped text match, open, close of blocks using tics "```" - * css, html, epub, adjust paragraph spacing, (increase, whitespace aesthetic, + - css, html, epub, adjust paragraph spacing, (increase, whitespace aesthetic, review further) ** sisu_5.0.12.orig.tar.xz (2013-08-21:33/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.12 - * syntax add - * switch ocn off and on for a block of content, line containing only + - syntax add + - switch ocn off and on for a block of content, line containing only off: "--~#" (omit headings where possible) "---#" on: "--+#" - * alternative open and close for blocks using line starting with "```", e.g. + - alternative open and close for blocks using line starting with "```", e.g. open code block: "``` code" close code block: "```" start poem: "``` poem" end poem: "```" - * remove need for an empty line between opening & closing of a text block + - remove need for an empty line between opening & closing of a text block - * vim syntax, add - * ocn (object numbering) on, off, text block using "--~#" "---#" "--+#" - * grouped text, open, close of blocks using tics "```" + - vim syntax, add + - ocn (object numbering) on, off, text block using "--~#" "---#" "--+#" + - grouped text, open, close of blocks using tics "```" - * messages to terminal - * code marker - * rescued error messages - * fuchsia (sp.) + - messages to terminal + - code marker + - rescued error messages + - fuchsia (sp.) ** sisu_5.0.11.orig.tar.xz (2013-08-08:31/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.11 - * dal_expand_insertions, refinement for monolingual output + - dal_expand_insertions, refinement for monolingual output ** sisu_5.0.10.orig.tar.xz (2013-08-08:31/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.10 - * output structure by, multilingual, monolingual filenames tweak + - output structure by, multilingual, monolingual filenames tweak ** sisu_5.0.9.orig.tar.xz (2013-08-01:30/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.9 - * output structure by :filename or :filetype, multilingual default, fix + - output structure by :filename or :filetype, multilingual default, fix - * concordance, fix + - concordance, fix ** sisu_5.0.8.orig.tar.xz (2013-07-30:30/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.8 - * output structure by, add monolingual alternative for :filetype or :filename - * filename without language code, if document is in default language - * set a default language, 'en' or as specified - * set in rc file or from command line instruction - * command line e.g. + - output structure by, add monolingual alternative for :filetype or :filename + - filename without language code, if document is in default language + - set a default language, 'en' or as specified + - set in rc file or from command line instruction + - command line e.g. sisu -hv --monolingual --by-filename sisu_markup.sst sisu -3v --monolingual --by-filetype sisu_manual.ssm - * sisurc.yml lingual: 'mono' | 'multi' + - sisurc.yml lingual: 'mono' | 'multi' lingual: 'mono' - * note: output by :filetype is roughly equivalent to what monolingual output + - note: output by :filetype is roughly equivalent to what monolingual output by :language would be - * allow command line setting of default language using language code + - allow command line setting of default language using language code --default-language='en' --default-lang-en if used together with --monolingual and --by-filetype or --by-filename the selected default language document will not have a language code in the output filename - * documentation + - documentation - * cgi helper script, sample search form - * single cgi form, (with different internal variables set for output types) - * monolingual output search form option + - cgi helper script, sample search form + - single cgi form, (with different internal variables set for output types) + - monolingual output search form option ** sisu_5.0.7.orig.tar.xz (2013-06-25:25/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.7 - * "general code cleaning" fix + - "general code cleaning" fix ** sisu_5.0.6.orig.tar.xz (2013-06-25:25/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.6 - * "general code cleaning" fix + - "general code cleaning" fix ** sisu_5.0.5.orig.tar.xz (2013-06-22:24/6) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.5 - * vim - * colorscheme def, mark current line - * ftplugin sisu.vim, c-\ hard wrap lines to line width (moved from c-j) + - vim + - colorscheme def, mark current line + - ftplugin sisu.vim, c-\ hard wrap lines to line width (moved from c-j) - * general code cleaning, propagate back to v4 after testing + - general code cleaning, propagate back to v4 after testing ** sisu_5.0.4.orig.tar.xz (2013-06-06:22/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.4 - * db, population of database (--update), import of master files (.ssm), fix + - db, population of database (--update), import of master files (.ssm), fix (Note: for .ssm: @md.fns (is set during runtime & is) != @opt.fns @md.opt.fns, affects construction of unique identifier) - * cgi helper script, sample search form generator - * file name matching, check - * cosmetic, drop use of images in sample form + - cgi helper script, sample search form generator + - file name matching, check + - cosmetic, drop use of images in sample form - * sysenv, requested load warning removed, less screen clutter, consider + - sysenv, requested load warning removed, less screen clutter, consider ** sisu_5.0.3.orig.tar.xz (2013-05-30:21/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.3 - * sysenv, pgsql db connect fix + - sysenv, pgsql db connect fix - * cgi_pgsql, cgi helper script, sample search form generator, detail + - cgi_pgsql, cgi helper script, sample search form generator, detail ** sisu_5.0.2.orig.tar.xz (2013-05-29:21/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.2 - * help update, concentrate on man pages - * documentation, manpage update - * interactive help, out of date, removed + - help update, concentrate on man pages + - documentation, manpage update + - interactive help, out of date, removed - * document version check, disable - * automatic check disabled - * check and correction of pre 0.38 markup removed + - document version check, disable + - automatic check disabled + - check and correction of pre 0.38 markup removed - * sysenv, version info moved here from help + - sysenv, version info moved here from help - * cgi helper script sample search form generator, adjust/improve, adds + - cgi helper script sample search form generator, adjust/improve, adds settings: db type --db-pq or db-sqlite webserver for cgi script & db --webserv-search='' @@ -1101,15 +1101,15 @@ introducing v6 for development, proposed for this release + 1] ** sisu_5.0.1.orig.tar.xz (2013-05-18:19/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.1 - * vim, ftplugin, sisu.vim, statusline + - vim, ftplugin, sisu.vim, statusline - * cgi script for sample search form generator, sqlite, minor fixes (affects + - cgi script for sample search form generator, sqlite, minor fixes (affects 'sisu -F') ** sisu_5.0.0.orig.tar.xz (2013-05-08:18/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.0.0 - * v5: opened - * v3 closed + - v5: opened + - v3 closed v5 opened diff --git a/data/doc/sisu/CHANGELOG_v6 b/data/doc/sisu/CHANGELOG_v6 index b243ee1b..f6ab1d1e 100644 --- a/data/doc/sisu/CHANGELOG_v6 +++ b/data/doc/sisu/CHANGELOG_v6 @@ -12,9 +12,9 @@ v4 branch is removed; it is available in sisu < 5.3.0 v3 branch is removed; it is available in sisu < 4.1.0 v2 branch is removed; it is available in sisu =< 3.3.2 - * homepages: - * data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_manual.ssm - * CHANGELOG CHANGELOG_v2 CHANGELOG_v3 README data/doc/sisu/ + - homepages: + - data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_manual.ssm + - CHANGELOG CHANGELOG_v2 CHANGELOG_v3 README data/doc/sisu/ Reverse Chronological: @@ -23,87 +23,87 @@ Reverse Chronological: * sisu_6.5.0.orig.tar.xz (2015-04-21:16/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.4.1 - * v6 made the default branch (prior to restructuring for v7) + - v6 made the default branch (prior to restructuring for v7) * sisu_6.4.0.orig.tar.xz (2015-04-20:16/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.4.0 - * year set 2015 (prepare for the new year) + - year set 2015 (prepare for the new year) - * qi, (quick install) header update (also rbuild) + - qi, (quick install) header update (also rbuild) - * sisu-mode.el emacs, outline mode "folding" for sisu + - sisu-mode.el emacs, outline mode "folding" for sisu - * CHANGELOGS formatted for viewing as org-mode files + - CHANGELOGS formatted for viewing as org-mode files indentation, line-breaking, and formatting characters only changes made - * org files related to sisu - * break up and place in own subdir - * org files, minor editing + - org files related to sisu + - break up and place in own subdir + - org files, minor editing - * code headers reformatted for viewing as org-mode files + - code headers reformatted for viewing as org-mode files - * c&d: project dir structure, libs moved under new branch names - * libs & version files under new branch names: current & develop - * previously under branch version numbers (v5|v6) - * version .yml files moved - * associated adjustments made as required, notably to: + - c&d: project dir structure, libs moved under new branch names + - libs & version files under new branch names: current & develop + - previously under branch version numbers (v5|v6) + - version .yml files moved + - associated adjustments made as required, notably to: bin/sisu se* qi* (file headers) - * [on dir names, want release to precede next/development, + - [on dir names, want release to precede next/development, considered (cur|dev) (current|(dev|development|progress|next)) (stable|unstable), alpha sorting fail (release|(next|develop))] - * version & branch info, changes related to move of lib dirs - * track changes to sisu_version info - * in dp (param) project_details used instead of sisu_version + - version & branch info, changes related to move of lib dirs + - track changes to sisu_version info + - in dp (param) project_details used instead of sisu_version - * misc minor - * html endnote segment, endnote in heading, link back to html scroll - * epub endnote segment fails, issue with match, fix - * dp, remark if no existing option selected + - misc minor + - html endnote segment, endnote in heading, link back to html scroll + - epub endnote segment fails, issue with match, fix + - dp, remark if no existing option selected - * ao, rearrange, introduce new file + - ao, rearrange, introduce new file - * reorganize, introduce new file(s) - * txt outputs - * html segments - * epub - * xmls - * address related garbage collection issue + - reorganize, introduce new file(s) + - txt outputs + - html segments + - epub + - xmls + - address related garbage collection issue - * orgmode, add orgmode structure output to txts + - orgmode, add orgmode structure output to txts - * cgi, search form, html ref, remove leading 'o' ocn, bugfix + - cgi, search form, html ref, remove leading 'o' ocn, bugfix in html (on use of html5), removed leading 'o' before ocn, not reflected in generated cgi, sample search form, so, does not jump to the (otherwise correctly) identified location - * html, - * output by filename, filenames, fix - * ocn link back to self reinstated + - html, + - output by filename, filenames, fix + - ocn link back to self reinstated (removed ocn_html_identifier variable, unnecessary in html5, requirement previously forced by html4) (requested, used as quick means to get object url reference link) - * po4a, reinstate possibility to initialize po4a management of translated + - po4a, reinstate possibility to initialize po4a management of translated marked up documents, i.e. to place translated versions of a sisu document under po4a management (provide po4a.cfg file) NOTE: shelf, abandon, change tack (for now at least) explore a different way - * utils_composite, composite documents (.ssm) extract the list of insert files + - utils_composite, composite documents (.ssm) extract the list of insert files - * utils_response, - * rely on module (remove class) extend module - * ease selection options + - utils_response, + - rely on module (remove class) extend module + - ease selection options - * SiSU_is switched to a method (instead of a hash) (bin and lib) + - SiSU_is switched to a method (instead of a hash) (bin and lib) - * use RbConfig instead of Config + - use RbConfig instead of Config - * bin/sisu-misc-utils, sisu_thor_lib, currently only for po4a - * uses po4a to create po files with empty translation strings - * in appropriately configured directory e.g. + - bin/sisu-misc-utils, sisu_thor_lib, currently only for po4a + - uses po4a to create po files with empty translation strings + - in appropriately configured directory e.g. "data/doc/sisu/markup-samples/manual" have file named: "languages_source_and_targets" containing e.g.: source: en @@ -113,29 +113,29 @@ Reverse Chronological: ruby ~snx/bin/sisu-misc-utils po4a --next --distclean ruby ~snx/bin/sisu-misc-utils po4a --next --make - * under data/.../manual sisu po4a a ruby thor (Rakefile equivalent) + - under data/.../manual sisu po4a a ruby thor (Rakefile equivalent) - * sisu.org addition, modification, consider + - sisu.org addition, modification, consider - * header regex matches for bold & italics auto match possessives ending in 's + - header regex matches for bold & italics auto match possessives ending in 's - * manpage, fix (require) + - manpage, fix (require) - * manifest, html ids added to label/identify content + - manifest, html ids added to label/identify content - * ao and elsewhere, use of map and select + - ao and elsewhere, use of map and select - * ao bibliography / references, provide tools to assist in making (first pass) - * change end sequence: auto generated endnote section; bibliography; + - ao bibliography / references, provide tools to assist in making (first pass) + - change end sequence: auto generated endnote section; bibliography; book index if any either: - * create a tagged bibliography list at end of document, also providing + - create a tagged bibliography list at end of document, also providing an id for use in footnotes, and the short title that is to appear in footnotes or: - * tag footnote citations that should appear in the bibliography + - tag footnote citations that should appear in the bibliography - * documentation, update to mention bibliography + - documentation, update to mention bibliography * SiSU "UnFrozen" - prior to end of Debian Freeze (upstream bugfix 6.3.2 (5.7.2) intended for Jessie (packaged for Debian as @@ -144,7 +144,7 @@ Reverse Chronological: * sisu_6.3.2.orig.tar.xz (2014-11-02:43/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.3.2 - * ao, composite documents, --verbose report to terminal on loading of *.sst, + - ao, composite documents, --verbose report to terminal on loading of *.sst, fix without fix sisu reports loading of .ssm & .ssi files but not .sst (sub-documents are imported correctly and resulting document outputs are correct and unaffected, but unless aware of this bug it would seem otherwise @@ -159,91 +159,91 @@ Reverse Chronological: * sisu_6.3.1.orig.tar.xz (2014-10-19:41/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.3.1 - * html - * html_format, "id"s for objects & footnotes - * remove trailing backslash for empty linebreak & paragraph,

+ - html + - html_format, "id"s for objects & footnotes + - remove trailing backslash for empty linebreak & paragraph,

- * db, text search & display field, footnotes moved to end of text object - * cleaner, more useful search results - * cleaner text search field - * separate footnote fields redundant for search purposes + - db, text search & display field, footnotes moved to end of text object + - cleaner, more useful search results + - cleaner text search field + - separate footnote fields redundant for search purposes - * cgi, sample search form, find & display endnotes from parent text object - * remove dedicated endnote search section (as endnotes found & listed from + - cgi, sample search form, find & display endnotes from parent text object + - remove dedicated endnote search section (as endnotes found & listed from reference text field) - * cleaner search results + - cleaner search results * sisu_6.3.0.orig.tar.xz (2014-10-12:40/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.3.0 - * '*_parts', remove defaults.rb & some relics related to sisu skins (long + - '*_parts', remove defaults.rb & some relics related to sisu skins (long gone) - * old code removed & substituted as required by *_parts - * attending code changes, fairly wide ranging, test + - old code removed & substituted as required by *_parts + - attending code changes, fairly wide ranging, test - * html, epub, set document body language + - html, epub, set document body language - * html_format, label, re: object number object names + - html_format, label, re: object number object names - * constants, remove ocn html leader (resulting hashtag #1 instead of #o1) + - constants, remove ocn html leader (resulting hashtag #1 instead of #o1) - * moved files: harvest* to html_harvest* + - moved files: harvest* to html_harvest* - * --maintenance revisited, bin/sisu, hub, urls --maintenance, fix required + - --maintenance revisited, bin/sisu, hub, urls --maintenance, fix required - * db, --maintenance sql, separated out postgresql & sqlite + - db, --maintenance sql, separated out postgresql & sqlite could share "maintenance" db import sql file (as done previously), consider - * fixes, minor - * qrcode, sha call - * epub tune, --maintenance related + - fixes, minor + - qrcode, sha call + - epub tune, --maintenance related * sisu_6.2.10.orig.tar.xz (2014-10-03:39/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.2.10 - * --act provides info on current --act0 to --act9 settings (makes it easier to + - --act provides info on current --act0 to --act9 settings (makes it easier to make use of acts 0 to 9) - * html, tiny first nudge toward html5 (document headers and minor) + - html, tiny first nudge toward html5 (document headers and minor) * sisu_6.2.9.orig.tar.xz (2014-09-28:38/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.2.9 - * sql, clean searchable text, update for (ao/dal) text representation, + - sql, clean searchable text, update for (ao/dal) text representation, fix legacy action * sisu_6.2.8.orig.tar.xz (2014-09-19:37/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.2.8 - * vim syntax, sisu.vim, update git url and email address + - vim syntax, sisu.vim, update git url and email address - * update urls to git repo + - update urls to git repo * sisu_6.2.7.orig.tar.xz (2014-09-12:36/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.2.7 - * ao, auto naming (segment & tag), exceptions, avoidance of name collisions + - ao, auto naming (segment & tag), exceptions, avoidance of name collisions - * ao, feedback on markup document structure (heading level) errors + - ao, feedback on markup document structure (heading level) errors adjustment to (existing) provided feedback, based on: - * level A~ title, required; - * levels B~ C~ D~ optional sequential document divider headings + - level A~ title, required; + - levels B~ C~ D~ optional sequential document divider headings (Part, Section etc. equivalent); - * level 1~ required, heading level preceding substantive text; followed by - * levels 2~ 3~ 4~ optional, sequential headings + - level 1~ required, heading level preceding substantive text; followed by + - levels 2~ 3~ 4~ optional, sequential headings (1.1, 1.1.1, 1.1.1.1 equivalents) - * ao, expansion of links to internal filepaths (re: syntax based shortcut) + - ao, expansion of links to internal filepaths (re: syntax based shortcut) (expansion of sisu output filepaths, sync with use of --act0 to --act9) - * se, processing, adjustments to default settings for --act0 to --act9 + - se, processing, adjustments to default settings for --act0 to --act9 - * se, env, lingual: mono / multi, rc settings + - se, env, lingual: mono / multi, rc settings - * sisurc, update samples - * adjustments to default settings for --act0 to --act9 (to match current + - sisurc, update samples + - adjustments to default settings for --act0 to --act9 (to match current "se") - * removed sisurc examples to organize output by + - removed sisurc examples to organize output by filetype, filename, monolingual, as one word diff output_dir_structure_by: language # (language|filetype|(filetype_mono|monolingual)|filename|filename_mono) @@ -258,164 +258,164 @@ Reverse Chronological: # filename_mono # (directory output similar to v1 v2, filename without language code); - * hub, /tmp processing directory checks + - hub, /tmp processing directory checks * sisu_6.2.6.orig.tar.xz (2014-09-05:35/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.2.6 - * ao_doc_str, if faulty document structure, stop; if --no-stop option, skip + - ao_doc_str, if faulty document structure, stop; if --no-stop option, skip processing document - * ao_numbering, provide more information on duplicate numbering before stop + - ao_numbering, provide more information on duplicate numbering before stop - * html navigation, enable turn off (nav buttons on remaining html segments) + - html navigation, enable turn off (nav buttons on remaining html segments) - * (for html) set default to navigation bar off + - (for html) set default to navigation bar off - * xml xhtml outputs, & issues + - xml xhtml outputs, & issues - * shared_metadata, requires xml_shared + - shared_metadata, requires xml_shared - * link/path fixes, - * manifest, link where no "document harvest" - * html, home button links url (remove slash) - * harvest_authors, by_filetype, manifest path + - link/path fixes, + - manifest, link where no "document harvest" + - html, home button links url (remove slash) + - harvest_authors, by_filetype, manifest path * sisu_6.2.5.orig.tar.xz (2014-09-01:35/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.2.5 - * cgi_sqlite, allow expansion of variable (default db name), double quotes, + - cgi_sqlite, allow expansion of variable (default db name), double quotes, fix * sisu_6.2.4.orig.tar.xz (2014-08-29:34/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.2.4 - * hub, sisu version info, when & what to report + - hub, sisu version info, when & what to report - * dp, texpdf, copyright_and_license, minor fix, used by texpdf + - dp, texpdf, copyright_and_license, minor fix, used by texpdf * sisu_6.2.3.orig.tar.xz (2014-08-20:33/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.2.3 - * hub_options, introduce "error override" --no-stop or --errors-as-warnings + - hub_options, introduce "error override" --no-stop or --errors-as-warnings flag - * start making use of --no-stop command + - start making use of --no-stop command - * ao - * book index related - * ao_expand_insertions, blocked text match, adjust + - ao + - book index related + - ao_expand_insertions, blocked text match, adjust - * texpdf, output, copyright & license + - texpdf, output, copyright & license - * syntax hilighting, restrict heading matches, minor - * vim - * emacs + - syntax hilighting, restrict heading matches, minor + - vim + - emacs * sisu_6.2.2.orig.tar.xz (2014-08-12:32/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.2.2 - * hub, organization & loose ends - * tweak triggers - * split file further - * remove mod + - hub, organization & loose ends + - tweak triggers + - split file further + - remove mod - * webrick, wb.cgi fixed and omitted (use discarded) + - webrick, wb.cgi fixed and omitted (use discarded) * sisu_6.2.1.orig.tar.xz (2014-08-08:31/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.2.1 - * extend document structure, headings A - D, 1 - 4 - * sql db table structure changed (needs to be rebuilt) + - extend document structure, headings A - D, 1 - 4 + - sql db table structure changed (needs to be rebuilt) * sisu_6.2.0.orig.tar.xz (2014-08-08:31/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.2.0 - * some file renames, fairly extensive + - some file renames, fairly extensive - * commandline, --act0 to --act9 & rc-config with act instead of roman numeral - * configurable command line options increased to 0 - 9 (instead of 0 - 5) - * use --act0 to --act9 - * default --act0 - * rc config with flag:act0 to flag:act9 - * legacy roman numeral configuration works (for now) + - commandline, --act0 to --act9 & rc-config with act instead of roman numeral + - configurable command line options increased to 0 - 9 (instead of 0 - 5) + - use --act0 to --act9 + - default --act0 + - rc config with flag:act0 to flag:act9 + - legacy roman numeral configuration works (for now) - * internally use opt.act (simplify, cleaner, instead of opt.cmd & opt.mod, now + - internally use opt.act (simplify, cleaner, instead of opt.cmd & opt.mod, now removed) * sisu_6.1.5.orig.tar.xz (2014-07-29:30/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.1.5 - * ensure reset of parsed document directory path - * needed in the case of html for some subsequent processing + - ensure reset of parsed document directory path + - needed in the case of html for some subsequent processing * sisu_6.1.4.orig.tar.xz (2014-07-24:29/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.1.4 - * ao_numbering, auto name segment, tweak to make behave as intended + - ao_numbering, auto name segment, tweak to make behave as intended (further testing required) * sisu_6.1.3.orig.tar.xz (2014-07-23:29/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.1.3 - * db, rescue where no tables attempt to initialize db and retry + - db, rescue where no tables attempt to initialize db and retry (catch db message where no tables and attempt to initialize database) - * internally run the equivalent of --createall - * (if successful) permitting completion of --import or --update command - * make use of action triggers + - internally run the equivalent of --createall + - (if successful) permitting completion of --import or --update command + - make use of action triggers * sisu_6.1.2.orig.tar.xz (2014-07-22:29/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.1.2 - * bin/sisu, hub, hub close (ensure), remove /tmp/ processing dir + - bin/sisu, hub, hub close (ensure), remove /tmp/ processing dir - * html_lite_shared, issue fix + - html_lite_shared, issue fix - * options, sisupod parsing fix + - options, sisupod parsing fix - * db, reorganize action triggers + - db, reorganize action triggers - * db pg import, fix - * remove dbi from rescue, no longer using ruby-dbi - * ruby-pg query SELECT MAX + - db pg import, fix + - remove dbi from rescue, no longer using ruby-dbi + - ruby-pg query SELECT MAX - * sysenv, - * break up file, multiple se_* files - * revert to use of stub_pwd (instead of new base_markup_dir_stub introduced + - sysenv, + - break up file, multiple se_* files + - revert to use of stub_pwd (instead of new base_markup_dir_stub introduced in 6.1.1) to bring back correct hub (post) processing behavior - * processing shortcuts, options, adjust (refinement necessary) + - processing shortcuts, options, adjust (refinement necessary) * sisu_6.1.1.orig.tar.xz (2014-07-15:28/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.1.1 - * bin/sisu, hub, options, message pass sisu_called_from_directory + - bin/sisu, hub, options, message pass sisu_called_from_directory - * sysenv, general, base_markup_dir_stub (replace pwd_stub) + - sysenv, general, base_markup_dir_stub (replace pwd_stub) - * ao_numbering, auto name segment, extract "number" from heading, refine + - ao_numbering, auto name segment, extract "number" from heading, refine - * src, sisupod, bring back in line + - src, sisupod, bring back in line - * docbook, - * code & other block markup - * url links, urls - * images, an adjustment - * css (needs work) - * document header, sisu processing info - * docbook status, under construction notice removed (still much to do) + - docbook, + - code & other block markup + - url links, urls + - images, an adjustment + - css (needs work) + - document header, sisu processing info + - docbook status, under construction notice removed (still much to do) - * general, document parts - * css - * base images - * document images + - general, document parts + - css + - base images + - document images * sisu_6.1.0.orig.tar.xz (2014-07-11:27/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.1.0 - * ao_numbering, - * auto name segment, extract "number" from heading, fix - * check that all auto given number based seg names are unique + - ao_numbering, + - auto name segment, extract "number" from heading, fix + - check that all auto given number based seg names are unique - * ao_composite, nested includes, .ssi (insert) can include .ssi & .sst + - ao_composite, nested includes, .ssi (insert) can include .ssi & .sst ~ .ssm can contain/include .sst or .ssi .sst files can be processed independently, they do not contain other files .ssi files have been only insertions of text & are not processed @@ -444,14 +444,14 @@ Reverse Chronological: ~ requires testing ~ version bump, new behavior added to .ssi one of the 3 sisu filetypes - * src, sisupod composite source, nested includes + - src, sisupod composite source, nested includes follow rules for ao_composite (described above) * sisu_6.0.11.orig.tar.xz (2014-07-07:27/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.0.11 - * bin/sisu, - * processing dir related + - bin/sisu, + - processing dir related e.g. using live-manual/manual as sample, the following should work as expected, available: ca de en es fr it ja pl pt_BR ro; select: en & ja: sisu --html -v en/live-manual.ssm ja/live-manual.ssm @@ -460,62 +460,62 @@ Reverse Chronological: (these previously would have broken after processing the first directory) sisu command equivalent for all available translations being (unaffected): sisu --html -v --glob live-manual - * some cosmetic long line breaking + - some cosmetic long line breaking - * ao, auto seg naming, adjustments, + - ao, auto seg naming, adjustments, re: seg numbering, fixed width, leading zeros (introduced: 5.4.3 / 6.0.9) * sisu_6.0.10.orig.tar.xz (2014-07-04:26/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.0.10 - * ao, fix, re seg numbering, fixed width, leading zeros + - ao, fix, re seg numbering, fixed width, leading zeros (introduced: 5.4.3 / 6.0.9) provisional fix (check related issues against 5.4.2 / 6.0.8) * sisu_6.0.9.orig.tar.xz (2014-07-01:26/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.0.9 - * ao, - * code cosmetic rearrangement - * book index, strip white spaces around terms + - ao, + - code cosmetic rearrangement + - book index, strip white spaces around terms (fix uppercase first character where spaces used) - * quote block, insert text indent markup, exclude book index - * doc objects, layout group open & close identify is_for - * segment numbering, fixed width, leading zeros (for alphanumeric sorting) + - quote block, insert text indent markup, exclude book index + - doc objects, layout group open & close identify is_for + - segment numbering, fixed width, leading zeros (for alphanumeric sorting) - * code cosmetic rearrangement - * ao*, param, hub, options, composite + - code cosmetic rearrangement + - ao*, param, hub, options, composite - * sysenv, developer _CONSTRUCTION_ZONE warning modified + - sysenv, developer _CONSTRUCTION_ZONE warning modified - * epub, a fix, double check + - epub, a fix, double check * sisu_6.0.8.orig.tar.xz (2014-06-19:24/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.0.8 - * ao, - * regex match for tics "```" followed by space tweaked - * Symbol to match grouped text open & close (instead of String) - * introduce way of removing unrecognized tic markers - * syntax, able optionally to indicate the language syntax of a code block - * syntax, introduce box text block/group - * syntax, introduce tics quotes markup (blockquote equivalent) - * turn id numbers (for tags) into a hash - * code blocks, clean trailing newlines - * misc, minorish - - * docbook, - * ocn & footnote numbers (as xml comments) - * metadata header (docinfo) - * quotes (blockquote) - * tables - * images - * code block - - * vim syntax, add - * code block, language syntax, optional - * box block - * quote block + - ao, + - regex match for tics "```" followed by space tweaked + - Symbol to match grouped text open & close (instead of String) + - introduce way of removing unrecognized tic markers + - syntax, able optionally to indicate the language syntax of a code block + - syntax, introduce box text block/group + - syntax, introduce tics quotes markup (blockquote equivalent) + - turn id numbers (for tags) into a hash + - code blocks, clean trailing newlines + - misc, minorish + + - docbook, + - ocn & footnote numbers (as xml comments) + - metadata header (docinfo) + - quotes (blockquote) + - tables + - images + - code block + + - vim syntax, add + - code block, language syntax, optional + - box block + - quote block * sisu_6.0.7.orig.tar.xz (2014-05-25:20/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.0.7 @@ -523,59 +523,59 @@ Reverse Chronological: * sisu_6.0.6.orig.tar.xz (2014-05-18:19/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.0.6 - * db, - * use symbols to identify sql engine - * remove require 'dbi' (ruby-dbi) - * for pg: require 'pg' (use ruby-pg directly) - * for sqlite: require 'sqlite3' (use ruby-sqlite3 directly) [already the + - db, + - use symbols to identify sql engine + - remove require 'dbi' (ruby-dbi) + - for pg: require 'pg' (use ruby-pg directly) + - for sqlite: require 'sqlite3' (use ruby-sqlite3 directly) [already the case] - * cgi, sample search form generator - * remove require 'dbi' (ruby-dbi) - * for pg: require 'pg' (use ruby-pg directly) - * for sqlite: require 'sqlite3' (use ruby-sqlite3 directly) + - cgi, sample search form generator + - remove require 'dbi' (ruby-dbi) + - for pg: require 'pg' (use ruby-pg directly) + - for sqlite: require 'sqlite3' (use ruby-sqlite3 directly) * sisu_6.0.5.orig.tar.xz (2014-05-12:19/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.0.5 - * sisu, ensure return to start dir + - sisu, ensure return to start dir - * ao, document structure check, stop processing on major error + - ao, document structure check, stop processing on major error (with error message & text at location of failure) - * ao_syntax, address possible manual use of url delimiters「」 + - ao_syntax, address possible manual use of url delimiters「」 - * ao, heading with no ocn, distinguish ~# from -# - * ~# is general & means no ocn (for any object to which it is applied) - * -# is relevant only for 1~ dummy headings & instructs that they should be + - ao, heading with no ocn, distinguish ~# from -# + - ~# is general & means no ocn (for any object to which it is applied) + - -# is relevant only for 1~ dummy headings & instructs that they should be removed from output where possible, applied so far to pdf, odt & plaintext - * composite, fix includes, provide extra newline after inserted comment + - composite, fix includes, provide extra newline after inserted comment (Closes: #744360) "includes do not work properly" - * composite (inserts), missing includes doesn't give an error, fix + - composite (inserts), missing includes doesn't give an error, fix (Closes: #744379) see sisu.org for comment - * param, metadata add 'Copyright:' tag to output related to copyright + - param, metadata add 'Copyright:' tag to output related to copyright (Closes: #744381) syntax: inconsistency \:copyright: and \:license: - * param, remove trailing semicolon after :copyright: + - param, remove trailing semicolon after :copyright: (Closes: #744358) - * metadata, pdf, remove link to manifest page where --no-manifest is used + - metadata, pdf, remove link to manifest page where --no-manifest is used (Closes: #744378) - * digests, digests sha512 option implemented - * options sha512 sha256 md5 - * command line --sha512 - * rcconf.yml ['defsault']['digest'] = sha512 + - digests, digests sha512 option implemented + - options sha512 sha256 md5 + - command line --sha512 + - rcconf.yml ['defsault']['digest'] = sha512 (Closes: #744402) - * texpdf, (internal coding) - * use symbols to identify page orientation - * renaming related to fontface + - texpdf, (internal coding) + - use symbols to identify page orientation + - renaming related to fontface - * texpdf, pdf colored hyperlinks configurable (cli & sisurc.yml) + - texpdf, pdf colored hyperlinks configurable (cli & sisurc.yml) --pdf-hyperlinks-color --pdf-hyperlinks-no-color or --pdf-hyperlinks-monochrome default: @@ -584,95 +584,95 @@ Reverse Chronological: 'monochrome') (Closes: #744391) no color on a4 portrait - * texpdf, headings and table of contents + - texpdf, headings and table of contents - * texpdf, pdf default font size configurable (cli & sisurc.yml) (no fractions) + - texpdf, pdf default font size configurable (cli & sisurc.yml) (no fractions) --pdf-fontsize-12 --pdf-fontsize-8 default: texpdf_fontsize: 12 (Closes: #744405) - * texpdf, for urls switch to sans serif (small fontsize), + - texpdf, for urls switch to sans serif (small fontsize), instead of typewriter, latex default (Closes: #744353) - * texpdf, mailto markup links set for normal text objects + - texpdf, mailto markup links set for normal text objects (Closes: #744357) but testing required - * texpdf, urls in creator cause breakage + - texpdf, urls in creator cause breakage (Closes: #744541) - * texpdf, & in heading breaks toc, now & is removed from toc not heading, + - texpdf, & in heading breaks toc, now & is removed from toc not heading, broken - * added sisu.org emacs:evil:org mode notes related to sisu development + - added sisu.org emacs:evil:org mode notes related to sisu development * sisu_6.0.4.orig.tar.xz (2014-02-14:06/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.0.4 - * ocn, object citation numbering - * add perhaps less cryptic --numbering --no-numbering command-line options - * plaintext & odt switch default to ocn==true for consistency + - ocn, object citation numbering + - add perhaps less cryptic --numbering --no-numbering command-line options + - plaintext & odt switch default to ocn==true for consistency * sisu_6.0.3.orig.tar.xz (2014-02-08:05/6) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.0.3 - * cgi, search form (generator), using cgi ENV variables + - cgi, search form (generator), using cgi ENV variables - * examples - * nginx conf - * cgi search forms pgsql & sqlite + - examples + - nginx conf + - cgi search forms pgsql & sqlite - * documentation, minor update + - documentation, minor update * sisu_6.0.2.orig.tar.xz (2014-02-05:05/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.0.2 - * ao, html book index linking, follow --strict option + - ao, html book index linking, follow --strict option - * utils, code markers & messages, notes/warning/errors, fix + - utils, code markers & messages, notes/warning/errors, fix - * sysenv, concordance redirected paths, watch + - sysenv, concordance redirected paths, watch - * manual Rakefile, README & minor config adjustment + - manual Rakefile, README & minor config adjustment * sisu_6.0.1.orig.tar.xz (2014-02-05:05/3) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.0.1 - * ao, document tags + - ao, document tags - * options - * --strict html option - * ocn switch on/off instructions (& defaults for plaintext & odt) + - options + - --strict html option + - ocn switch on/off instructions (& defaults for plaintext & odt) - * html cleaning - * --strict html option + - html cleaning + - --strict html option (various changes, e.g. ocn [url]#37 only available as [url]#o37) - * tags - * endnote name and nameref (make compliant) + - tags + - endnote name and nameref (make compliant) - * epub - * use same endnote name and nameref as introduced here for html - * hash digests used only if availabile (availability check) + - epub + - use same endnote name and nameref as introduced here for html + - hash digests used only if availabile (availability check) - * ocn turn on/off rules - * txt - * odt + - ocn turn on/off rules + - txt + - odt - * cgi (pgsql, sqlite) fixes + - cgi (pgsql, sqlite) fixes - * error/warn messages, including wrappers round require + - error/warn messages, including wrappers round require - * documentation, manpage README etc. - * sisu manual directory moved - * sisu manual updated - * README & sisu.1 (manpage) updated - * removed html man pages (man2html) + - documentation, manpage README etc. + - sisu manual directory moved + - sisu manual updated + - README & sisu.1 (manpage) updated + - removed html man pages (man2html) * sisu_6.0.0.orig.tar.xz (2014-01-26:03/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.0.0 * v6 development branch opened - * v4 branch closed -(>4.2.20)- - * v5 stable branch (>=5.3.0) - * v6 development branch opened (copy v5) (>=6.0.0) + - v4 branch closed -(>4.2.20)- + - v5 stable branch (>=5.3.0) + - v6 development branch opened (copy v5) (>=6.0.0) diff --git a/data/doc/sisu/CHANGELOG_v7 b/data/doc/sisu/CHANGELOG_v7 index 6dd65e9e..0eb18e7f 100644 --- a/data/doc/sisu/CHANGELOG_v7 +++ b/data/doc/sisu/CHANGELOG_v7 @@ -2,9 +2,12 @@ SiSU CHANGELOG -*- mode: org; -*- #+OPTIONS: ^:nil _:nil * SiSU version 7 - - - + + + +* markup samples + + v7 opened (single lib dir (separate current/stable & development branches removed) rolls in v6) v6 branch (for development and testing prior) removed; available in sisu < 5.8.0 @@ -13,8 +16,7 @@ v4 branch removed; available in sisu < 4.2.20 v3 branch removed; available in sisu < 4.1.0 v2 branch removed; available in sisu =< 3.3.2 - * homepages: - * data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_manual.ssm + - homepage: Reverse Chronological: @@ -26,83 +28,83 @@ Reverse Chronological: * sisu_7.1.11.orig.tar.xz (2017-07-14:28/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.11 - * html, minitoc, set default off + - html, minitoc, set default off (requested, as minitoc is sub-optimal for viewing with smaller devices (when present minitoc is placed on left part of screen together with content to its right)) - * command flag --no-metadata turns off appending metadata to documents + - command flag --no-metadata turns off appending metadata to documents (Closes: #746742) * sisu_7.1.10.orig.tar.xz (2017-07-02:26/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.10 - * sisu.vim (syntax highlighting) back reference related fix, + - sisu.vim (syntax highlighting) back reference related fix, (provided by Bram Moolenaar) - * texpf_format (debian texlive packages for usepackage .sty) + - texpf_format (debian texlive packages for usepackage .sty) (notes update) * sisu_7.1.9.orig.tar.xz (2016-07-31:30/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.9 - * html css, (root) heading size + - html css, (root) heading size * sisu_7.1.8.orig.tar.xz (2016-02-26:08/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.8 - * headers - * rollover year, 2016 - * hyperlink delimiters changed to square brackets + - headers + - rollover year, 2016 + - hyperlink delimiters changed to square brackets - * sisu-mode.el as committed to Gnu elpa - * re-submitted after feedback (on 7.1.7) from Stefan Monnier + - sisu-mode.el as committed to Gnu elpa + - re-submitted after feedback (on 7.1.7) from Stefan Monnier - * sisu.org add to header and minor update + - sisu.org add to header and minor update - * txt_orgmode, update (dp add email header field) + - txt_orgmode, update (dp add email header field) - * json, an output representation, first pass + - json, an output representation, first pass * sisu_7.1.7.orig.tar.xz (2016-01-05:01/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.7 - * emacs sisu-mode.el - * apply patch from Kevin Ryde of 2015-12-18 - * tic block markup, and minor arrangement + - emacs sisu-mode.el + - apply patch from Kevin Ryde of 2015-12-18 + - tic block markup, and minor arrangement * sisu_7.1.6.orig.tar.xz (2015-12-15:50/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.6 - * emacs sisu-mode.el & sisu-mode-autoloads.el: - * sisu-mode.el, minor update and modify format to reduce diff with FSF + - emacs sisu-mode.el & sisu-mode-autoloads.el: + - sisu-mode.el, minor update and modify format to reduce diff with FSF version, and match tic style markup blocks ``` (revisit tic block markup, improperly implemented) - * sisu-mode-autoloads.el, added (see elpa 3.0.3 & Kevin Ryde recent post) + - sisu-mode-autoloads.el, added (see elpa 3.0.3 & Kevin Ryde recent post) - * documentation related to search, needs further review + - documentation related to search, needs further review - * filename reference version update sisu_7a_sqlite.cgi + - filename reference version update sisu_7a_sqlite.cgi - * ao_images, require 'rmagick' (instead of 'RMagick' depreciated) + - ao_images, require 'rmagick' (instead of 'RMagick' depreciated) * sisu_7.1.5.orig.tar.xz (2015-06-02:22/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.5 - * minor clean + - minor clean * sisu_7.1.4.orig.tar.xz (2015-05-21:20/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.4 - * workflow error, 7.1.3 released as pre_release :-p + - workflow error, 7.1.3 released as pre_release :-p * sisu_7.1.3.orig.tar.xz (2015-05-21:20/4) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.3 - * constants, search, db name, period before and after db version - * aesthetic change, the current db name base becomes SiSU.7a. - * existing databases must be reinitialized - * (database structure is unchanged) + - constants, search, db name, period before and after db version + - aesthetic change, the current db name base becomes SiSU.7a. + - existing databases must be reinitialized + - (database structure is unchanged) * sisu_7.1.2.orig.tar.xz (2015-05-18:20/1) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.2 @@ -110,14 +112,14 @@ Reverse Chronological: * sisu_7.1.1.orig.tar.xz (2015-05-17:19/7) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.1 - * qi (quick install) gem install git version option + - qi (quick install) gem install git version option - * bin/sisu, install name check (stable & git versions) + - bin/sisu, install name check (stable & git versions) * sisu_7.1.0.orig.tar.xz (2015-05-15:19/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.0 - * bibliography 1~!bibliography + - bibliography 1~!bibliography 1~!bibliography @@ -146,26 +148,26 @@ Reverse Chronological: the short name will be used to replace it) - * glossary 1~!glossary + - glossary 1~!glossary - * documentation update - * bibliography - * glossary + - documentation update + - bibliography + - glossary - * qi (quick installer) cleaning + - qi (quick installer) cleaning - * clean cruft in changelogs + - clean cruft in changelogs * sisu_7.0.0.orig.tar.xz (2015-05-01:17/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.0.0 - * v7 opened - * v5 branch closed (available <= 5.8.0) - * v6 development moved to stable closed (available <= 6.5.0) - * v7 development branch opened (using v6 HEAD) + - v7 opened + - v5 branch closed (available <= 5.8.0) + - v6 development moved to stable closed (available <= 6.5.0) + - v7 development branch opened (using v6 HEAD) lib/sisu/*, single libs directory (c&d gone) (7) * removed lib/sisu/{current,develop} dir branches v7 (v5 & v6 retired) - * simplify dir structure, offer single sisu version per snapshot - * have enjoyed carrying stable and development versions v5 & v6 + - simplify dir structure, offer single sisu version per snapshot + - have enjoyed carrying stable and development versions v5 & v6 in a single tarball, may return to this structure -- cgit v1.2.3 From 38f77adf01b2e16840cfab17c05707b80ccf9008 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 16 Jul 2019 11:36:47 -0400 Subject: texpdf, indent values, use formula (to replace table) - values changed to work better with portrait a4 & letter --- data/doc/sisu/CHANGELOG_v7 | 3 + lib/sisu/texpdf_format.rb | 135 +-------------------------------------------- 2 files changed, 6 insertions(+), 132 deletions(-) diff --git a/data/doc/sisu/CHANGELOG_v7 b/data/doc/sisu/CHANGELOG_v7 index 0eb18e7f..47c647d9 100644 --- a/data/doc/sisu/CHANGELOG_v7 +++ b/data/doc/sisu/CHANGELOG_v7 @@ -25,6 +25,9 @@ Reverse Chronological: * sisu_7.1.12.orig.tar.xz (Open commit window: 2019-07-16; Pre-Release) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.12 + - texpdf, indent values, use formula (to replace table) + values changed to work better with portrait a4 & letter + * sisu_7.1.11.orig.tar.xz (2017-07-14:28/5) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.11 diff --git a/lib/sisu/texpdf_format.rb b/lib/sisu/texpdf_format.rb index 5549a245..5c9d2c9d 100644 --- a/lib/sisu/texpdf_format.rb +++ b/lib/sisu/texpdf_format.rb @@ -318,138 +318,9 @@ module SiSU_TeX_Pdf heading_sublevels(@dob) end def hang - case @dob.indent - when /0/ - case @dob.hang - when /0/ then indent,hang='0mm', '0mm' - when /1/ then indent,hang='0mm','10mm' - when /2/ then indent,hang='0mm','20mm' - when /3/ then indent,hang='0mm','30mm' - when /4/ then indent,hang='0mm','40mm' - when /5/ then indent,hang='0mm','50mm' - when /6/ then indent,hang='0mm','60mm' - when /7/ then indent,hang='0mm','70mm' - when /8/ then indent,hang='0mm','80mm' - when /9/ then indent,hang='0mm','90mm' - end - when /1/ - case @dob.hang - when /0/ then indent,hang='10mm','-10mm' - when /1/ then indent,hang='10mm', '0mm' - when /2/ then indent,hang='10mm', '10mm' - when /3/ then indent,hang='10mm', '20mm' - when /4/ then indent,hang='10mm', '30mm' - when /5/ then indent,hang='10mm', '40mm' - when /6/ then indent,hang='10mm', '50mm' - when /7/ then indent,hang='10mm', '60mm' - when /8/ then indent,hang='10mm', '70mm' - when /9/ then indent,hang='10mm', '80mm' - end - when /2/ - case @dob.hang - when /0/ then indent,hang='20mm','-20mm' - when /1/ then indent,hang='20mm','-10mm' - when /2/ then indent,hang='20mm', '0mm' - when /3/ then indent,hang='20mm', '10mm' - when /4/ then indent,hang='20mm', '20mm' - when /5/ then indent,hang='20mm', '30mm' - when /6/ then indent,hang='20mm', '40mm' - when /7/ then indent,hang='20mm', '50mm' - when /8/ then indent,hang='20mm', '60mm' - when /9/ then indent,hang='20mm', '70mm' - end - when /3/ - case @dob.hang - when /0/ then indent,hang='30mm','-30mm' - when /1/ then indent,hang='30mm','-20mm' - when /2/ then indent,hang='30mm','-10mm' - when /3/ then indent,hang='30mm', '0mm' - when /4/ then indent,hang='30mm', '10mm' - when /5/ then indent,hang='30mm', '20mm' - when /6/ then indent,hang='30mm', '30mm' - when /7/ then indent,hang='30mm', '40mm' - when /8/ then indent,hang='30mm', '50mm' - when /9/ then indent,hang='30mm', '60mm' - end - when /4/ - case @dob.hang - when /0/ then indent,hang='40mm','-40mm' - when /1/ then indent,hang='40mm','-30mm' - when /2/ then indent,hang='40mm','-20mm' - when /3/ then indent,hang='40mm','-10mm' - when /4/ then indent,hang='40mm', '0mm' - when /5/ then indent,hang='40mm', '10mm' - when /6/ then indent,hang='40mm', '20mm' - when /7/ then indent,hang='40mm', '30mm' - when /8/ then indent,hang='40mm', '40mm' - when /9/ then indent,hang='40mm', '50mm' - end - when /5/ - case @dob.hang - when /0/ then indent,hang='50mm','-50mm' - when /1/ then indent,hang='50mm','-40mm' - when /2/ then indent,hang='50mm','-30mm' - when /3/ then indent,hang='50mm','-20mm' - when /4/ then indent,hang='50mm','-10mm' - when /5/ then indent,hang='50mm', '0mm' - when /6/ then indent,hang='50mm', '10mm' - when /7/ then indent,hang='50mm', '20mm' - when /8/ then indent,hang='50mm', '30mm' - when /9/ then indent,hang='50mm', '40mm' - end - when /6/ - case @dob.hang - when /0/ then indent,hang='60mm','-60mm' - when /1/ then indent,hang='60mm','-50mm' - when /2/ then indent,hang='60mm','-40mm' - when /3/ then indent,hang='60mm','-30mm' - when /4/ then indent,hang='60mm','-20mm' - when /5/ then indent,hang='60mm','-10mm' - when /6/ then indent,hang='60mm', '0mm' - when /7/ then indent,hang='60mm', '10mm' - when /8/ then indent,hang='60mm', '20mm' - when /9/ then indent,hang='60mm', '30mm' - end - when /7/ - case @dob.hang - when /0/ then indent,hang='70mm','-70mm' - when /1/ then indent,hang='70mm','-60mm' - when /2/ then indent,hang='70mm','-50mm' - when /3/ then indent,hang='70mm','-40mm' - when /4/ then indent,hang='70mm','-30mm' - when /5/ then indent,hang='70mm','-20mm' - when /6/ then indent,hang='70mm','-10mm' - when /7/ then indent,hang='70mm', '0mm' - when /8/ then indent,hang='70mm', '10mm' - when /9/ then indent,hang='70mm', '20mm' - end - when /8/ - case @dob.hang - when /0/ then indent,hang='80mm','-80mm' - when /1/ then indent,hang='80mm','-70mm' - when /2/ then indent,hang='80mm','-60mm' - when /3/ then indent,hang='80mm','-50mm' - when /4/ then indent,hang='80mm','-40mm' - when /5/ then indent,hang='80mm','-30mm' - when /6/ then indent,hang='80mm','-20mm' - when /7/ then indent,hang='80mm','-10mm' - when /8/ then indent,hang='80mm', '0mm' - when /9/ then indent,hang='80mm', '10mm' - end - when /9/ - case @dob.hang - when /0/ then indent,hang='90mm','-90mm' - when /1/ then indent,hang='90mm','-80mm' - when /2/ then indent,hang='90mm','-70mm' - when /3/ then indent,hang='90mm','-60mm' - when /4/ then indent,hang='90mm','-50mm' - when /5/ then indent,hang='90mm','-40mm' - when /6/ then indent,hang='90mm','-30mm' - when /7/ then indent,hang='90mm','-20mm' - when /8/ then indent,hang='90mm','-10mm' - when /9/ then indent,hang='90mm', '0mm' - end - end + _idt=10 + indent = "#{_idt*(@dob.indent.to_i-1)}mm" + hang = "#{_idt*(@dob.hang.to_i - @dob.indent.to_i)}mm" "\\begin{ParagraphHang}{#{indent}}{#{hang}}#{@dob.tmp} \\end{ParagraphHang}}" end def indent -- cgit v1.2.3 From 444465c1425c3265479f97d18610a8863087628c Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 16 Jul 2019 12:32:52 -0400 Subject: version & changelog, tag for release --- data/doc/sisu/CHANGELOG_v7 | 2 +- data/sisu/version.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/doc/sisu/CHANGELOG_v7 b/data/doc/sisu/CHANGELOG_v7 index 47c647d9..f4414ab5 100644 --- a/data/doc/sisu/CHANGELOG_v7 +++ b/data/doc/sisu/CHANGELOG_v7 @@ -22,7 +22,7 @@ Reverse Chronological: --- HEAD --- -* sisu_7.1.12.orig.tar.xz (Open commit window: 2019-07-16; Pre-Release) +* sisu_7.1.12.orig.tar.xz (2019-07-16:28/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.12 - texpdf, indent values, use formula (to replace table) diff --git a/data/sisu/version.yml b/data/sisu/version.yml index 82fb0e8b..64cbf209 100644 --- a/data/sisu/version.yml +++ b/data/sisu/version.yml @@ -1,5 +1,5 @@ --- :project: SiSU -:version: 7.1.12_pre_rel +:version: 7.1.12 :date_stamp: 2019w28/2 :date: "2019-07-16" -- cgit v1.2.3 From cb1f7d552b3e2064903bad7bcd2d83c6712902f4 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Wed, 28 Aug 2019 10:44:38 -0400 Subject: version & changelog, open commit window --- data/doc/sisu/CHANGELOG_v7 | 3 +++ data/sisu/version.yml | 6 +++--- setup/sisu_version.rb | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/data/doc/sisu/CHANGELOG_v7 b/data/doc/sisu/CHANGELOG_v7 index f4414ab5..c321346c 100644 --- a/data/doc/sisu/CHANGELOG_v7 +++ b/data/doc/sisu/CHANGELOG_v7 @@ -22,6 +22,9 @@ Reverse Chronological: --- HEAD --- +* sisu_7.2.0.orig.tar.xz (Open commit window: 2019-08-28; Pre-Release) + http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.2.0 + * sisu_7.1.12.orig.tar.xz (2019-07-16:28/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.12 diff --git a/data/sisu/version.yml b/data/sisu/version.yml index 64cbf209..0e060fd1 100644 --- a/data/sisu/version.yml +++ b/data/sisu/version.yml @@ -1,5 +1,5 @@ --- :project: SiSU -:version: 7.1.12 -:date_stamp: 2019w28/2 -:date: "2019-07-16" +:version: 7.2.0_pre_rel +:date_stamp: 2019w34/3 +:date: "2019-08-28" diff --git a/setup/sisu_version.rb b/setup/sisu_version.rb index b323c180..d4852e20 100644 --- a/setup/sisu_version.rb +++ b/setup/sisu_version.rb @@ -1,6 +1,6 @@ #% constants module SiSUversion - SiSU_version = '7.1.12' + SiSU_version = '7.2.0' end module Dev GPGpubKey = '1BB4B289' -- cgit v1.2.3 From 480ff5a4cbee3ae28f9069e56e05ff32c44295d7 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Wed, 28 Aug 2019 10:47:35 -0400 Subject: markup modification: distinguish blocks and groups - use where appropriate instead of poem --- data/doc/sisu/CHANGELOG_v7 | 3 +++ lib/sisu/ao_doc_str.rb | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/data/doc/sisu/CHANGELOG_v7 b/data/doc/sisu/CHANGELOG_v7 index c321346c..7e7a44c5 100644 --- a/data/doc/sisu/CHANGELOG_v7 +++ b/data/doc/sisu/CHANGELOG_v7 @@ -25,6 +25,9 @@ Reverse Chronological: * sisu_7.2.0.orig.tar.xz (Open commit window: 2019-08-28; Pre-Release) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.2.0 + - markup modification + - (markup blocks) distinguish block from group + * sisu_7.1.12.orig.tar.xz (2019-07-16:28/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.12 diff --git a/lib/sisu/ao_doc_str.rb b/lib/sisu/ao_doc_str.rb index 1dbcf9e8..27152b98 100644 --- a/lib/sisu/ao_doc_str.rb +++ b/lib/sisu/ao_doc_str.rb @@ -1002,6 +1002,8 @@ module SiSU_AO_DocumentStructureExtract || @per.poem==:tics) \ or (@per.group==:curls \ || @per.group==:tics) \ + or (@per.block==:curls \ + || @per.block==:tics) \ or (@per.alt==:curls \ || @per.alt==:tics) \ and t_o =~/\S/ \ @@ -1033,6 +1035,7 @@ module SiSU_AO_DocumentStructureExtract if @per.poem==:curls or @per.poem==:tics \ or @per.box==:curls or @per.box==:tics \ or @per.group==:curls or @per.group==:tics \ + or @per.block==:curls or @per.block==:tics \ or @per.alt==:curls or @per.alt==:tics \ or (@per.quote==:open and t_o =~/`:quote_close`/m) if t_o.is_a?(String) @@ -1065,6 +1068,7 @@ module SiSU_AO_DocumentStructureExtract code_block: 0, poem: 0, box: 0, + block: 0, group: 0, alt: 0, quote: 0, -- cgit v1.2.3 From 172c0417022b847d4a1f1011979d8fdae9700519 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Wed, 28 Aug 2019 10:50:16 -0400 Subject: markup modification: table attributes --- data/doc/sisu/CHANGELOG_v7 | 3 ++ .../sisu/markup-samples/manual/en/sisu_howto.sst | 2 +- .../sisu/markup-samples/manual/en/sisu_markup.sst | 8 ++--- .../manual/en/sisu_output_overview.sst | 6 ++-- lib/sisu/ao_doc_str.rb | 36 +++++++++++----------- 5 files changed, 29 insertions(+), 26 deletions(-) diff --git a/data/doc/sisu/CHANGELOG_v7 b/data/doc/sisu/CHANGELOG_v7 index 7e7a44c5..dce249e0 100644 --- a/data/doc/sisu/CHANGELOG_v7 +++ b/data/doc/sisu/CHANGELOG_v7 @@ -27,6 +27,9 @@ Reverse Chronological: - markup modification - (markup blocks) distinguish block from group + - table attributes, place in parenthesis + table([attributes]){ + ``` table([attributes]) * sisu_7.1.12.orig.tar.xz (2019-07-16:28/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.12 diff --git a/data/doc/sisu/markup-samples/manual/en/sisu_howto.sst b/data/doc/sisu/markup-samples/manual/en/sisu_howto.sst index f40d5329..8440a64a 100644 --- a/data/doc/sisu/markup-samples/manual/en/sisu_howto.sst +++ b/data/doc/sisu/markup-samples/manual/en/sisu_howto.sst @@ -455,7 +455,7 @@ Table markup sample code{ -table{~h c3; 26; 32; 32; +table(h c3, 26, 32, 32){ This is a table, column1 this would become row one of column two diff --git a/data/doc/sisu/markup-samples/manual/en/sisu_markup.sst b/data/doc/sisu/markup-samples/manual/en/sisu_markup.sst index f67db5a1..73ed21ab 100644 --- a/data/doc/sisu/markup-samples/manual/en/sisu_markup.sst +++ b/data/doc/sisu/markup-samples/manual/en/sisu_markup.sst @@ -839,7 +839,7 @@ Tables may be prepared in two either of two forms code{ -table{ c3; 40; 30; 30; +table(c3: 40, 30, 30){ This is a table this would become column two of row one @@ -855,7 +855,7 @@ column three of row two, and so on !_ resulting output: -table{ c3; 40; 30; 30; +table(c3: 40, 30, 30){ This is a table this would become column two of row one @@ -877,7 +877,7 @@ code{ !_ Table 3.1: Contributors to Wikipedia, January 2001 - June 2005 -{table~h 24; 12; 12; 12; 12; 12; 12;} +{table(h 24, 12, 12, 12, 12, 12, 12)} |Jan. 2001|Jan. 2002|Jan. 2003|Jan. 2004|July 2004|June 2006 Contributors* | 10| 472| 2,188| 9,653| 25,011| 48,721 Active contributors** | 9| 212| 846| 3,228| 8,442| 16,945 @@ -894,7 +894,7 @@ No. of articles, all languages | 25| 19,000| 138,000| 490,000| 862,0 !_ Table 3.1: Contributors to Wikipedia, January 2001 - June 2005 -{table~h 24; 12; 12; 12; 12; 12; 12;} +{table(h 24, 12, 12, 12, 12, 12, 12)} |Jan. 2001|Jan. 2002|Jan. 2003|Jan. 2004|July 2004|June 2006 Contributors* | 10| 472| 2,188| 9,653| 25,011| 48,721 Active contributors** | 9| 212| 846| 3,228| 8,442| 16,945 diff --git a/data/doc/sisu/markup-samples/manual/en/sisu_output_overview.sst b/data/doc/sisu/markup-samples/manual/en/sisu_output_overview.sst index 332f4aae..428bc223 100644 --- a/data/doc/sisu/markup-samples/manual/en/sisu_output_overview.sst +++ b/data/doc/sisu/markup-samples/manual/en/sisu_output_overview.sst @@ -34,7 +34,7 @@ for various forms of output of SiSU. !_ sisu-2.0.0 on 2010-03-06 -{table~h 28} +{table(h 28)} feature |txt|ltx/pdf|HTML|EPUB|XML/s|XML/d|ODF|SQLite|pgSQL headings | * | * | * | * | * | * | * | * | * footnotes | * | * | * | * | * | * | * | * | * @@ -65,7 +65,7 @@ special characters | . | . | . | . | | | | | !_ sisu-1.0.0 on 2009-10-28 -{table~h 28} +{table(h 28)} feature |txt|ltx/pdf|HTML|XML/s|XML/d|ODF|SQLite|pgSQL headings | * | * | * | * | * | * | * | * footnotes | * | * | * | * | * | * | * | * @@ -96,7 +96,7 @@ special characters | . | . | . | | | | | !_ sisu-0.36.6 on 2006-01-23 -{table~h 28; 8; 8; 8; 8; 8; 8; 8; 8; 8;} +{table(h 28, 8, 8, 8, 8, 8, 8, 8, 8, 8)} feature |txt|ltx/pdf|HTML|XHTML|XML/s|XML/d|ODF|SQLite|pgSQL headings | * | * | * | * | * | * | * | * | * footnotes | * | * | * | * | * | * | * | * | * diff --git a/lib/sisu/ao_doc_str.rb b/lib/sisu/ao_doc_str.rb index 27152b98..5b1f8f61 100644 --- a/lib/sisu/ao_doc_str.rb +++ b/lib/sisu/ao_doc_str.rb @@ -296,7 +296,7 @@ module SiSU_AO_DocumentStructureExtract else nil end end - if t_o !~/^(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block)\{|^\}(?:code|poem|alt|group|block)|^(?:table\{|\{table)[ ~]/ \ + if t_o !~/^(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block)\{|^\}(?:code|poem|alt|group|block)|^(?:table\(.+?\)\{|\{table\()/ \ and t_o !~/^```[ ]+(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block|table)|^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$|^`:quote_(?:open|close)`/ \ and @per.code==:off \ and @per.poem==:off \ @@ -613,7 +613,7 @@ module SiSU_AO_DocumentStructureExtract } t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) #tuned_file << t_o #% find second source, entered twice, should be once so closed off here - elsif t_o =~/^(?:table\{|```[ ]+table|\{table)[ ~]/ + elsif t_o =~/^(?:table\(.+?\)\{|```[ ]+table\(.+?\)|\{table\(.+?\))/ @num_id[:table] +=1 h={ is_for: :table, @@ -623,15 +623,15 @@ module SiSU_AO_DocumentStructureExtract } ins_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) tuned_file << ins_o - if t_o=~/^table\{(?:~h)?\s+/ + if t_o=~/^table\((?:.*?\bh;\s+)?.+?\)\{/ @per.table=:curls @rows='' case t_o - when /table\{~h\s+c(\d+);\s+(.+)/ + when /table\(.*?\bh;\s+c(\d+):\s+(.+?)\)\{/ cols=$1 col=$2.scan(/\d+/) heading=true - when /table\{\s+c(\d+);\s+(.+)/ + when /table\(.*?c(\d+):\s+(.+?)\)\{/ cols=$1 col=$2.scan(/\d+/) heading=false @@ -642,15 +642,15 @@ module SiSU_AO_DocumentStructureExtract widths: col, idx: idx, } - elsif t_o=~/^```[ ]+table(?:~h)?\s+c\d+/ + elsif t_o=~/^```[ ]+table\((?:.*?\bh;)?\s+c\d+:/ @per.table=:tics @rows='' case t_o - when /^```[ ]+table~h\s+c(\d+);\s+(.+)/ + when /^```[ ]+table\(.*?\bh;\s+c(\d+):\s+(.+?)\)/ cols=$1 col=$2.scan(/\d+/) heading=true - when /^```[ ]+table\s+c(\d+);\s+(.+)/ + when /^```[ ]+table\(\s*c(\d+):\s+(.+?)\)/ cols=$1 col=$2.scan(/\d+/) heading=false @@ -661,10 +661,10 @@ module SiSU_AO_DocumentStructureExtract widths: col, idx: idx, } - elsif t_o=~/^\{table(?:~h)?(?:\s+\d+;?)?\}\n.+\Z/m + elsif t_o=~/^\{table\((?:.*?\bh;\s+)?(?:\s+\d+,?)?\)\s*\}\n.+\Z/m m1,m2,hd=nil,nil,nil - tbl=/^\{table(?:~h)?(?:\s+\d+;?)?\}\n(.+)\Z/m.match(t_o)[1] - hd=((t_o =~/^\{table~h/) ? true : false) + tbl=/^\{table\((?:.*?\bh;\s+)?(?:\s+\d+,?)*\)\s*\}\n(.+)\Z/m.match(t_o)[1] # fix + hd=((t_o =~/^\{table\(.*?\bh;\s+/) ? true : false) tbl,tags=extract_tags(tbl) rws=tbl.split(/\n/) rows='' @@ -675,7 +675,7 @@ module SiSU_AO_DocumentStructureExtract rows += r + Mx[:tc_c] end col=[] - if t_o =~/^\{table(?:~h)?\s+(\d+);?\}/ #width of col 1 given as %, usually when wider than rest that are even + if t_o =~/^\{table\((?:.*?\bh;\s+)?\s+c(\d+):.*?\)\s*\}/ #width of col 1 given as %, usually when wider than rest that are even c1=$1.to_i width=(100 - c1)/(cols - 1) col=[ c1 ] @@ -704,12 +704,12 @@ module SiSU_AO_DocumentStructureExtract } t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) t_o - elsif t_o=~/^```[ ]+table(?:~h)?\s+/ + elsif t_o=~/^```[ ]+table\((?:.*?\bh;)?\s+/ m1,m2,hd=nil,nil,nil h=case t_o - when /^```[ ]+table~h\s+(.+?)\n(.+)\Z/m #two table representations should be consolidated as one + when /^```[ ]+table\(.*?\bh;\s+(.+?)\)\n(.+)\Z/m #two table representations should be consolidated as one m1,tbl,hd=$1,$2,true - when /^```[ ]+table\s+(.+?)\n(.+)\Z/m #two table representations should be consolidated as one + when /^```[ ]+table\((.+?)\)\n(.+)\Z/m #two table representations should be consolidated as one m1,tbl,hd=$1,$2,false else nil end @@ -741,12 +741,12 @@ module SiSU_AO_DocumentStructureExtract } t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) t_o - elsif t_o=~/^\{table(?:~h)?\s+/ + elsif t_o=~/^\{table\((?:.*?\bh;)?/ m1,m2,hd=nil,nil,nil h=case t_o - when /\{table~h\s+(.+?)\}\n(.+)\Z/m #two table representations should be consolidated as one + when /\{table\(.*?\bh;\s+(.+?)\)\s*\}\n(.+)\Z/m #two table representations should be consolidated as one m1,tbl,hd=$1,$2,true - when /\{table\s+(.+?)\}\n(.+)\Z/m #two table representations should be consolidated as one + when /\{table\((.+?)\)\s*\}\n(.+)\Z/m #two table representations should be consolidated as one m1,tbl,hd=$1,$2,false else nil end -- cgit v1.2.3 From e4af625ffea32eac44715f4f44c105cb8e1ce2b4 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Wed, 28 Aug 2019 10:57:33 -0400 Subject: re-introduce depreciated table markup for table attributes --- lib/sisu/ao_doc_str.rb | 177 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 176 insertions(+), 1 deletion(-) diff --git a/lib/sisu/ao_doc_str.rb b/lib/sisu/ao_doc_str.rb index 5b1f8f61..eec2cbad 100644 --- a/lib/sisu/ao_doc_str.rb +++ b/lib/sisu/ao_doc_str.rb @@ -296,7 +296,7 @@ module SiSU_AO_DocumentStructureExtract else nil end end - if t_o !~/^(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block)\{|^\}(?:code|poem|alt|group|block)|^(?:table\(.+?\)\{|\{table\()/ \ + if t_o !~/^(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block)\{|^\}(?:code|poem|alt|group|block)|^(?:table\(.+?\)\{|\{table\()|^(?:table\{|\{table)[ ~]/ \ and t_o !~/^```[ ]+(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block|table)|^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$|^`:quote_(?:open|close)`/ \ and @per.code==:off \ and @per.poem==:off \ @@ -779,6 +779,181 @@ module SiSU_AO_DocumentStructureExtract t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) t_o end +## depreciated markup, code should work for new markup after removal { + elsif t_o =~/^(?:table\{|```[ ]+table|\{table)[ ~]/ + puts "WARNING document using depreciated markup for tables" + puts "use table([table attributes]) instead:" + puts "table(){" + puts "``` table()" + puts "{table()}" + @num_id[:table] +=1 + h={ + is_for: :table, + obj: '', + sym: :table_open, + num: @num_id[:table], + } + ins_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + tuned_file << ins_o + if t_o=~/^table\{(?:~h)?\s+/ + @per.table=:curls + @rows='' + case t_o + when /table\{~h\s+c(\d+);\s+(.+)/ + cols=$1 + col=$2.scan(/\d+/) + heading=true + when /table\{\s+c(\d+);\s+(.+)/ + cols=$1 + col=$2.scan(/\d+/) + heading=false + end + @h={ + head_: heading, + cols: cols, + widths: col, + idx: idx, + } + elsif t_o=~/^```[ ]+table(?:~h)?\s+c\d+/ + @per.table=:tics + @rows='' + case t_o + when /^```[ ]+table~h\s+c(\d+);\s+(.+)/ + cols=$1 + col=$2.scan(/\d+/) + heading=true + when /^```[ ]+table\s+c(\d+);\s+(.+)/ + cols=$1 + col=$2.scan(/\d+/) + heading=false + end + @h={ + head_: heading, + cols: cols, + widths: col, + idx: idx, + } + elsif t_o=~/^\{table(?:~h)?(?:\s+\d+;?)?\}\n.+\Z/m + m1,m2,hd=nil,nil,nil + tbl=/^\{table(?:~h)?(?:\s+\d+;?)?\}\n(.+)\Z/m.match(t_o)[1] + hd=((t_o =~/^\{table~h/) ? true : false) + tbl,tags=extract_tags(tbl) + rws=tbl.split(/\n/) + rows='' + cols=nil + rws.each do |r| + cols=(cols ? cols : (r.scan('|').length) +1) + r=r.gsub(/\s*\|\s*/m,"#{Mx[:tc_p]}") #r.gsub!(/\|/m,"#{Mx[:tc_p]}") + rows += r + Mx[:tc_c] + end + col=[] + if t_o =~/^\{table(?:~h)?\s+(\d+);?\}/ #width of col 1 given as %, usually when wider than rest that are even + c1=$1.to_i + width=(100 - c1)/(cols - 1) + col=[ c1 ] + (cols - 1).times { col << width } + else #all columns of equal width + width=100.00/cols + cols.times { col << width } + end + h={ + head_: hd, + cols: cols, + widths: col, + obj: rows, + idx: idx, + tags: tags, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectTable.new.table(h) \ + unless h.nil? + tuned_file << t_o + h={ + is_for: :table, + obj: '', + sym: :table_close, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + t_o + elsif t_o=~/^```[ ]+table(?:~h)?\s+/ + m1,m2,hd=nil,nil,nil + h=case t_o + when /^```[ ]+table~h\s+(.+?)\n(.+)\Z/m #two table representations should be consolidated as one + m1,tbl,hd=$1,$2,true + when /^```[ ]+table\s+(.+?)\n(.+)\Z/m #two table representations should be consolidated as one + m1,tbl,hd=$1,$2,false + else nil + end + tbl,tags=extract_tags(tbl) + col=m1.scan(/\d+/) + rws=tbl.split(/\n/) + rows='' + rws.each do |r| + r=r.gsub(/\s*\|\s*/m,"#{Mx[:tc_p]}") #r.gsub!(/\|/m,"#{Mx[:tc_p]}") + rows += r + Mx[:tc_c] + end + h={ + head_: hd, + cols: col.length, + widths: col, + obj: rows, + idx: idx, + tags: tags, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectTable.new.table(h) \ + unless h.nil? + tuned_file << t_o + h={ + is_for: :table, + obj: '', + sym: :table_close, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + t_o + elsif t_o=~/^\{table(?:~h)?\s+/ + m1,m2,hd=nil,nil,nil + h=case t_o + when /\{table~h\s+(.+?)\}\n(.+)\Z/m #two table representations should be consolidated as one + m1,tbl,hd=$1,$2,true + when /\{table\s+(.+?)\}\n(.+)\Z/m #two table representations should be consolidated as one + m1,tbl,hd=$1,$2,false + else nil + end + tbl,tags=extract_tags(tbl) + col=m1.scan(/\d+/) + rws=tbl.split(/\n/) + rows='' + rws.each do |r| + r=r.gsub(/\s*\|\s*/m,"#{Mx[:tc_p]}") #r.gsub!(/\|/m,"#{Mx[:tc_p]}") + rows += r + Mx[:tc_c] + end + h={ + head_: hd, + cols: col.length, + widths: col, + obj: rows, + idx: idx, + tags: tags, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectTable.new.table(h) \ + unless h.nil? + tuned_file << t_o + h={ + is_for: :table, + obj: '', + sym: :table_close, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + t_o +## } depreciated markup, code should (continue to) work for new markup after removal, +# when removing depreciated markup check only pass-through for new table attributes format +# table(.+?){ ``` table(.+?) {table(.+?)} formats + end end t_o end -- cgit v1.2.3 From 7ad032412c7006982ee5909d645b67f4e3b04000 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Mon, 2 Sep 2019 11:36:58 -0400 Subject: markup modification: code blocks attributes, numberlines --- data/doc/sisu/CHANGELOG_v7 | 1 + data/doc/sisu/markup-samples/manual/en/sisu_markup.sst | 6 ++++-- lib/sisu/ao_doc_str.rb | 14 +++++++------- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/data/doc/sisu/CHANGELOG_v7 b/data/doc/sisu/CHANGELOG_v7 index dce249e0..1815a67a 100644 --- a/data/doc/sisu/CHANGELOG_v7 +++ b/data/doc/sisu/CHANGELOG_v7 @@ -30,6 +30,7 @@ Reverse Chronological: - table attributes, place in parenthesis table([attributes]){ ``` table([attributes]) + - code blocks attributes, numberlines * sisu_7.1.12.orig.tar.xz (2019-07-16:28/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.12 diff --git a/data/doc/sisu/markup-samples/manual/en/sisu_markup.sst b/data/doc/sisu/markup-samples/manual/en/sisu_markup.sst index 73ed21ab..95b4a146 100644 --- a/data/doc/sisu/markup-samples/manual/en/sisu_markup.sst +++ b/data/doc/sisu/markup-samples/manual/en/sisu_markup.sst @@ -1225,9 +1225,11 @@ code{ }code -From SiSU 2.7.7 on you can number codeblocks by placing a hash after the opening code tag #{ code{# }# as demonstrated here: +From SiSU 2.7.7 on you can number codeblocks by placing a hash after the opening code tag #{ code{# }# this is depreciated from sisu 7.2.0 with the introduction of the parenthesis before curly braces for attributes. -code{# +From SiSU 7.2.0 on you can number codeblocks by writing the "numberline" attribute within parenthesis before the opening code tag #{ code(numberlines){ }# as demonstrated here: + +code(numberlines){ `Fury said to a mouse, That he diff --git a/lib/sisu/ao_doc_str.rb b/lib/sisu/ao_doc_str.rb index eec2cbad..1aba9bd7 100644 --- a/lib/sisu/ao_doc_str.rb +++ b/lib/sisu/ao_doc_str.rb @@ -296,8 +296,8 @@ module SiSU_AO_DocumentStructureExtract else nil end end - if t_o !~/^(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block)\{|^\}(?:code|poem|alt|group|block)|^(?:table\(.+?\)\{|\{table\()|^(?:table\{|\{table)[ ~]/ \ - and t_o !~/^```[ ]+(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block|table)|^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$|^`:quote_(?:open|close)`/ \ + if t_o !~/^(?:code(?:\.[a-z][0-9a-z_]+)?(?:\(.+?\))?|box(?:\.[a-z_]+)?|poem|alt|group|block)\{|^\}(?:code|poem|alt|group|block)|^(?:table\(.+?\)\{|\{table\()|^(?:table\{|\{table)[ ~]/ \ + and t_o !~/^```[ ]+(?:code(?:\.[a-z][0-9a-z_]+)?(?:\(.+?\))?|box(?:\.[a-z_]+)?|poem|alt|group|block|table)|^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$|^`:quote_(?:open|close)`/ \ and @per.code==:off \ and @per.poem==:off \ and @per.group==:off \ @@ -497,15 +497,15 @@ module SiSU_AO_DocumentStructureExtract t_o=SiSU_AO_DocumentStructureExtract::Structure.new(@md).structure_markup(t_o) #must happen earlier, node info etc. require end elsif @per.code==:off - if t_o =~/^(?:code(?:\.[a-z][0-9a-z_]+)?\{|```[ ]+code(?:\.[a-z][0-9a-z_]+)?)/ + if t_o =~/^(?:code(?:\.[a-z][0-9a-z_]+)?(?:\(.+?\))?\{|```[ ]+code(?:\.[a-z][0-9a-z_]+)?(?:\(.+?\))?)/ @per.code=case t_o - when /^code(?:\.[a-z][0-9a-z_]+)?\{/ then :curls + when /^code(?:\.[a-z][0-9a-z_]+)?(?:\(.+?\))?\{/ then :curls when /^```[ ]+code/ then :tics else @per.code #error end - @per.lngsyn=if t_o =~/^(?:code\.[a-z][0-9a-z_]+\{|```[ ]+code\.[a-z_]+)/ + @per.lngsyn=if t_o =~/^(?:code\.[a-z][0-9a-z_]+(?:\(.+?\))?\{|```[ ]+code\.[a-z_]+)/ case t_o - when /^code\.([a-z][0-9a-z_]+)\{/ + when /^code\.([a-z][0-9a-z_]+)(?:\(.+?\))?\{/ :"#{$1}" when /^```[ ]+code\.([a-z][0-9a-z_]+)/ :"#{$1}" @@ -515,7 +515,7 @@ module SiSU_AO_DocumentStructureExtract end @@counter=1 @codeblock_numbered= - (t_o =~/^(?:code(?:\.[a-z][0-9a-z_]+)?\{#|```[ ]+code(?:\.[a-z][0-9a-z_]+)?\s[#])/) \ + (t_o =~/^(?:code(?:\.[a-z][0-9a-z_]+)?\(.*number(?:lines)?.*?\)\{|```[ ]+code(?:\.[a-z][0-9a-z_]+)?\(.*number(?:lines)?.*?\))/) \ ? true : false @num_id[:code_block] +=1 -- cgit v1.2.3 From 682f720722a0c7d0e42ad521a504d8884b6e171e Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Mon, 2 Sep 2019 11:47:30 -0400 Subject: re-introduce depreciated markup for numbering codeblocks --- lib/sisu/ao_doc_str.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/sisu/ao_doc_str.rb b/lib/sisu/ao_doc_str.rb index 1aba9bd7..40f5a045 100644 --- a/lib/sisu/ao_doc_str.rb +++ b/lib/sisu/ao_doc_str.rb @@ -515,9 +515,12 @@ module SiSU_AO_DocumentStructureExtract end @@counter=1 @codeblock_numbered= - (t_o =~/^(?:code(?:\.[a-z][0-9a-z_]+)?\(.*number(?:lines)?.*?\)\{|```[ ]+code(?:\.[a-z][0-9a-z_]+)?\(.*number(?:lines)?.*?\))/) \ + (t_o =~/^(?:code(?:\.[a-z][0-9a-z_]+)?\(.*number(?:lines)?.*?\)\{|```[ ]+code(?:\.[a-z][0-9a-z_]+)?\(.*number(?:lines)?.*?\)|code(?:\.[a-z][0-9a-z_]+)?\{#|```[ ]+code(?:\.[a-z][0-9a-z_]+)?\s[#])/) \ ? true : false + if (t_o =~/^(?:code(?:\.[a-z][0-9a-z_]+)?\{#|```[ ]+code(?:\.[a-z][0-9a-z_]+)?\s[#])/) + puts "WARNING document using depreciated markup for numbering codeblocks\nuse: code(numberlines){ ... or: ```code(numberlines) ..." + end @num_id[:code_block] +=1 h={ is_for: :code, -- cgit v1.2.3 From e98d95860ee2379fb789b6f4a6da1fcaf97a1264 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 3 Sep 2019 12:11:56 -0400 Subject: qi_libs.rb helper, force git version tag when tag requested --- setup/qi_libs.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup/qi_libs.rb b/setup/qi_libs.rb index 4452bf22..1c294b05 100644 --- a/setup/qi_libs.rb +++ b/setup/qi_libs.rb @@ -482,7 +482,7 @@ proceed? } end def self.tag_upstream system(%{ - git tag -a sisu_#{SiSU_version} -m"SiSU #{SiSU_version}" + git tag -af sisu_#{SiSU_version} -m"SiSU #{SiSU_version}" }) end def self.changelog_header_commit(rel=:release) -- cgit v1.2.3 From fc418a65cf0713d31a6ff5983e774fc7a65a40fb Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 3 Sep 2019 12:12:33 -0400 Subject: version & changelog, tag for release --- data/doc/sisu/CHANGELOG_v7 | 2 +- data/sisu/version.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/doc/sisu/CHANGELOG_v7 b/data/doc/sisu/CHANGELOG_v7 index 1815a67a..55e3ad56 100644 --- a/data/doc/sisu/CHANGELOG_v7 +++ b/data/doc/sisu/CHANGELOG_v7 @@ -22,7 +22,7 @@ Reverse Chronological: --- HEAD --- -* sisu_7.2.0.orig.tar.xz (Open commit window: 2019-08-28; Pre-Release) +* sisu_7.2.0.orig.tar.xz (2019-09-03:35/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.2.0 - markup modification diff --git a/data/sisu/version.yml b/data/sisu/version.yml index 0e060fd1..faa738cc 100644 --- a/data/sisu/version.yml +++ b/data/sisu/version.yml @@ -1,5 +1,5 @@ --- :project: SiSU -:version: 7.2.0_pre_rel -:date_stamp: 2019w34/3 -:date: "2019-08-28" +:version: 7.2.0 +:date_stamp: 2019w35/2 +:date: "2019-09-03" -- cgit v1.2.3 From 63e76b837039ffc604ab7c8216020efdc91d2b8c Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Thu, 5 Sep 2019 19:35:15 -0400 Subject: version & changelog, open commit window --- data/doc/sisu/CHANGELOG_v7 | 3 +++ data/sisu/version.yml | 6 +++--- setup/sisu_version.rb | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/data/doc/sisu/CHANGELOG_v7 b/data/doc/sisu/CHANGELOG_v7 index 55e3ad56..8bc7224f 100644 --- a/data/doc/sisu/CHANGELOG_v7 +++ b/data/doc/sisu/CHANGELOG_v7 @@ -22,6 +22,9 @@ Reverse Chronological: --- HEAD --- +* sisu_7.2.1.orig.tar.xz (Open commit window: 2019-09-05; Pre-Release) + http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.2.1 + * sisu_7.2.0.orig.tar.xz (2019-09-03:35/2) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.2.0 diff --git a/data/sisu/version.yml b/data/sisu/version.yml index faa738cc..ee8f6044 100644 --- a/data/sisu/version.yml +++ b/data/sisu/version.yml @@ -1,5 +1,5 @@ --- :project: SiSU -:version: 7.2.0 -:date_stamp: 2019w35/2 -:date: "2019-09-03" +:version: 7.2.1_pre_rel +:date_stamp: 2019w35/4 +:date: "2019-09-05" diff --git a/setup/sisu_version.rb b/setup/sisu_version.rb index d4852e20..e88d8576 100644 --- a/setup/sisu_version.rb +++ b/setup/sisu_version.rb @@ -1,6 +1,6 @@ #% constants module SiSUversion - SiSU_version = '7.2.0' + SiSU_version = '7.2.1' end module Dev GPGpubKey = '1BB4B289' -- cgit v1.2.3 From 1de01618246a25effb3c19c6d2597246a749479e Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Thu, 27 Feb 2020 10:35:19 -0500 Subject: texpdf setotherlanguage & add package geometry - otherlanguage not always present - landscape title page needs geometry package --- lib/sisu/se_programs.rb | 2 +- lib/sisu/texpdf_format.rb | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/lib/sisu/se_programs.rb b/lib/sisu/se_programs.rb index bcb8228a..efe89946 100644 --- a/lib/sisu/se_programs.rb +++ b/lib/sisu/se_programs.rb @@ -298,7 +298,7 @@ module SiSU_Sys_Call if @pdfetex_flag texpdf_cmd=case texpdf when /xetex/ - %{#{texpdf} -interaction=#{mode} -fmt=xelatex -papersize="#{papersize}" #{@input} #{tell}\n} + %{#{texpdf} -interaction=#{mode} -fmt=xelatex #{@input} #{tell}\n} when /xelatex/ %{#{texpdf} -interaction=#{mode} -papersize="#{papersize}" #{@input} #{tell}\n} when /pdftex/ diff --git a/lib/sisu/texpdf_format.rb b/lib/sisu/texpdf_format.rb index 5c9d2c9d..634bb591 100644 --- a/lib/sisu/texpdf_format.rb +++ b/lib/sisu/texpdf_format.rb @@ -732,11 +732,23 @@ module SiSU_TeX_Pdf \\setmainfont{#{texpdf_fontface}} \\setmonofont[Scale=0.85]{#{texpdf_fontface_mono}} WOK + elsif (tex_head_lang[:mainlang] == "english" \ + && (tex_head_lang[:otherlang] == "english" \ + || tex_head_lang[:otherlang] == "" \ + || tex_head_lang[:otherlang].length == 0)) + <<-WOK +\\usepackage{polyglossia, ucs, fontspec, xltxtra, xunicode} +\\setmainlanguage{#{tex_head_lang[:mainlang]}} +\\setmainfont{#{texpdf_fontface}} +\\setmonofont[Scale=0.85]{#{texpdf_fontface_mono}} +% \\setsansfont{#{texpdf_fontface_sans}} +% \\setromanfont{#{texpdf_fontface_serif}} + WOK else <<-WOK \\usepackage{polyglossia, ucs, fontspec, xltxtra, xunicode} \\setmainlanguage{#{tex_head_lang[:mainlang]}} -\\setotherlanguage{#{tex_head_lang[:otherlang]}} +\\setotherlanguage{english} \\setmainfont{#{texpdf_fontface}} \\setmonofont[Scale=0.85]{#{texpdf_fontface_mono}} % \\setsansfont{#{texpdf_fontface_sans}} @@ -775,6 +787,7 @@ module SiSU_TeX_Pdf multicol=(@md.book_idx ? '\usepackage{multicol}' : '') <<-WOK #{tex_head_info} +\\usepackage{geometry} \\documentclass[#{d[:fontsize]},#{d[:papertype]},titlepage]{scrartcl} %with titlepage \\setlength{\\textheight}{#{d[:textheight]}mm} \\setlength{\\textwidth}{#{d[:textwidth]}mm} \\setlength{\\oddsidemargin}{#{d[:oddsidemargin]}} \\setlength{\\evensidemargin}{#{d[:evensidemargin]}} @@ -788,6 +801,7 @@ module SiSU_TeX_Pdf def tex_head_paper_landscape(d) <<-WOK #{tex_head_info} +\\usepackage{geometry} \\documentclass[#{d[:fontsize]},#{d[:papertype]},landscape,titlepage,twocolumn]{scrartcl} %with titlepage \\setlength{\\textheight}{#{d[:textheight]}mm} \\setlength{\\textwidth}{#{d[:textwidth]}mm} \\setlength{\\oddsidemargin}{#{d[:oddsidemargin]}} \\setlength{\\evensidemargin}{#{d[:evensidemargin]}} -- cgit v1.2.3 From 09505b00a40de484380d34d9426f8b9efbb3bbde Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Thu, 27 Feb 2020 12:26:00 -0500 Subject: xmls, utf8 default, removed character translations --- lib/sisu/prog_text_translation.rb | 2 +- lib/sisu/shared_metadata.rb | 7 ------- lib/sisu/xhtml.rb | 1 - lib/sisu/xml_shared.rb | 1 - 4 files changed, 1 insertion(+), 10 deletions(-) diff --git a/lib/sisu/prog_text_translation.rb b/lib/sisu/prog_text_translation.rb index a94053ef..3785cd9d 100644 --- a/lib/sisu/prog_text_translation.rb +++ b/lib/sisu/prog_text_translation.rb @@ -336,7 +336,7 @@ module SiSU_Translate def author 'Author' end - def author #dc + def creator #dc 'Creator' end def contributor #dc diff --git a/lib/sisu/shared_metadata.rb b/lib/sisu/shared_metadata.rb index c69aa759..1e893ce9 100644 --- a/lib/sisu/shared_metadata.rb +++ b/lib/sisu/shared_metadata.rb @@ -72,7 +72,6 @@ module SiSU_Metadata content=if not content.nil? content=content.tr('"',"'"). gsub(/&/,'&') - content=SiSU_XML_Munge::Trans.new(@md).char_enc.utf8(content) else content end end @@ -813,7 +812,6 @@ module SiSU_Metadata def xml_docbook def meta_para inf_xml=char_enc(@inf).amp - inf_xml=char_enc(inf_xml).utf8 inf_xml=char_enc(inf_xml).br < @@ -829,7 +827,6 @@ WOK def html_display def meta_para inf_xml=char_enc(@inf).amp - inf_xml=char_enc(inf_xml).utf8 inf_xml=char_enc(inf_xml).br %{

#{@tag}: #{inf_xml} @@ -842,7 +839,6 @@ WOK end def xml_sax def meta_para - inf_xml=char_enc(@inf).utf8 inf_xml=char_enc(inf_xml).br < @@ -861,7 +857,6 @@ WOK def xml_dom def meta_para inf_xml=char_enc(inf_xml).amp - inf_xml=char_enc(@inf).utf8 inf_xml=char_enc(inf_xml).br < @@ -880,7 +875,6 @@ WOK def xhtml_scroll def meta_para inf_xml=char_enc(inf_xml).amp - inf_xml=char_enc(@inf).utf8 inf_xml=char_enc(inf_xml).br < @@ -900,7 +894,6 @@ WOK def xhtml_display def meta_para inf_xml=char_enc(@inf).amp - inf_xml=char_enc(inf_xml).utf8 inf_xml=char_enc(inf_xml).br %{

#{@tag}: #{inf_xml} diff --git a/lib/sisu/xhtml.rb b/lib/sisu/xhtml.rb index 352168cc..888f6f0c 100644 --- a/lib/sisu/xhtml.rb +++ b/lib/sisu/xhtml.rb @@ -307,7 +307,6 @@ WOK (0..7).each { |x| @cont[x]=@level[x]=false } (4..7).each { |x| @xml_contents_close[x]='' } data.each do |dob| - dob=@trans.char_enc.utf8(dob) if @sys.locale =~/utf-?8/i #% utf8 dob=@trans.markup(dob) if @rcdc==false \ and (dob.obj =~/~meta/ \ diff --git a/lib/sisu/xml_shared.rb b/lib/sisu/xml_shared.rb index 773043da..7d1aceb1 100644 --- a/lib/sisu/xml_shared.rb +++ b/lib/sisu/xml_shared.rb @@ -598,7 +598,6 @@ module SiSU_XML_Tags #Format content=if not content.nil? content=content.tr('"',"'"). gsub(/&/,'&') - content=SiSU_XML_Munge::Trans.new(@md).char_enc.utf8(content) else content end end -- cgit v1.2.3 From 58bbcd8d98d08e67e93363fb0f8d9f24a5ec5aaa Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 14 Apr 2020 11:12:02 -0400 Subject: emacs sisu-mode.el, syntax highlighting match https --- data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el b/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el index 6bfbb4ba..d59dbe10 100644 --- a/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el +++ b/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el @@ -338,7 +338,7 @@ (cons "^_[0-9]_[0-9]! " 'sisu-general-font-lock-red1) ;; url - (cons "\\(^\\|[ ]\\)http:[/][/][^ \t\n\r<]+" 'sisu-general-font-lock-blue2) + (cons "\\(^\\|[ ]\\)https?:[/][/][^ \t\n\r<]+" 'sisu-general-font-lock-blue2) ;; Comment Lines (cons "^% .*" 'sisu-general-font-lock-blue1) @@ -363,7 +363,7 @@ (concat "\\({~^\\|{\\)" "\\([^}{]+\\)" - "\\(}http:[/][/][^ \r\n\t<]+\\)" + "\\(}https?:[/][/][^ \r\n\t<]+\\)" ) '(1 sisu-general-font-lock-blue2 t) '(2 sisu-general-font-lock-red1 t) -- cgit v1.2.3 From 88ed8a0c1376fbe6d45059694ce31db597fde3e9 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 14 Apr 2020 11:10:59 -0400 Subject: ruby 2.7 fix --- .gitignore | 2 ++ lib/sisu/ao_doc_str.rb | 85 +++++++++++++++++++++++++-------------------- lib/sisu/ao_numbering.rb | 2 +- lib/sisu/db_columns.rb | 21 +++++------ lib/sisu/db_load_tuple.rb | 25 ++----------- lib/sisu/db_sqltxt.rb | 2 +- lib/sisu/dp.rb | 4 +-- lib/sisu/html.rb | 12 +++---- lib/sisu/html_minitoc.rb | 2 +- lib/sisu/html_scroll.rb | 6 ++-- lib/sisu/shared_metadata.rb | 11 ++++-- lib/sisu/texpdf.rb | 12 +++---- lib/sisu/xhtml_epub2.rb | 6 ++-- lib/sisu/xml_odf_odt.rb | 13 +++---- lib/sisu/xml_shared.rb | 1 - 15 files changed, 101 insertions(+), 103 deletions(-) diff --git a/.gitignore b/.gitignore index 327d5c62..7ec72f9a 100644 --- a/.gitignore +++ b/.gitignore @@ -5,8 +5,10 @@ *.\#* *.tmp *_tmp +.* *.gem *.gemspec +!.gitignore *_.rb *.rb_ .pc diff --git a/lib/sisu/ao_doc_str.rb b/lib/sisu/ao_doc_str.rb index 40f5a045..31fd62ec 100644 --- a/lib/sisu/ao_doc_str.rb +++ b/lib/sisu/ao_doc_str.rb @@ -296,15 +296,17 @@ module SiSU_AO_DocumentStructureExtract else nil end end - if t_o !~/^(?:code(?:\.[a-z][0-9a-z_]+)?(?:\(.+?\))?|box(?:\.[a-z_]+)?|poem|alt|group|block)\{|^\}(?:code|poem|alt|group|block)|^(?:table\(.+?\)\{|\{table\()|^(?:table\{|\{table)[ ~]/ \ - and t_o !~/^```[ ]+(?:code(?:\.[a-z][0-9a-z_]+)?(?:\(.+?\))?|box(?:\.[a-z_]+)?|poem|alt|group|block|table)|^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$|^`:quote_(?:open|close)`/ \ - and @per.code==:off \ - and @per.poem==:off \ - and @per.group==:off \ - and @per.block==:off \ - and @per.alt==:off \ - and @per.box==:off \ - and @per.table==:off + if (t_o.is_a?(String) \ + && t_o !~/^(?:code(?:\.[a-z][0-9a-z_]+)?(?:\(.+?\))?|box(?:\.[a-z_]+)?|poem|alt|group|block)\{|^\}(?:code|poem|alt|group|block)|^(?:table\(.+?\)\{|\{table\()|^(?:table\{|\{table)[ ~]/ \ + && t_o !~/^```[ ]+(?:code(?:\.[a-z][0-9a-z_]+)?(?:\(.+?\))?|box(?:\.[a-z_]+)?|poem|alt|group|block|table)|^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$|^`:quote_(?:open|close)`/ \ + and @per.code==:off \ + and @per.poem==:off \ + and @per.group==:off \ + and @per.block==:off \ + and @per.alt==:off \ + and @per.box==:off \ + and @per.table==:off + ) t_o=case t_o when /^#{Mx[:meta_o]}\S+?#{Mx[:meta_c]}/ #metadata, header if t_o=~/^#{Mx[:meta_o]}(\S+?)#{Mx[:meta_c]}\s*(.+)/m @@ -962,9 +964,9 @@ module SiSU_AO_DocumentStructureExtract end if @per.table==:curls or @per.table==:tics if (@per.table==:curls \ - and t_o =~/^\}table/) \ + and (t_o.is_a?(String) and t_o =~/^\}table/)) \ or (@per.table==:tics \ - and t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/) + and (t_o.is_a?(String) and t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/)) @per.table=:off headings,columns,widths,idx=@h[:head_],@h[:cols],@h[:widths],@h[:idx] @h={ @@ -998,9 +1000,10 @@ module SiSU_AO_DocumentStructureExtract if @per.code==:curls \ or @per.code==:tics if (@per.code==:curls \ - && t_o =~/^\}code/) \ + && (t_o.is_a?(String) && t_o =~/^\}code/)) \ or (@per.code==:tics \ - && t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/m) + && (t_o.is_a?(String) && t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/m) \ + ) @per.code=:off if @tuned_code[-1] @tuned_code[-1]. @@ -1049,11 +1052,11 @@ module SiSU_AO_DocumentStructureExtract or (@per.alt==:curls \ || @per.alt==:tics) \ or (@per.quote==:open \ - && t_o =~/`:quote_close`/m) #not + && (t_o.is_a?(String) && t_o =~/`:quote_close`/m)) if (@per.poem==:curls \ - && t_o =~/^\}poem$/m) \ + && (t_o.is_a?(String) && t_o.to_s =~/^\}poem$/m)) \ or (@per.poem==:tics \ - && t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/) + && (t_o.is_a?(String) && t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/)) @per.poem=:off h={ is_for: :poem, @@ -1064,9 +1067,9 @@ module SiSU_AO_DocumentStructureExtract } t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) elsif (@per.box==:curls \ - && t_o =~/^\}box/) \ + && (t_o.is_a?(String) && t_o =~/^\}box/)) \ or (@per.box==:tics \ - && t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/) + && (t_o.is_a?(String) && t_o.to_s =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/)) @per.box=:off obj,tags=extract_tags(@tuned_block.join("\n")) h={ @@ -1087,9 +1090,9 @@ module SiSU_AO_DocumentStructureExtract } t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) elsif (@per.group==:curls \ - && t_o =~/^\}group/) \ + && ( t_o.is_a?(String) && t_o.to_s =~/^\}group/)) \ or (@per.group==:tics \ - && t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/) + && (t_o.is_a?(String) && t_o.to_s =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/)) @per.group=:off obj,tags=extract_tags(@tuned_block.join("\n")) h={ @@ -1109,9 +1112,11 @@ module SiSU_AO_DocumentStructureExtract } t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) elsif (@per.block==:curls \ - && t_o =~/^\}block/) \ + && t_o.to_s =~/^\}block/) \ or (@per.block==:tics \ - && t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/) + && (t_o.is_a?(String) \ + && t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/) \ + ) @per.block=:off obj,tags=extract_tags(@tuned_block.join("\n")) h={ @@ -1131,9 +1136,11 @@ module SiSU_AO_DocumentStructureExtract } t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) elsif (@per.alt==:curls \ - && t_o =~/^\}alt/) \ + && (t_o.is_a?(String) && t_o =~/^\}alt/)) \ or (@per.alt==:tics \ - && t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/) + && t_o.is_a?(String) \ + && (t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/) + ) @per.alt=:off obj,tags=extract_tags(@tuned_block.join("\n")) h={ @@ -1153,7 +1160,7 @@ module SiSU_AO_DocumentStructureExtract } t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) elsif @per.quote==:open \ - and t_o =~/`:quote_close`/m + and (t_o.is_a?(String) && t_o =~/`:quote_close`/m) @per.quote=:off h={ is_for: :quote, @@ -1184,10 +1191,12 @@ module SiSU_AO_DocumentStructureExtract || @per.block==:tics) \ or (@per.alt==:curls \ || @per.alt==:tics) \ - and t_o =~/\S/ \ - and t_o !~/^(?:\}(?:verse|code|box|alt|group|block)|(?:verse|code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|alt|group|block)\{)/ \ - and t_o !~/^```[ ]+(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block)|^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/ # fix logic - sub_array=t_o.dup + and (t_o.is_a?(String) \ + and t_o.to_s =~/\S/ \ + and t_o.to_s !~/^(?:\}(?:verse|code|box|alt|group|block)|(?:verse|code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|alt|group|block)\{)/ \ + and t_o.to_s !~/^```[ ]+(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block)|^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/ + ) + sub_array=t_o.to_s.dup @line_mode=sub_array.scan(/.+/) type=if @per.poem==:curls or @per.poem==:tics t_o=SiSU_AO_DocumentStructureExtract::Build.new(@md,@line_mode).build_lines(type).join @@ -1230,7 +1239,7 @@ module SiSU_AO_DocumentStructureExtract gsub(/[ ][ ]/m,"#{Mx[:nbsp]*2}"). gsub(/#{Mx[:nbsp]}\s/,"#{Mx[:nbsp]*2}") end - @tuned_block << t_o if t_o =~/\S+/ + @tuned_block << t_o if t_o.to_s =~/\S+/ else tuned_file << t_o end else tuned_file << t_o @@ -1700,7 +1709,7 @@ SKIPPED processing file: ocnh+=1 end if ln==0 \ - or ln=~@md.lv0 + or ln.to_s =~@md.lv0 @lev_occurences[:a] += 1 if not dob.obj =~/~#|-#/ ocn_flag=true @@ -1716,7 +1725,7 @@ SKIPPED processing file: collapsed_level=@collapsed_lv0 node,ocn_sp,parent=node0,"h#{ocnh}",'ROOT' elsif ln==1 \ - or ln=~@md.lv1 + or ln.to_s =~@md.lv1 @lev_occurences[:b] += 1 if not dob.obj =~/~#|-#/ ocn_flag=true @@ -1739,7 +1748,7 @@ SKIPPED processing file: collapsed_level=@collapsed_lv1 node,ocn_sp,parent=node1,"h#{ocnh}",node0 #FIX elsif ln==2 \ - or ln=~@md.lv2 + or ln.to_s =~@md.lv2 @lev_occurences[:c] += 1 if not dob.obj =~/~#|-#/ ocn_flag=true @@ -1762,7 +1771,7 @@ SKIPPED processing file: collapsed_level=@collapsed_lv2 node,ocn_sp=node2,"h#{ocnh}" elsif ln==3 \ - or ln=~@md.lv3 + or ln.to_s =~@md.lv3 @lev_occurences[:d] += 1 if not dob.obj =~/~#|-#/ ocn_flag=true @@ -1793,7 +1802,7 @@ or this level should be level :B~ rather than #{dob.lv}} collapsed_level=@collapsed_lv3 node,ocn_sp=node3,"h#{ocnh}" elsif ln==4 \ - or ln=~@md.lv4 + or ln.to_s =~@md.lv4 @lev_occurences[:l1] += 1 if not dob.obj =~/~#|-#/ ocn_flag=true @@ -1827,7 +1836,7 @@ or this level should be level :B~ rather than #{dob.lv}} collapsed_level=@collapsed_lv4 node,ocn_sp=node4,"h#{ocnh}" elsif ln==5 \ - or ln=~@md.lv5 + or ln.to_s =~@md.lv5 @lev_occurences[:l2] += 1 if not dob.obj =~/~#|-#/ ocn_flag=true @@ -1864,7 +1873,7 @@ or this level should be level :B~ rather than #{dob.lv}} collapsed_level=@collapsed_lv5 node,ocn_sp=node5,"h#{ocnh}" elsif ln==6 \ - or ln=~@md.lv6 + or ln.to_s =~@md.lv6 @lev_occurences[:l3] += 1 if not dob.obj =~/~#|-#/ ocn_flag=true @@ -1909,7 +1918,7 @@ or this level should be #5 (2~) rather ##{dob.ln} (#{dob.lv}~)" collapsed_level=@collapsed_lv6 node,ocn_sp=node6,"h#{ocnh}" elsif ln==7 \ - or ln=~@md.lv7 + or ln.to_s =~@md.lv7 @lev_occurences[:l4] += 1 if not dob.obj =~/~#|-#/ ocn_flag=true diff --git a/lib/sisu/ao_numbering.rb b/lib/sisu/ao_numbering.rb index c8bafc23..777c5a44 100644 --- a/lib/sisu/ao_numbering.rb +++ b/lib/sisu/ao_numbering.rb @@ -590,7 +590,7 @@ module SiSU_AO_Numbering : @segname tags["#{dob.ocn}"]={ segname: @segname } ocn_html_seg[dob.ocn]=if (dob.is==:heading || dob.is==:heading_insert) - if dob.ln =~/[0-3]/ + if dob.ln.to_s =~/[0-3]/ { seg: nil, level: dob.ln, diff --git a/lib/sisu/db_columns.rb b/lib/sisu/db_columns.rb index 5ed6e680..608b59a7 100644 --- a/lib/sisu/db_columns.rb +++ b/lib/sisu/db_columns.rb @@ -1886,7 +1886,7 @@ module SiSU_DbColumns end def tuple if defined? @md.wc_words \ - and @md.wc_words=~/\S+/ + and @md.wc_words.to_s=~/\S+/ txt=@md.wc_words txt=special_character_escape(txt) ["#{name}, ","'#{txt}', "] @@ -1957,15 +1957,16 @@ module SiSU_DbColumns %{COMMENT ON COLUMN metadata_and_text.#{name} IS 'metadata document links';} end - def tuple - if defined? @md.links \ - and @md.links=~/\S+/ - txt=@md.links - txt=special_character_escape(txt) - ["#{name}, ","'#{txt}', "] - else ['',''] - end - end + #def tuple + # #BUG HERE - links is an array of paired values :say :url + # if defined? @md.links \ + # and @md.links=~/\S+/ + # txt=@md.links + # txt=special_character_escape(txt) + # ["#{name}, ","'#{txt}', "] + # else ['',''] + # end + #end self end self diff --git a/lib/sisu/db_load_tuple.rb b/lib/sisu/db_load_tuple.rb index 23496388..d7b8e857 100644 --- a/lib/sisu/db_load_tuple.rb +++ b/lib/sisu/db_load_tuple.rb @@ -75,17 +75,12 @@ module SiSU_DbTuple "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, lev7, t_of, t_is, node, parent, digest_clean, digest_all) " + "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:lv7]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');" end - if @opt.act[:verbose_plus][:set]==:on - if @opt.act[:maintenance][:set]==:on + if @opt.act[:maintenance][:set]==:on puts @file_maint.inspect puts sql_entry - end - @file_maint.puts sql_entry - else - if @opt.act[:verbose_plus][:set]==:on - puts sql_entry @file_maint.puts sql_entry - end + elsif @opt.act[:verbose_plus][:set]==:on + puts sql_entry end if @opt.act[:verbose][:set]==:on if @col[:lev].inspect =~/[0-35-7]/ @@ -189,7 +184,6 @@ module SiSU_DbTuple #{@tp.column.src_word_count.tuple[0]} #{@tp.column.src_txt.tuple[0]} #{@tp.column.fulltext.tuple[0]} -#{@tp.column.links.tuple[0]} tid) " + "VALUES ( @@ -269,16 +263,11 @@ tid) #{@tp.column.src_word_count.tuple[1]} #{@tp.column.src_txt.tuple[1]} #{@tp.column.fulltext.tuple[1]} -#{@tp.column.links.tuple[1]} #{@id} );" if @md.opt.act[:maintenance][:set]==:on puts "maintenance mode on: creating sql transaction file (for last transaction set (document) only):\n\t#{@file_maint.inspect}" @file_maint.puts sql_entry - else - if @md.opt.act[:verbose_plus][:set]==:on - @file_maint.puts sql_entry - end end sql_entry end @@ -292,10 +281,6 @@ tid) "VALUES (#{@u[:txt]} #{@u[:html_toc]} #{@u[:html_doc]} #{@u[:xhtml]} #{@u[:xml_sax]} #{@u[:xml_dom]} #{@u[:odf]} #{@u[:pdf_p]} #{@u[:pdf_l]} #{@u[:concordance]} #{@u[:latex_p]} #{@u[:latex_l]} #{@u[:manifest]} #{@u[:digest]} #{@u[:markup]} #{@u[:sisupod]} #{@id});" if @opt.act[:maintenance][:set]==:on @file_maint.puts sql_entry - else - if @opt.act[:verbose_plus][:set]==:on - @file_maint.puts sql_entry - end end sql_entry end @@ -309,10 +294,6 @@ tid) "VALUES ('#{@en[:id]}', '#{@en[:lid]}', '#{@en[:nr]}', '#{@en[:txt]}', '#{@en[:body]}', '#{@en[:ocn]}', '#{@en[:ocnd]}', '#{@en[:ocns]}', '#{@en[:id_t]}', '#{@en[:hash]}');" if @opt.act[:maintenance][:set]==:on @file_maint.puts sql_entry - else - if @opt.act[:verbose_plus][:set]==:on - @file_maint.puts sql_entry - end end sql_entry end diff --git a/lib/sisu/db_sqltxt.rb b/lib/sisu/db_sqltxt.rb index 9f311242..c6c2e301 100644 --- a/lib/sisu/db_sqltxt.rb +++ b/lib/sisu/db_sqltxt.rb @@ -55,7 +55,7 @@ module SiSU_DbText class Prepare def special_character_escape(str) - str=str.gsub(/'/m,"''"). #string.gsub!(/'/,"\047") #string.gsub!(/'/,"\\'") + str=str.to_s.gsub(/'/m,"''"). #string.gsub!(/'/,"\047") #string.gsub!(/'/,"\\'") gsub(/(\\)/m,'\1\1'). #ok but with warnings, double backslash on sqlite #str.gsub!(/[\\]/m,'\\x5C') #ok but with warnings, but not for sqlite #str.gsub!(/(\\)/m,'\1') #ok for sqlite not for pgsql gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}/m,"
\n"). gsub(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/m,''). #check diff --git a/lib/sisu/dp.rb b/lib/sisu/dp.rb index 522510ad..3c7b9203 100644 --- a/lib/sisu/dp.rb +++ b/lib/sisu/dp.rb @@ -1305,8 +1305,8 @@ module SiSU_Param end if @home_button_image \ and @home_button_image.is_a?(Hash) \ - and (@home_button_image =~@rgx_image \ - or @home_button_image =~/\S+?\.(?:jpg|png|gif)/) + and (@home_button_image[:home] =~@rgx_image \ + or @home_button_image[:home] =~/\S+?\.(?:jpg|png|gif)/) @ec[:image] << @home_button_image end if @ec[:image].length > 0 diff --git a/lib/sisu/html.rb b/lib/sisu/html.rb index 6ce8b1b4..ddece373 100644 --- a/lib/sisu/html.rb +++ b/lib/sisu/html.rb @@ -361,7 +361,7 @@ WOK dob=@data linkname,link=dob.obj.strip,dob.ocn if link \ - and link !~/#/ #% keep eye on link + and link.to_s !~/#/ #% keep eye on link SiSU_HTML_Format::ParagraphNumber.new(@md,link) end title=linkname @@ -384,7 +384,7 @@ WOK dob=@data linkname,link=dob.obj.strip,dob.ocn if link \ - and link !~/#/ #% keep eye on link + and link.to_s !~/#/ #% keep eye on link SiSU_HTML_Format::ParagraphNumber.new(@md,link) end title=if dob.obj !~/^Metadata$/ then linkname @@ -430,7 +430,7 @@ WOK dob=@data linkname,ocn=dob.obj.strip,dob.ocn p_num=if ocn \ - and ocn !~/#/ + and ocn.to_s !~/#/ SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) else nil end @@ -454,7 +454,7 @@ WOK dob=@data linkname,ocn=dob.obj.strip,dob.ocn p_num=if ocn \ - and ocn !~/#/ + and ocn.to_s !~/#/ SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) else nil end @@ -526,7 +526,7 @@ WOK linkname,ocn=dob.obj.strip,dob.ocn toc={} if ocn \ - and ocn !~/#/ + and ocn.to_s !~/#/ fnh={ fn: @@seg_url, } @@ -551,7 +551,7 @@ WOK linkname,ocn=dob.obj.strip,dob.ocn toc={} if ocn \ - and ocn !~/#/ + and ocn.to_s !~/#/ fnh={ fn: @@seg_url, } diff --git a/lib/sisu/html_minitoc.rb b/lib/sisu/html_minitoc.rb index 9e2f5295..158e391b 100644 --- a/lib/sisu/html_minitoc.rb +++ b/lib/sisu/html_minitoc.rb @@ -161,7 +161,7 @@ end def level_4 txt=@data - unless txt =~/~metadata/ + unless txt.obj =~/~metadata/ if txt.ln ==4 fnh={ fn: txt.name, diff --git a/lib/sisu/html_scroll.rb b/lib/sisu/html_scroll.rb index 172a88a4..f2a8bb4f 100644 --- a/lib/sisu/html_scroll.rb +++ b/lib/sisu/html_scroll.rb @@ -209,9 +209,9 @@ module SiSU_HTML_Scroll sto.table elsif dob.is==:break end - if dob =~// \ - and dob =~/^(?:\^~\d+\s|)/ # hmmm re-adjusted 200507, for alt endnote which should again be matched ^~ ... not in response to problem though - dob='' + if dob.obj =~// \ + and dob.obj =~/^(?:\^~\d+\s|)/ # hmmm re-adjusted 200507, for alt endnote which should again be matched ^~ ... not in response to problem though + dob.obj='' end unless @rcdc @scr[:body] << para_html unless para_html =~/\A\s*\Z/ diff --git a/lib/sisu/shared_metadata.rb b/lib/sisu/shared_metadata.rb index 1e893ce9..8a57eaeb 100644 --- a/lib/sisu/shared_metadata.rb +++ b/lib/sisu/shared_metadata.rb @@ -1151,9 +1151,14 @@ WOK tag,inf=tr.prefix_b,@md.notes.prefix_b meta << meta_para(tag,inf) end - if defined? @md.classify.identifier \ - and @md.classify.identifier=~/\S+/ - tag,inf=tr.identifier,@md.classify.identifier + if defined? @md.identifier.isbn \ + and @md.identifier.isbn=~/\S+/ + tag,inf=tr.cls_isbn,@md.identifier.isbn + meta << meta_para(tag,inf) + end + if defined? @md.identifier.oclc \ + and @md.identifier.oclc=~/\S+/ + tag,inf=tr.cls_oclc,@md.identifier.oclc meta << meta_para(tag,inf) end if defined? @md.original.source \ diff --git a/lib/sisu/texpdf.rb b/lib/sisu/texpdf.rb index 57202bfd..923b7ad1 100644 --- a/lib/sisu/texpdf.rb +++ b/lib/sisu/texpdf.rb @@ -639,7 +639,7 @@ module SiSU_TeX dob else 'error' #should never occur end - dob=enclose(dob) unless dob.tmp =~/^$/ + dob=enclose(dob) unless (dob.tmp.is_a?(String) && dob.tmp =~/^$/) dob else tst=SiSU_TeX_Pdf::FormatTextObject.new(@md,dob) @@ -710,11 +710,11 @@ module SiSU_TeX dob.tmp=tst.hang else dob.tmp=dob.tmp.strip - dob=enclose(dob) unless dob.tmp =~/^$/ + dob=enclose(dob) unless (dob.tmp.is_a?(String) && dob.tmp =~/^$/) end else dob.tmp=dob.tmp.strip unless dob.is==:code - dob=enclose(dob) unless dob.tmp =~/^$/ + dob=enclose(dob) unless (dob.tmp.is_a?(String) && dob.tmp =~/^$/) end if dob.is_a?(String) dob.tmp=dob.tmp.gsub(/\s*(?:#{Mx[:br_line]}|#{Mx[:br_nl]})\s*/,' \newline '). #% tread with care @@ -722,20 +722,20 @@ module SiSU_TeX end dob end - if dob.tmp =~/(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image\b)/m \ + if (dob.tmp.is_a?(String) and dob.tmp =~/(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image\b)/m) \ && dob.is !=:code dob=SiSU_TeX_Pdf::BareUrls.new(@md,dob).bare_urls tst=SiSU_TeX_Pdf::FormatTextObject.new(@md,dob) dob=tst.urls_txt_and_images dob - elsif dob.tmp =~/https?:\/\/\S+\b/m \ + elsif (dob.tmp.is_a?(String) and dob.tmp =~/https?:\/\/\S+\b/m) \ && dob.is ==:code \ && @codeblock_box !='listings' dob=SiSU_TeX_Pdf::BareUrls.new(@md,dob).bare_urls_in_code dob end if dob.class !=Hash \ - && dob.tmp =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}image\b/ \ + && (dob.tmp.is_a?(String) and dob.tmp =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}image\b/) \ && dob.is !=:code tst=SiSU_TeX_Pdf::FormatTextObject.new(@md,dob) end diff --git a/lib/sisu/xhtml_epub2.rb b/lib/sisu/xhtml_epub2.rb index 513b8436..c80a90df 100644 --- a/lib/sisu/xhtml_epub2.rb +++ b/lib/sisu/xhtml_epub2.rb @@ -579,7 +579,7 @@ module SiSU_XHTML_EPUB2 ocn=dob.ocn toc={} if ocn \ - and ocn !~/#/ + and ocn.to_s !~/#/ p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn) lnk_n_txt=%{ #{linkname} @@ -600,7 +600,7 @@ module SiSU_XHTML_EPUB2 ocn=dob.ocn toc={} if ocn \ - and ocn !~/#/ + and ocn.to_s !~/#/ p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn) lnk_n_txt=%{ #{linkname} @@ -621,7 +621,7 @@ module SiSU_XHTML_EPUB2 ocn=dob.ocn toc={} if ocn \ - and ocn !~/#/ + and ocn.to_s !~/#/ p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn) lnk_n_txt=%{ #{linkname} diff --git a/lib/sisu/xml_odf_odt.rb b/lib/sisu/xml_odf_odt.rb index 4d670a92..1f1c69b7 100644 --- a/lib/sisu/xml_odf_odt.rb +++ b/lib/sisu/xml_odf_odt.rb @@ -215,7 +215,8 @@ module SiSU_XML_ODF_ODT end unless @@docstart breakpage=if (@md.pagenew || @md.pagebreak) \ - and (@md.pagenew =~m or @md.pagebreak =~m) + and (@md.pagenew.to_s =~m \ + or @md.pagebreak.to_s =~m) ' ' elsif @md.pageline \ and @md.pageline =~m #fix @@ -612,7 +613,7 @@ module SiSU_XML_ODF_ODT if dob.is !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ if @make.build.odt_ocn? if defined? dob.ocn \ - and dob.ocn.is_a?(Fixnum) + and dob.ocn.is_a?(Integer) p_num=SiSU_XML_ODF_ODT_Format::ParagraphNumber.new(@make,dob.ocn).set_bookmark_and_display end end @@ -670,7 +671,7 @@ module SiSU_XML_ODF_ODT word=dob.obj.scan(/\S+|\n/) if word word.each do |w| # _ - / # | : ! ^ ~ - unless dob =~/^(?:#{Rx[:meta]}|%+ )/m + unless dob.obj =~/^(?:#{Rx[:meta]}|%+ )/m w=w.gsub(/&#(?:126|152);/,'~'). #126 usual gsub(/ /,' ') if w !~/(?:&\S{2,7}?;)+/ @@ -735,9 +736,9 @@ module SiSU_XML_ODF_ODT dob.obj=tidywords(wordlist).join(' ').strip @rcdc=true if @rcdc==false \ and (dob.obj =~/~metadata/ \ - or dob =~/#{Mx[:lv_o]}1:meta#{Mx[:lv_x]}\s*Document Information/) #fix Mx[:lv_o] + or dob.obj =~/#{Mx[:lv_o]}1:meta#{Mx[:lv_x]}\s*Document Information/) #fix Mx[:lv_o] if dob.is !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ #check - if defined? dob.ocn and dob.ocn =~/\d+/ + if defined? dob.ocn and dob.ocn.to_s =~/\d+/ @p_num=SiSU_XML_ODF_ODT_Format::ParagraphNumber.new(@make,dob.ocn) end if dob.is ==:heading \ @@ -859,7 +860,7 @@ WOK env.make_path(@md.file.output_path.odt.dir) filename="#{@env.processing_path.odt}/content.xml" od=File.new(filename,'w+') - @content.compact.each do |para| # this is a hack + @content.flatten.compact.each do |para| # this is a hack, check change does not alter behavior od.puts para unless para =~/\A\s*\Z/ end od.close diff --git a/lib/sisu/xml_shared.rb b/lib/sisu/xml_shared.rb index 7d1aceb1..906da2a0 100644 --- a/lib/sisu/xml_shared.rb +++ b/lib/sisu/xml_shared.rb @@ -81,7 +81,6 @@ module SiSU_XML_Munge inst: 'institute', co: 'company', com: 'company', - conv: 'convention', dt: 'date', y: 'year', m: 'month', -- cgit v1.2.3 From 05d55711d19779a16ea1dbb1d0199b088c7ea35a Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Thu, 9 Jul 2020 20:02:23 -0400 Subject: sisu.org minor adjustment to opening description --- data/doc/sisu/org/sisu.org | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/data/doc/sisu/org/sisu.org b/data/doc/sisu/org/sisu.org index e2933b1b..e7f3e7e9 100644 --- a/data/doc/sisu/org/sisu.org +++ b/data/doc/sisu/org/sisu.org @@ -1,7 +1,7 @@ #+TITLE: SiSU #+AUTHOR: Ralph Amissah #+EMAIL: ralph.amissah@gmail.com -#+STARTUP: indent content +#+STARTUP: content #+LANGUAGE: en #+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc @@ -10,13 +10,12 @@ #+EXPORT_SELECT_TAGS: export #+EXPORT_EXCLUDE_TAGS: noexport #+FILETAGS: :sisu:notes: -(emacs:evil mode gifts a "vim" of enticing "alternative" powers! ;) -(vim, my _editor_ of choice also in the emacs environment :) * What is SiSU? -Multiple output formats with a nod to the strengths of each output format and -the ability to cite text easily across output formats. +SiSU is a document generator that run against (sisu) marked up documents +produces multiple document formats with a nod to the strengths of each document +format while making them easily citable across available formats. ** debian/control desc @@ -251,6 +250,7 @@ Document structure being the document heading hierarchy (having separated out the document header). *** What are document objects? + An object is an identified meaningful unit of a document, most commonly a paragraph of text, but also for example a table, code block, verse or image. @@ -320,6 +320,7 @@ html, LaTeX, XML, SQL, (whatever) is also inherent in / incidental to the design. ** Summary + SiSU information Structuring Universe Structured information, Serialized Units or software for electronic texts, document collections, @@ -547,23 +548,31 @@ cover a wide range of documents within its use domain have been explored. 2010 w3 since October 3 1993 + * Finding SiSU ** source + http://git.sisudoc.org/gitweb/ *** sisu + sisu git repo: http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary **** most recent source without repo history + git clone --depth 1 git://git.sisudoc.org/git/code/sisu.git --branch upstream + **** full clone + git clone git://git.sisudoc.org/git/code/sisu.git --branch upstream *** sisu-markup-samples git repo: + http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=summary ** mailing list + sisu at lists.sisudoc.org http://lists.sisudoc.org/listinfo/sisu @@ -764,6 +773,7 @@ The package is divided into the following components: ** markup :markup: *** sisu document parts + - header - metadata - make instructionS @@ -801,6 +811,7 @@ The package is divided into the following components: |---------------------+-----------------------------------------------------------------------+------------------------+--------| *** structure - headings, levels + - headings (A-D, 1-3) 'A~ ' NOTE title level @@ -818,6 +829,7 @@ The package is divided into the following components: * children *** font face NOTE open & close marks, inline within paragraph + * emphasize '*{ ... }*' NOTE configure whether bold italics or underscore, default bold * bold '!{ ... }!' * italics '/{ ... }/' @@ -829,6 +841,7 @@ The package is divided into the following components: * monospace '#{ ... }#' *** para + NOTE paragraph controls are at the start of a paragraph * a para is a block of text separated from others by an empty line * indent @@ -845,6 +858,7 @@ NOTE paragraph controls are at the start of a paragraph '# ' *** blocks + NOTE text blocks that are not to be treated in the way that ordinary paragraphs would be * code * [type of markup if any] @@ -854,23 +868,28 @@ NOTE text blocks that are not to be treated in the way that ordinary paragraphs * tables *** notes (footnotes/ endnotes) + NOTE inline within paragraph at the location where the note reference is to occur * footnotes '~{ ... }~' * [bibliography] [NB N/A not implemented] *** links, linking + * links - external, web, url * links - internal *** images [multimedia?] + * images * [base64 inline] [N/A not implemented] *** object numbers + * ocn (object numbers) automatically attributed to substantive objects, paragraphs, tables, blocks, verse (unless exclude marker provided) *** contents + * toc (table of contents) autogenerated from structure/headings information * index (book index) @@ -883,7 +902,9 @@ NOTE text blocks that are not to be treated in the way that ordinary paragraphs * horizontal '-..-' start of line, rule page (break) line across page (dividing paragraphs) *** book type index -built from hints in newline text following a paragraph and starting with ={} has identifying rules for main and subsidiary text + +built from hints in newline text following a paragraph and starting with ={} has +identifying rules for main and subsidiary text #% comment * comment @@ -894,12 +915,15 @@ built from hints in newline text following a paragraph and starting with ={} has ** syntax highlighting :syntax:highlighting: *** vim + data/sisu/conf/editor-syntax-etc/vim/ data/sisu/conf/editor-syntax-etc/vim/syntax/sisu.vim *** emacs + data/sisu/conf/editor-syntax-etc/emacs/ data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el * todo + sisu_todo.org -- cgit v1.2.3 From 58c37322bd487ed28c4604340f82b1e7769e8666 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Mon, 9 Nov 2020 18:42:38 -0500 Subject: nixify (start to nixify) --- .envrc | 13 + .gitignore | 1 + CHANGELOG | 17 +- CHANGELOGS/CHANGELOG | 1 + README | 27 +- data/doc/sisu/CHANGELOG | 9547 +++++++++++++++++++++++++++++++++++++ lib/sisu/sisu_thor_lib.rb | 52 + nix/pkglst/packages.nix | 13 + nix/pkglst/packages_rauby_2_6.nix | 13 + nix/pkglst/packages_rauby_2_7.nix | 13 + org/sisu_build.org | 6000 +++++++++++++++++++++++ qi | 13 +- setup/qi_libs.rb | 8 +- setup/rbuild | 14 +- setup/rbuild_help.rb | 1 - setup/rbuild_libs.rb | 4 +- shell.nix | 6 + 17 files changed, 15691 insertions(+), 52 deletions(-) create mode 100644 .envrc mode change 100644 => 120000 CHANGELOG create mode 120000 CHANGELOGS/CHANGELOG create mode 100644 data/doc/sisu/CHANGELOG create mode 100644 nix/pkglst/packages.nix create mode 100644 nix/pkglst/packages_rauby_2_6.nix create mode 100644 nix/pkglst/packages_rauby_2_7.nix create mode 100644 org/sisu_build.org mode change 100644 => 100755 setup/rbuild create mode 100644 shell.nix diff --git a/.envrc b/.envrc new file mode 100644 index 00000000..dd2752c9 --- /dev/null +++ b/.envrc @@ -0,0 +1,13 @@ +if type lorri &>/dev/null; then + echo "direnv: using lorri from PATH ($(type -p lorri))" + eval "$(lorri direnv)" +else + # fall back to using direnv's builtin nix support + # to prevent bootstrapping problems. + use nix + NIX_ENFORCE_PURITY=0 +fi +# source an additional user-specific .envrc in ./.envrc-local +if [ -e .envrc-local ]; then + source .envrc-local +fi diff --git a/.gitignore b/.gitignore index 7ec72f9a..321ba4a7 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ *.gem *.gemspec !.gitignore +!.envrc *_.rb *.rb_ .pc diff --git a/CHANGELOG b/CHANGELOG deleted file mode 100644 index 87616dc5..00000000 --- a/CHANGELOG +++ /dev/null @@ -1,16 +0,0 @@ -* for CHANGELOGS - * in program directory tree see ./CHANGELOGS/* (softlinks to:) - files in ./data/doc/sisu/ - ./data/doc/sisu/CHANGELOG_v* - * installed to /usr/share/doc/sisu/* - -* sisu source: - - -* ./debian/changelog (in debian/sid branch) - -* README -* ./data/doc/sisu/org/sisu.org - -* sisu-markup-samples source: - diff --git a/CHANGELOG b/CHANGELOG new file mode 120000 index 00000000..f360c4bb --- /dev/null +++ b/CHANGELOG @@ -0,0 +1 @@ +./data/doc/sisu/CHANGELOG \ No newline at end of file diff --git a/CHANGELOGS/CHANGELOG b/CHANGELOGS/CHANGELOG new file mode 120000 index 00000000..46d7caf6 --- /dev/null +++ b/CHANGELOGS/CHANGELOG @@ -0,0 +1 @@ +../data/doc/sisu/CHANGELOG \ No newline at end of file diff --git a/README b/README index 8997b7fc..2d1e9825 100644 --- a/README +++ b/README @@ -31,8 +31,7 @@ manifests of generated output. Book indexes may be made. Some document markup samples are provided in the package sisu -markup-samples. Homepages: -* -* +- INSTALL OR RUN WITHOUT INSTALLATION *********************************** @@ -907,11 +906,11 @@ All paragraphs are separated by an empty line. Markup is comprised of: -* at the top of a document, the document header made up of semantic meta-data +- at the top of a document, the document header made up of semantic meta-data about the document and if desired additional processing instructions (such an instruction to automatically number headings from a particular level down) -* followed by the prepared substantive text of which the most important single +- followed by the prepared substantive text of which the most important single characteristic is the markup of different heading levels, which define the primary outline of the document structure. Markup of substantive text includes: @@ -973,22 +972,22 @@ text * if C~ is last used: C~ or B~; if D~ is used: D~, C~ or B~) -* level A~ is the tile and is mandatory -* there can only be one level A~ -* heading levels BCD, are optional and there may be several of each +- level A~ is the tile and is mandatory +- there can only be one level A~ +- heading levels BCD, are optional and there may be several of each (where all three are used corresponding to e.g. Book Part Section) * sublevels that are used must follow each other sequentially (alphabetically), -* heading levels A~ B~ C~ D~ are followed by other heading levels rather +- heading levels A~ B~ C~ D~ are followed by other heading levels rather than substantive text which may be the subsequent sequential (alphabetic) heading part level or a heading (segment) level 1~ -* there must be at least one heading (segment) level 1~ +- there must be at least one heading (segment) level 1~ (the level on which the text is segmented, in a book would correspond to the Chapter level) -* additional heading levels 1~ 2~ 3~ are optional and there may be several +- additional heading levels 1~ 2~ 3~ are optional and there may be several of each -* heading levels 1~ 2~ 3~ are followed by text (which may be followed by +- heading levels 1~ 2~ 3~ are followed by text (which may be followed by the same heading level) and/or the next lower numeric heading level (followed by text) or indeed return to the relevant part level @@ -1307,7 +1306,7 @@ _2* bullet text, two step indent *resulting output:* -* bullet text +- bullet text * bullet text, first indent @@ -1675,7 +1674,7 @@ Very active contributors*** | 0| 31| 190| 692| 1,6 No. of English language articles| 25| 16,000| 101,000| 190,000| 320,000| 630,000 No. of articles, all languages | 25| 19,000| 138,000| 490,000| 862,000|1,600,000 -* Contributed at least ten times; ** at least 5 times in last month; *** more than 100 times in last month. +- Contributed at least ten times; ** at least 5 times in last month; *** more than 100 times in last month. *resulting output:* @@ -1683,7 +1682,7 @@ No. of articles, all languages | 25| 19,000| 138,000| 490,000| 862,0 ┆Jan. 2001┆Jan. 2002┆Jan. 2003┆Jan. 2004┆July 2004┆June 2006』Contributors*┆10┆472┆2,188┆9,653┆25,011┆48,721』Active contributors**┆9┆212┆846┆3,228┆8,442┆16,945』Very active contributors***┆0┆31┆190┆692┆1,639┆3,016』No. of English language articles┆25┆16,000┆101,000┆190,000┆320,000┆630,000』No. of articles, all languages┆25┆19,000┆138,000┆490,000┆862,000┆1,600,000』 -* Contributed at least ten times; ** at least 5 times in last month; *** more +- Contributed at least ten times; ** at least 5 times in last month; *** more than 100 times in last month. diff --git a/data/doc/sisu/CHANGELOG b/data/doc/sisu/CHANGELOG new file mode 100644 index 00000000..c78eb12e --- /dev/null +++ b/data/doc/sisu/CHANGELOG @@ -0,0 +1,9547 @@ +version & changelog, tag for release +2019-09-03 ralph@amissah.com +fc418a65 (tag: sisu_7.2.0) + +qi_libs.rb helper, force git version tag when tag requested +2019-09-03 ralph@amissah.com +e98d9586 + +re-introduce depreciated markup for numbering codeblocks +2019-09-02 ralph@amissah.com +682f7207 + +markup modification: code blocks attributes, numberlines +2019-09-02 ralph@amissah.com +7ad03241 + +re-introduce depreciated table markup for table attributes +2019-08-28 ralph@amissah.com +e4af625f + +markup modification: table attributes +2019-08-28 ralph@amissah.com +172c0417 + +markup modification: distinguish blocks and groups +2019-08-28 ralph@amissah.com +480ff5a4 +- use where appropriate instead of poem + +version & changelog, open commit window +2019-08-28 ralph@amissah.com +cb1f7d55 + +version & changelog, tag for release +2019-07-16 ralph@amissah.com +444465c1 (tag: sisu_7.1.12, origin/upstream) + +texpdf, indent values, use formula (to replace table) +2019-07-16 ralph@amissah.com +38f77adf +- values changed to work better with portrait a4 & letter + +changelogs cosmetic substitution (org-mode) +2019-07-16 ralph@amissah.com +df3dbe03 + +version & changelog, open commit window +2019-07-16 ralph@amissah.com +888aace2 + +version & changelog, tag for release +2017-07-14 ralph@amissah.com +daba1068 (tag: sisu_7.1.11) + +--no-metadata turns off appending metadata to doc +2017-07-14 ralph@amissah.com +486a84f9 +- (Closes: #746742) + "please implement --no-metadata similar to --no-manifest" + +html, minitoc, default off +2017-07-14 ralph@amissah.com +90e27c85 +- default where no instruction given changed to false + (requested, as minitoc is sub-optimal for viewing with + smaller devices (when present minitoc is placed on left + part of screen together with content to its right)) + +version & changelog, open commit window +2017-07-14 ralph@amissah.com +ff31523b + +version & changelog, tag for release +2017-07-02 ralph@amissah.com +71d9615c (tag: sisu_7.1.10) + +texpf_format (debian texlive packages for usepackage .sty) +2017-07-02 ralph@amissah.com +55df651b +- update notes + +sisu.vim (syntax highlighting) back reference related fix +2017-07-02 ralph@amissah.com +63825bdc +- provided by Bram Moolenaar + +version & changelog, open commit window +2017-07-02 ralph@amissah.com +e4d9cabb + +version & changelog, tag for release +2016-07-31 ralph@amissah.com +ab9d0a0a (tag: sisu_7.1.9) + +html css, (root) heading size +2016-07-31 ralph@amissah.com +c3c2422a + +version & changelog, open commit window +2016-07-31 ralph@amissah.com +5b9b6b73 + +version & changelog, tag for release +2016-02-26 ralph@amissah.com +eea0f68f (tag: sisu_7.1.8) + +json, an output representation, first pass +2016-02-24 ralph@amissah.com +ee91e628 + +txt_orgmode, update (dp add email header field) +2016-02-21 ralph@amissah.com +3c8723a4 + +sisu.org add to header and minor update +2016-02-21 ralph@amissah.com +c558a2b2 + +sisu-mode.el 7.1.8 as committed to Gnu elpa +2016-02-20 ralph@amissah.com +aed0c99e +- submissions with much feedback from Stefan Monnier +- 2016-02-22 + +header hyperlink delimiters, now square brackets +2016-02-12 ralph@amissah.com +feffc6a1 + +headers, year set 2016 +2016-02-09 ralph@amissah.com +6532732d + +version & changelog, open commit window +2016-02-09 ralph@amissah.com +05757bab + +version & changelog, tag for release +2016-01-05 ralph@amissah.com +c716980a (tag: sisu_7.1.7) + +sisu-mode.el, tic block markup, and minor arrangement +2015-12-29 ralph@amissah.com +804502e6 +- moves outline-regexp +- adjustment to autoload list + +sisu-mode.el apply patch from Kevin Ryde of 2015-12-18 +2015-12-29 ralph@amissah.com +a6a3601e + +version & changelog, open commit window +2015-12-29 ralph@amissah.com +f4963b4c + +version & changelog, tag for release +2015-12-15 ralph@amissah.com +96ace838 (tag: sisu_7.1.6) + +ao_images, require 'rmagick' (instead of 'RMagick' depreciated) +2015-12-14 ralph@amissah.com +07970cd9 + +filename reference version update sisu_7a_sqlite.cgi +2015-12-14 ralph@amissah.com +86cf7cf3 + +documentation related to search, needs further review +2015-12-14 ralph@amissah.com +bc2b328e + +emacs sisu-mode.el match tic style markup blocks ``` (revisit required) +2015-12-14 ralph@amissah.com +9664f4d7 + +emacs sisu-mode.el & sisu-mode-autoloads.el +2015-12-14 ralph@amissah.com +923d361c +- sisu-mode.el, minor update and modify format to reduce diff with FSF + version +- sisu-mode-autoloads.el, added (see elpa 3.0.3 & Kevin Ryde recent post) + +version & changelog, open commit window +2015-12-14 ralph@amissah.com +3c0ac733 + +version & changelog, tag for release +2015-06-02 ralph@amissah.com +f3a5e917 (tag: sisu_7.1.5) + +minor clean, a file removed +2015-06-02 ralph@amissah.com +c0b6f1bc + +version & changelog, open commit window +2015-06-02 ralph@amissah.com +5640ed78 + +version & changelog, tag for release +2015-05-21 ralph@amissah.com +a79af026 (tag: sisu_7.1.4) + +constants, search, db name, period before and after db version +2015-05-20 ralph@amissah.com +0a971e44 (tag: sisu_7.1.3) +- aesthetic change, the current db name base becomes SiSU.7a. +- existing databases must be reinitialized +- (database structure is unchanged) + +date, some remaining year updates 2015 +2015-05-21 ralph@amissah.com +53e47913 + +version & changelog, open commit window +2015-05-20 ralph@amissah.com +a271416b + +version & changelog, tag for release +2015-05-18 ralph@amissah.com +17f9306b (tag: sisu_7.1.2) + +bin/sisu juggle multiple install & run options, resolve issue +2015-05-18 ralph@amissah.com +8b1af126 + +version & changelog, open commit window +2015-05-18 ralph@amissah.com +4b49cafb + +version & changelog, tag for release +2015-05-17 ralph@amissah.com +4748a2ee (tag: sisu_7.1.1) + +qi pkg manage changelog +2015-05-17 ralph@amissah.com +5ccf1584 + +bin/sisu juggle multiple install & run options +2015-05-17 ralph@amissah.com +d020a0bd + +qi (quick install) gem install version +2015-05-17 ralph@amissah.com +9979682d + +qi (quick install) gem install git version option +2015-05-17 ralph@amissah.com +164ba294 + +bin/sisu , install name check (stable & git versions) +2015-05-17 ralph@amissah.com +6217cf0e + +version & changelog, open commit window +2015-05-17 ralph@amissah.com +e58fbdc6 + +version & changelog, tag for release +2015-05-12 ralph@amissah.com +02d744a3 (tag: sisu_7.1.0) + +documentation update !bibliography & !glossary +2015-05-12 ralph@amissah.com +ab31d70b + +appendices: bibliography & glossary, worked on +2015-05-11 ralph@amissah.com +40b83047 +- bibliography & glossary make activated by markup headers + 1~!biblio & 1~!glossary +- bibliography tags altered + (introduced in 5.8.0 v6 project dir branch) +- version bump for change in behavior + +ao_references, fix +2015-05-11 ralph@amissah.com +c606ff1a + +qi (quick install) cleaning +2015-05-06 ralph@amissah.com +ee8b3b22 + +changelogs, clean up some cruft +2015-05-13 ralph@amissah.com +98461acf + +version & changelog +2015-05-05 ralph@amissah.com +fba0e3e4 + +version & changelog, tag for release +2015-05-01 ralph@amissah.com +c0f6a9e6 (tag: sisu_7.0.0) + +documentation, reflect absence of version directory branches +2015-05-01 ralph@amissah.com +6ca9586a + +lib/sisu/*, single libs directory (c&d gone) (7) +2015-04-21 ralph@amissah.com +960c3088 +- removed lib/sisu/{current,develop} dir branches + v7 (v5 & v6 retired) +- simplify dir structure, offer single version per snapshot +- have enjoyed carrying stable and development versions v5 & v6 + in a single tarball, may return to this structure + +version & changelog v7 +2015-04-20 ralph@amissah.com +4e86b5cc +- version info changes cause break, fixed in next commit + +version & changelog, tag for release +2015-04-21 ralph@amissah.com +1b360ea3 (tag: sisu_6.5.0) + +d: v6 made default branch (prior to v7 dir restructuring) +2015-04-21 ralph@amissah.com +2ade55a3 +- v5 invocation available as legacy, but is the same as v6 +- qi_libs, gem metadata, minor +- sisu_packaging.org: ruby require list; update sisu description +- bin/ chmod 755 + +c<-d: sync, roll develop into current dir branch (5==6) +2015-04-19 ralph@amissah.com +1323f18a +- two dir branches, same library contents + (v5 synced & updated with v6) + +setup.rb s/Config/RbConfig/ +2015-04-29 ralph@amissah.com +0de7dc34 + +gitignore adjustments +2015-04-30 ralph@amissah.com +caa1ddce + +c&d: version & changelog +2015-04-20 ralph@amissah.com +4706c1ff + +version & changelog, tag for release +2015-04-21 ralph@amissah.com +e0edf0e7 (tag: sisu_5.8.0) + +c&d: se_info_env, program images path +2015-04-21 ralph@amissah.com +6b914403 + +c: hub options, fix +2015-04-21 ralph@amissah.com +b2ff4e77 + +qi libs, minor, remove debian specific url +2015-04-21 ralph@amissah.com +2f5043b9 + +sisu.org git download info +2015-04-21 ralph@amissah.com +55cfe3bb + +gitignore adjustments +2015-04-21 ralph@amissah.com +ae273564 + +d: hub, if run from dir tree check git describe version info +2015-04-12 ralph@amissah.com +0ec4b394 + +bin/sisu when run from dir tree, check git describe version info +2015-04-12 ralph@amissah.com +d0ad76e3 + +documentation, acquiring source & installation, minor +2015-04-10 ralph@amissah.com +09497963 + +install related, qi (quick install) & rake +2015-04-10 ralph@amissah.com +490b3717 + +qi (quick install) fix +2015-04-08 ralph@amissah.com +72fbfab2 + +sisu packaging notes +2015-04-06 ralph@amissah.com +096c8888 + +sisu.org, prevent subscripting (by underscore) mangles file paths +2015-04-06 ralph@amissah.com +28c21059 + +c&d: sort image path when run from project dir (not installed) +2015-04-06 ralph@amissah.com +7ae4b455 + +c&d: pass info needed make run better without install +2015-04-06 ralph@amissah.com +906634e9 + +c&d: se_programs for "which" i/o redirection of error message +2015-04-06 ralph@amissah.com +8f28f4c4 + +d: ao_doc_objects fix for ao_doc_str +2015-04-07 ralph@amissah.com +aa72429a + +c&d: cleaning +2015-04-06 ralph@amissah.com +16615136 + +gitignore, minor adjustment +2015-04-06 ralph@amissah.com +8a8d7146 + +documentation update to mention bibliography +2015-03-22 ralph@amissah.com +28203ded + +d: bibliography marked up section of citations & metadata +2015-03-19 ralph@amissah.com +e7ce21ab +- if any order is as follows: endnotes; bibliography; index +- to trigger, identify the bibliography section using heading + 1~biblio +- and either: + - provide tagged bibliography at end of document, along with + an id for use in footnotes & the short title that should + be used to substitute the id + or: + - tag citations in footnotes that should appear in + bibliography +- bibliography currently sorted on last name year and title +- first pass (see documentation to be provided) + +d: ao & elsewhere, use of map & select +2015-03-19 ralph@amissah.com +64dfdccb + +d: manifest add html ids to label/identify content +2015-03-22 ralph@amissah.com +aae3c4c1 + +d: manpage fix +2015-03-22 ralph@amissah.com +70cf530d + +c&d: ao regex matches, auto match possessives ending in 's +2015-03-19 ralph@amissah.com +24624902 +- header regex matches for bold & italics, auto match possessives + ending in 's + +c&d: misc, largely but not entirely cosmetic +2015-03-19 ralph@amissah.com +9a05bd6d + +gitignore, minor +2015-03-19 ralph@amissah.com +19d976c3 + +d: po4a, initialize either directly with sst or passed through ao +2015-01-15 ralph@amissah.com +45d6d69d +- creates source language directory with source markup files + (.sst .ssm .ssi) & the po4a.cfg configuration file, then runs + po4a to place the markup source under po4a translation + management +- --po4a-sst uses original sisu markup source as described above +- --po4a-ao passes sisu source markup through document abstraction + before converting back to a sisu markup source markup equivalent + of the original document, it does this in an attempt to get more + uniform output, and put footnotes for example if any in a form + that is easier to translate + --po4a-ao -v --trans-en:fr,es en/live-manual.ssm + --po4a-ao -v --trans-en:fr,es en/live-manual.ssm \ + es/live-manual.ssm + in the latter example also runs sisu marked up "es" document + through document abstraction and returns a sisu markup source + version of the document, and against this gettext is (or can be + run) to (attempt to) have the source and target languages + together in the po/es file +- all quite rough, will need to be revisited, +- these for now replace the renamed --po4a-shelf (formerly --po4a) + +d: po4a_shelf, shelf current po4a, change tack +2015-01-15 ralph@amissah.com +adf811ce + +d: po4a, provide po4a.cfg file +2015-01-13 ralph@amissah.com +6ae23165 + +bin/sisu-misc-utils + c&d: lib sisu_thor_lib currently only po4a +2015-01-12 ralph@amissah.com +b36588c9 +- uses po4a to create po files with empty translation strings +- in appropriately configured directory e.g. + "data/doc/sisu/markup-samples/manual" have file named: + "languages_source_and_targets" containing e.g.: + source: en + targets: de fr es ja ru zh + command examples: + ruby ~snx/bin/sisu-misc-utils po4a --next --clean + ruby ~snx/bin/sisu-misc-utils po4a --next --distclean + ruby ~snx/bin/sisu-misc-utils po4a --next --make + +sisu po4a ruby thor Rakefile equivalent (& cosmetic edit to qi) +2015-01-09 ralph@amissah.com +28097d45 + +d: utils_response, rely on module (remove class) extend module +2015-01-11 ralph@amissah.com +23a3bb79 +- update a couple of affected files + +d: utils_response, ease selection options +2015-01-11 ralph@amissah.com +127db380 + +bin/sisu + c&d: SiSU_is now methods (instead of hash) +2015-01-11 ralph@amissah.com +802bf61f + +bin + c&d: RbConfig (instead of Config, switch) +2015-01-12 ralph@amissah.com +b2ccc637 + +c&d: some cruft +2015-01-11 ralph@amissah.com +01ce3c47 + +d: composite documents (.ssm), extract insert files list +2015-01-11 ralph@amissah.com +16681920 + +d: po4a, continue reorganization (translation request dev stopped) +2014-12-31 ralph@amissah.com +a25c6408 +- --po4a run against different language versions of sisu markup + files (representing the same document in different languages) + initializes po4a structure to place those documents under future + po4a management +- includes command line translation request + (use command line program 'trans' to pass request to + translation.google.com, stopped for now) + NOTE in case future development is restarted: to test, remove + code line 'auto_translate?(:skip)' that follows + 'def auto_translation(src_txt,markup=:src)'; place identical + english sisu markup files in en/test.sst fr/test.sst (or under + the language code to be tested) and run against en/test.sst + fr/test.sst e.g. '--po4a --trans --glob test.sst' + this send identical text objects to translate.google using + 'trans' and populate po file with results for placing future + translation under po4a management, however in initial tests + insufficient cleanly translated paragraphs were returned, + so stopped development for now. (no attempt at initialization + of new non-existent files using --trans-en:es,fr,de format) +- [hub_options, if development of trans is pursued later consider + the possibility of modifying the --trans string options to add + an optional timeout value, &; possibly modifying po4a code so + timeout may occur a fixed number of times before skipping + translation request attempts for the remainder]. + +d: po4a, reorganize a bit +2014-12-30 ralph@amissah.com +dd224ef3 + +d: po4a, stub for auto-translate +2014-12-26 ralph@amissah.com +311c40ac +- intention (stub only, not implemented) + - '--po4a --trans --glob test.sst' run against + en/test.sst fr/test.sst + - '--po4a --trans-en:fr en/test.sst' + to send identical text objects to translate.google using 'trans' + and populate po file with results for placing future translation + under po4a management + +d: po4a, init, if lang src == translation, empty translation field +2014-12-26 ralph@amissah.com +f23af592 + +c&d: po4a, book index, reinstate +2014-12-26 ralph@amissah.com +7f0d5e93 + +c&d: po4a (& git) revisited, revisit +2014-12-25 ralph@amissah.com +059e3121 + +c&d: html, ocn link back to self reinstated +2015-01-07 ralph@amissah.com +881e80cc +- requested, used as quick means to get object url reference link +- d: removed ocn_html_identifier variable, unnecessary in html5 + (requirement previously forced by html4) + +c&d: small fixes +2014-12-24 ralph@amissah.com +8afb40ca + +sisu.org consider +2014-12-24 ralph@amissah.com +81c9e526 + +gitignore, ignore +2014-12-24 ralph@amissah.com +4b2eb9f8 +- another emacs tmp file pattern +- rb dev tmp backup files, should they ever exist ignore + +d: persist, address garbage collection issue, bug, fix +2014-12-11 ralph@amissah.com +7d8015c0 +- related to code related changes (re: "persistence") in + recent reorganization of txt, html, epub, xmls etc. + +c&d: html, output by filename, filenames, fix +2014-12-09 ralph@amissah.com +7d9281ca + +c&d, cgi, search form, html ref, remove leading o ocn, bugfix +2014-12-08 ralph@amissah.com +6bb4c19f +- in html (on use of html5), removed leading 'o' before ocn, not + reflected in generated cgi, sample search form, so, does not + jump to the (otherwise correctly) identified location + +d: xmls, reorganize, introduce new file +2014-11-23 ralph@amissah.com +58034303 + +d: epub, reorganize, introduce new file +2014-11-20 ralph@amissah.com +563195c1 + +d: html, segments, reorganize, introduce new file +2014-11-20 ralph@amissah.com +1625f316 + +d: orgmode, add orgmode structure output to txts +2014-11-20 ralph@amissah.com +a37a13fb + +d: txt outputs, reorganize, introduce new files +2014-11-20 ralph@amissah.com +e0fcd082 + +d: ao, rearrange, introduce new file +2014-11-21 ralph@amissah.com +da4985ca + +d: misc mostly minor +2014-11-20 ralph@amissah.com +802c3625 +- html endnote segment, heading endnote, link back to html scroll +- epub endnote segment fails, issue with match, fix +- dp, remark if no existing option selected + +d: in dp (param) project_details used instead of sisu_version +2014-12-06 ralph@amissah.com +64729704 + +d: track changes to sisu_version info +2014-12-06 ralph@amissah.com +1b77c140 + +c&d: version & branch info, changes related to move of lib dirs +2014-12-05 ralph@amissah.com +71badaf7 + +c&d: project dir structure, libs moved under new branch names +2014-11-26 ralph@amissah.com +4db4dcc8 +- libs & version files under new branch names: current & develop +- previously under branch version numbers (v5|v6) +- version .yml files moved +- associated adjustments made as required, notably to: + bin/sisu se* qi* (file headers); breakage potential, testing + required +- [on dir names, want release to (alphabetically) precede + next/development, considered (cur|dev) + (current|(dev|development|progress|next)) (stable|unstable), + alpha sorting fail (release|(next|develop))] + +v5 v6: code headers reformatted for viewing as org-mode files +2014-11-12 ralph@amissah.com +98c8c90b + +org files, minor editing +2014-12-04 ralph@amissah.com +17c8e964 + +org files related to sisu, break up and place in own subdir +2014-11-13 ralph@amissah.com +a0242f55 + +CHANGELOGS formatted for viewing as emacs org-mode files +2014-11-12 ralph@amissah.com +ce99ce59 +- indentation, line-breaking, and formatting characters only changes made + +sisu-mode.el emacs, outline mode "folding" for sisu +2014-11-20 ralph@amissah.com +2f2a1157 + +qi, (quick install) header update (also rbuild) +2014-11-13 ralph@amissah.com +1db1a6e8 + +year set 2015 (prepare for the new year) +2014-11-12 ralph@amissah.com +9c443e48 + +v5 v6: version & changelog (upstream "UnFrozen" early) +2014-11-12 ralph@amissah.com +fa762951 +- "UnFrozen" prior to original time intended (end of Debian Freeze + for Jessie), reason: the upstream bugfix 5.7.2 intended for + Jessie (packaged for Debian as 5.7.1-2) was not accepted; this + means even if another patch does get sent for Jessie, it will + not be from upstream branch) +- post Debian:Jessie development commits + +v5 v6: ao, composite documents, on --verbose report loading of .sst files, fix +2014-11-02 ralph@amissah.com +e206fef8 (tag: sisu_5.7.2) +- without fix sisu reports loading of .ssm & .ssi files but not .sst + (sub-documents are imported correctly and resulting document outputs are + correct and unaffected, but unless aware of this bug it would seem otherwise + until the correct operation of sisu was manually verified e.g. by examining + documents produced); (issue somewhat mitigated by not being the most common + sisu operation) +- sisu is in development freeze, this fix is provided for Debian Jessie + (Closes: #767761) + +v5 v6: version & changelog (Frozen: bugfix & documentation changes only) +2014-11-02 ralph@amissah.com +b6e6eb5c +- NOTE: sisu is in development freeze mirroring the Debian release cycle; + bugfix & documentation update only, pending the release of Debian Jessie +- (as sisu upstream) the cleanest git workflow solution to the Debian freeze + appears to be to follow the Debian freeze with respect to upstream alterations + of sisu (bugfix & documentation only), incrementing upstream version number + as usual, whilst building package as required for Debian freeze version of + sisu 5.7.1-* + +v5 v6: cgi, sample search form, find & display endnotes from parent text object +2014-10-19 ralph@amissah.com +18ee3095 (tag: sisu_5.7.1) +- remove dedicated endnote search section (as endnotes found & listed from + reference text field) +- cleaner search results + +v5 v6: db, text search & display field, footnotes moved to end of text object +2014-10-19 ralph@amissah.com +2c73f306 +- cleaner, more useful search results +- cleaner text search field +- separate footnote fields redundant for search purposes + +v5 v6: html_format, "id"s for objects & footnotes +2014-10-19 ralph@amissah.com +41ad83d4 + +v5 v6: html, remove trailing backslash for empty linebreak & paragraph,

+2014-10-19 ralph@amissah.com +84957a42 + +v5 v6: version & changelog (tidy & simplify, output related) +2014-10-19 ralph@amissah.com +0dd55e12 + +v5: merge v6: remove defaults.rb & some relics related to sisu skins +2014-10-12 ralph@amissah.com +32fd8f39 (tag: sisu_5.7.0) + +v6: '*_parts', remove defaults.rb & some relics related to sisu skins, long gone +2014-10-12 ralph@amissah.com +53b74bac +- old code removed & substituted as required by *_parts +- attending code changes, fairly wide ranging, test + +v5 v6: html, epub, set document body language +2014-10-12 ralph@amissah.com +71037059 + +v5 v6: html_format, label, re: object number object names +2014-10-12 ralph@amissah.com +b99857de + +v5 v6: constants, remove ocn html leader +2014-10-12 ralph@amissah.com +e2836810 +- resulting hashtag #1 instead of #o1 + +v5: html, reduce difference with v6 (mostly removal of bgcolor) +2014-10-12 ralph@amissah.com +46485232 +- note: html_format.rb has differences, else same + +v5: html, reduce difference with v6 (removal of some trailing slashes


) +2014-10-12 ralph@amissah.com +92b4747c + +v5 v6: moved files: harvest* to html_harvest* +2014-10-12 ralph@amissah.com +61b9cb50 + +v5 v6: bin/sisu, hub, urls --maintenance, fix +2014-10-12 ralph@amissah.com +1f0232a2 + +v5 v6: db, --maintenance sql, separated out postgresql & sqlite +2014-10-12 ralph@amissah.com +69d47638 +- could share "maintenance" db import sql file (as done previously), consider + +v5 v6: epub tune, --maintenance, fix +2014-10-12 ralph@amissah.com +ff3eb782 + +v5 v6: qrcode, sha call, fix +2014-10-12 ralph@amissah.com +2f0c9ef1 + +v5 v6: version & changelog +2014-10-12 ralph@amissah.com +758d2cbd + +documentation, minor (on --act) +2014-10-03 ralph@amissah.com +aa2ad4de (tag: sisu_5.6.9) + +v5 v6: html, tiny first nudge toward html5 (v5 v6 differ) +2014-10-03 ralph@amissah.com +14b5f964 +- document headers, other minor + +v5 v6: --act provides info on current --act0 to --act9 settings +2014-10-03 ralph@amissah.com +97864e99 +- makes it easier to make use of acts 0 to 9 + +v5 v6: cleaning, minor +2014-10-03 ralph@amissah.com +0bd17c97 + +sisu.org move stuff done to sisu-done.org +2014-10-03 ralph@amissah.com +3883915a + +v5 v6: version & changelog +2014-10-03 ralph@amissah.com +659b10c6 + +v5 v6: header comment reduction, minor +2014-09-28 ralph@amissah.com +ca70dde5 (tag: sisu_5.6.8) + +v5 v6: sql, clean searchable text +2014-09-28 ralph@amissah.com +33b94cc1 +- update for (ao/dal) text representation, fix legacy action + +v5 v6: manifest, renamed html_manifest +2014-09-28 ralph@amissah.com +558fe23f + +v5 v6: xml cosmetic code, minor +2014-09-28 ralph@amissah.com +4a794af5 + +qi (quick installer) minor +2014-09-28 ralph@amissah.com +a0736573 + +v5 v6: version & changelog +2014-09-28 ralph@amissah.com +7ee89296 + +touch dates +2014-09-19 ralph@amissah.com +cd3bd14c (tag: sisu_5.6.7) + +update urls to git repo +2014-09-19 ralph@amissah.com +bd5a9529 + +vim syntax, sisu.vim, update git url and email address +2014-09-14 ralph@amissah.com +61c58cee + +v5 v6: version & changelog +2014-09-14 ralph@amissah.com +52ad2abe + +v5 v6: ao, auto naming (segment & tag), exceptions, avoidance of name collisions +2014-09-12 ralph@amissah.com +165276e6 (tag: sisu_5.6.6) +- (i) auto naming attempts to extract a suitable numeric name from document + headings if available, at times one appears to be available but is re-used + elsewhere in the document, (as where the document has Parts or Sections and + naming starts again within these sections from 1); (ii) this is treated as an + exception and an alternative sequential naming scheme is triggered; (iii) if a + document heading does not provide a suitable numeric name, another sequential + scheme is used + +v5 v6: ao, feedback on markup document structure (heading level) errors +2014-09-12 ralph@amissah.com +47afa95b +- adjustment to (existing) provided feedback, based on: + - level A~ title, required; + - levels B~ C~ D~ optional sequential document divider headings + (Part, Section etc. equivalent); + - level 1~ required, heading level preceding substantive text; followed by + - levels 2~ 3~ 4~ optional, sequential headings + (1.1, 1.1.1, 1.1.1.1 equivalents) + +v5 v6: ao, expansion of links to internal filepaths (re: syntax based shortcut) +2014-09-12 ralph@amissah.com +5dce93cc +- expansion of sisu output filepaths (sync with use of --act0 to --act9) + +sisurc, update samples +2014-09-12 ralph@amissah.com +6e1e2b4d +- adjustments to default settings for --act0 to --act9 (to match current "se") +- removed sisurc examples to organize output by filetype, filename, monolingual, + as one word diff + output_dir_structure_by: language + # (language|filetype|(filetype_mono|monolingual)|filename|filename_mono) + # language + # (language and filetype directories); + # filetype + # (filetype directories, filename includes language code); + # filetype_mono (or monolingual) + # (filetype drectories, no language codes in filenames) + # filename + # (directory output similar to v1 v2, filename includes language code); + # filename_mono + # (directory output similar to v1 v2, filename without language code) + +v5 v6: se, processing, adjustments to default settings for --act0 to --act9 +2014-09-12 ralph@amissah.com +48e7c350 + +v5 v6: se, env, lingual: mono / multi, rc settings +2014-09-12 ralph@amissah.com +b1e7b97d + +v5 v6: hub, /tmp processing directory checks +2014-09-12 ralph@amissah.com +57f76ceb + +v5 v6: version & changelog +2014-09-12 ralph@amissah.com +64968ca1 + +v5 v6: ao_doc_str, if faulty document structure, stop; if --no-stop option, skip +2014-09-05 ralph@amissah.com +98066f7d (tag: sisu_5.6.5) + +v5 v6: ao_numbering, provide more information on duplicate numbering before stop +2014-09-05 ralph@amissah.com +cf1ec234 + +v5 v6: html navigation, enable turn off (nav buttons on remaining html segments) +2014-09-05 ralph@amissah.com +984b76e0 + +v5 v6: (for html) set default to navigation bar off +2014-09-05 ralph@amissah.com +57c8b068 + +v5 v6: xml xhtml outputs, & issues +2014-09-05 ralph@amissah.com +6a13e63f + +v5 v6: shared_metadata, requires xml_shared +2014-09-05 ralph@amissah.com +8422ce1d + +v5 v6: link/path fixes +2014-09-05 ralph@amissah.com +94cf89b0 +- manifest, link where no "document harvest" +- html, home button links url (remove slash) +- harvest_authors, by_filetype, manifest path + +v5 v6: version & changelog +2014-09-05 ralph@amissah.com +ec29e713 + +v5 v6: version, touch date +2014-09-01 ralph@amissah.com +c7da8f76 (tag: sisu_5.6.4) + +v5 v6: misc, for when external dependencies unmet +2014-09-01 ralph@amissah.com +48ed4030 + +v5 v6: cgi_sqlite, expansion of variable (default db name), double quotes, fix +2014-09-01 ralph@amissah.com +81c7c3ff + +v5 v6: version & changelog (& rakefile) +2014-08-30 ralph@amissah.com +062ca593 + +v5 v6: dp, texpdf, copyright_and_license, minor fix, used by texpdf +2014-08-29 ralph@amissah.com +90f6210f (tag: sisu_5.6.3) + +v5 v6: hub, sisu version info, when & what to report +2014-08-29 ralph@amissah.com +32d773a2 + +v5 v6: cosmetic code +2014-08-29 ralph@amissah.com +967a86f0 + +sisurc, minor +2014-08-29 ralph@amissah.com +91ac7214 + +qi, start using ruby-thor (for rake like tasks) +2014-08-29 ralph@amissah.com +7248e7c4 + +setup/ (start using) Rakefile Rantfile link to setup/rbuild +2014-08-29 ralph@amissah.com +1fe52e4d + +v5 v6: version & changelog (& rakefile) +2014-08-29 ralph@amissah.com +3e26d06f + +documentation related, sisu manual book index, and --no-stop command +2014-08-20 ralph@amissah.com +1508dff1 (tag: sisu_5.6.2) + +v5 v6: start making use of --no-stop command +2014-08-20 ralph@amissah.com +29fc7f3c + +v5 v6: hub options, introduce "error override" --no-stop or --errors-as-warnings +2014-08-20 ralph@amissah.com +0f1666f8 + +v5 v6: ao, book index related +2014-08-20 ralph@amissah.com +e1b6e755 + +v5 v6: ao_expand_insertions, blocked text match, adjust +2014-08-20 ralph@amissah.com +0fda4e96 + +v5 v6: texpdf, output, copyright & license +2014-08-20 ralph@amissah.com +766b4b6a + +vim, emacs, syntax hilighting, restrict heading matches, minor +2014-08-20 ralph@amissah.com +aa2a6060 + +v5 v6: cosmetic code +2014-08-20 ralph@amissah.com +6c757d01 + +rbuild, gem build a selected tagged sisu version +2014-08-20 ralph@amissah.com +38caf649 + +v5 v6: version & changelog (& rakefile) +2014-08-20 ralph@amissah.com +b62b612e + +v5 v6: hub, organisation & loose ends +2014-08-12 ralph@amissah.com +9680068e (tag: sisu_5.6.1) +- tweak triggers +- split file further +- remove mod + +v5 v6: webrick, wb.cgi fixed & omitted/(use discarded) +2014-08-12 ralph@amissah.com +f6ad6569 + +v5 v6: version & changelog (& rakefile) +2014-08-12 ralph@amissah.com +a57d1562 + +documentation related +2014-08-08 ralph@amissah.com +23b07d95 (tag: sisu_5.6.0) + +v5 v6: extend document structure, headings A - D, 1 - 4 +2014-08-08 ralph@amissah.com +6bc3b814 +- sql db table structure changed (needs to be rebuilt) + +v5: merged v6 libraries +2014-08-08 ralph@amissah.com +80903424 +- commandline, --act0 to --act9, rc-config with flag:act[0-9] + - configurable command line options increased to 0 - 9 (instead of 0 - 5) + - use --act0 to --act9 (previous flags -1 to -5; -0 to -9 now available) + - default --act0 + - rc config with flag:act0 to flag:act9 (previously roman numerals) + - legacy roman numeral configuration works (for now) +- use opt.act, code internals (simplify, cleaner; remove opt.cmd + & opt.mod) +- hub, further changes related to use of opt.act; hub file split + +v5 v6: version & changelog (& rakefile) +2014-08-08 ralph@amissah.com +d7f17dc4 + +v6: hub, further changes related to use of opt.act; hub file split +2014-08-08 ralph@amissah.com +3a7ba139 (tag: sisu_5.5.6) + +v6: use opt.act, code internals (simplify, cleaner; remove opt.cmd & opt.mod) +2014-08-08 ralph@amissah.com +64e5c912 +- v5 dp, indentation changed to retain easy comparison with v6 + +v6: commandline, --act0 to --act9, rc-config with flag:act[0-9] +2014-08-08 ralph@amissah.com +c10a6dcb +- configurable command line options increased to 0 - 9 (instead of 0 - 5) +- use --act0 to --act9 (previous flags -1 to -5; -0 to -9 now available) +- default --act0 +- rc config with flag:act0 to flag:act9 (previously roman numerals) +- legacy roman numeral configuration works (for now) + +v5 v6: code file renames, fairly extensive +2014-08-08 ralph@amissah.com +39e11a44 +- v5 file renames sync with v6 for easier comparison +- v5 here (5.5.6) remains as in previous version (5.5.5) + +v5 v6: version & changelog (& rakefile) +2014-08-08 ralph@amissah.com +94106f16 + +v5 v6: ensure reset of parsed document directory path +2014-07-29 ralph@amissah.com +a79f9862 (tag: sisu_5.5.5) +- needed in the case of html for some subsequent processing + +v5 v6: options, minor fixes +2014-07-29 ralph@amissah.com +1fa2ba3f + +v5 v6: version & changelog (& rakefile) +2014-07-29 ralph@amissah.com +cf8ecbb7 + +v5 v6: ao_numbering, auto name segment, tweak to make behave as intended +2014-07-24 ralph@amissah.com +2907137b (tag: sisu_5.5.4) +- further testing required + +v5 v6: version & changelog (& rakefile) +2014-07-24 ralph@amissah.com +4cde4b1e + +v5 v6: db, reorganize previous commit +2014-07-23 ralph@amissah.com +c59e0eed (tag: sisu_5.5.3) + +v5 v6: db, rescue where no tables, attempt to initialize db and retry +2014-07-23 ralph@amissah.com +3b753e3d +- internally run the equivalent of --createall +- (if successful) permitting completion of --import or --update command +- make use of action triggers + +v5 v6: version & changelog (& rakefile) +2014-07-23 ralph@amissah.com +09223f6a + +documentation related +2014-07-22 ralph@amissah.com +743e0407 (tag: sisu_5.5.2) + +v5 v6: sysenv, processing shortcuts, options, adjust +2014-07-22 ralph@amissah.com +0ec06db2 +- (further refinement necessary) + +v5 v6: sysenv, revert to use of stub_pwd to correct hub post processing behavior +2014-07-22 ralph@amissah.com +67533e4e +- revert to use of stub_pwd (instead of preferred base_markup_dir_stub + introduced in 5.5.1) to bring back correct hub (post) processing behavior + +v5 v6: sysenv, reorganise, break up file, multiple se_* files +2014-07-22 ralph@amissah.com +ab10de39 + +v5 v6: db, pqsl, sqlite, reorganise triggers +2014-07-22 ralph@amissah.com +f36e8bf7 + +v5 v6: db, pg import, fix +2014-07-22 ralph@amissah.com +94aa1549 +- remove dbi from rescue, no longer using ruby-dbi +- ruby-pg query SELECT MAX + +v5 v6: db, minor +2014-07-22 ralph@amissah.com +e3121a48 + +v5 v6: options, sisupod parsing, fix +2014-07-22 ralph@amissah.com +dc516087 + +v5 v6: html_lite_shared, issue, fix +2014-07-22 ralph@amissah.com +b9b01e57 + +v5 v6: bin/sisu, hub, hub close (ensure), remove /tmp/ processing dir +2014-07-22 ralph@amissah.com +e1af490a + +v5 v6: cosmetic code +2014-07-22 ralph@amissah.com +41796e30 + +v5 v6: version & changelog (& rakefile) +2014-07-22 ralph@amissah.com +a9f81c23 + +v5 v6: document images (more to clean up) +2014-07-15 ralph@amissah.com +4ef1c309 (tag: sisu_5.5.1) + +v5 v6: base images & css, continue +2014-07-15 ralph@amissah.com +3628703f + +v5 v6: base images & css +2014-07-15 ralph@amissah.com +3a3037c4 + +v5 v6: docbook, status, under construction notice removed (still much to do) +2014-07-15 ralph@amissah.com +99f57f7e + +v5 v6: docbook, css (needs work), also doc header, sisu processing info +2014-07-15 ralph@amissah.com +d8917347 + +v5 v6: docbook, images, and adjustment +2014-07-15 ralph@amissah.com +796915d8 + +v5 v6: docbook, url links, urls +2014-07-15 ralph@amissah.com +8a09a5fc + +v5 v6: docbook, code & other blocks markup +2014-07-15 ralph@amissah.com +84fcc4fb + +v5 v6: src, sisupod, bring back in line +2014-07-15 ralph@amissah.com +7222b360 + +v5 v6: src_share, cosmetic code +2014-07-15 ralph@amissah.com +9100b4d6 + +v5 v6: ao_numbering, auto name segment, extract "number" from heading, refine +2014-07-15 ralph@amissah.com +03c28469 + +v5 v6: sysenv, general, base_markup_dir_stub (replace pwd_stub) +2014-07-15 ralph@amissah.com +639c57eb + +v5 v6: bin/sisu, hub, options, pass message: sisu_called_from_directory +2014-07-15 ralph@amissah.com +ebc9b30c + +documents / documentation related +2014-07-15 ralph@amissah.com +f89b2e6c +- COPYRIGHT, date +- sisu.org, minor +- README +- manpage + +v5 v6: version & changelog (& rakefile) +2014-07-15 ralph@amissah.com +db6adeb7 + +documention related +2014-07-11 ralph@amissah.com +bf076ed4 (tag: sisu_5.5.0) + +v5 v6: src, sisupod composite source, nested includes +2014-07-11 ralph@amissah.com +a93f8d5d + +v5 v6: src sisupod, cosmetic code arrangement +2014-07-11 ralph@amissah.com +3daec543 + +v5 v6: ao_composite, nested includes, .ssi (insert) can now include .ssi & .sst +2014-07-11 ralph@amissah.com +86ce2181 +- .ssm can contain/include .sst or .ssi + .sst files can be processed independently, they do not contain other files + .ssi files have been only insertions of text & are not processed independently + but as part of an ssm + change proposed: + .ssm unchanged, + .sst unchanged, + .ssi as before, but can include .sst or .ssi, so: + files are only insertions & are not processed independently but as part of an + .ssm or another .ssi + i.e. as before with the addition that it like a .ssm can contain/include + .sst or .ssi +- requested feature, (Closes: #744408) + User beware. In previous versions there has been a deliberate attempt to keep + it easy to follow documents & not have to dig through different levels of + includes, as this is more likely to lead to errors in markup. + The idea of nested includes has not been attractive (messy for a document), + however, this is now made possible, use with care + - it is not as easy to see document structure at a glance, and structural + errors may be introduced and will need to be taken care of (requiring + document markup debugging) + - allowing .ssi to also include other .ssi or .sst could lead to infinite + recursion if an .ssi includes another which includes itself; stopping after + an additional level of includes seems arbitrary, and possibly prone to error + if you are dealing with many documents +- requires testing +- version bump, new behavior added to .ssi one of the 3 sisu filetypes + +v5 v6: ao_composite, variable name +2014-07-11 ralph@amissah.com +cc3380a5 + +v5 v6: ao_numbering, check that all auto given number based seg names are unique +2014-07-11 ralph@amissah.com +561b6627 + +v5 v6: ao_numbering, auto name segment, extract "number" from heading, fix +2014-07-11 ralph@amissah.com +d1c4bb34 + +v5 v6: version & changelog (& rakefile) +2014-07-11 ralph@amissah.com +26ec305b + +sisu.org, README minor +2014-07-07 ralph@amissah.com +51ac9999 (tag: sisu_5.4.5) + +v5 v6: ao, auto seg naming, adjustments +2014-07-07 ralph@amissah.com +0c805339 +- re: seg numbering, fixed width, leading zeros (introduced: 5.4.3 / 6.0.9) + +bin/sisu, processing dir related +2014-07-07 ralph@amissah.com +58c41f68 +- e.g. using live-manual/manual as sample, the following should work as expected + available: ca de en es fr it ja pl pt_BR ro; select: en & ja: + sisu --html -v en/live-manual.ssm ja/live-manual.ssm + or for all available translations: + sisu --html -v **/live-manual.ssm + (these previously would have broken after processing the first directory) + sisu command equivalent for all available translations being (unaffected): + sisu --html -v --glob live-manual + +bin/sisu, some cosmetic long line breaking +2014-07-07 ralph@amissah.com +4080aa45 + +v5 v6: version & changelog (& rakefile) (git, ref log instead of shortlog) +2014-07-07 ralph@amissah.com +86ca0ae6 + +v5 v6: ao, fix, re: seg numbering, fixed width, leading zeros (new in 5.4.3) +2014-07-04 ralph@amissah.com +618c5f11 (tag: sisu_5.4.4) +- provisional fix (check related issues against 5.4.2) + +v5 v6: version & changelog (& rakefile) +2014-07-04 ralph@amissah.com +d7255c64 + +v5 v6: sysenv, developer _CONSTRUCTION_ZONE warning setup modified +2014-07-01 ralph@amissah.com +d850e670 (tag: sisu_5.4.3) + +v5 v6: epub, a fix, double check +2014-07-01 ralph@amissah.com +1b3d9ac3 + +v5 v6: ao, segment numbering, fixed width, leading zeros +2014-07-01 ralph@amissah.com +f74de438 +- alphanumeric sorting + +v5 v6: ao, doc objects, layout group open & close, identify, is_for +2014-07-01 ralph@amissah.com +e881dffc + +v5 v6: ao, quote block, insert text indent markup (book index markup unchanged) +2014-07-01 ralph@amissah.com +60411adb + +v5 v6: ao, (param), book index, strip white spaces around terms +2014-07-01 ralph@amissah.com +844f9270 +- fix uppercase first character where spaces used + +v5 v6: ao, code cosmetic rearrangement +2014-07-01 ralph@amissah.com +93470187 + +v5 v6: files renamed: ao_composite.rb, html_concordance.rb +2014-07-01 ralph@amissah.com +41871616 +- ao_composite.rb (from composite.rb) +- html_concordance.rb (from concordance.rb) + +vim syntax, version & date (code block, language syntax; box group; quote) +2014-07-01 ralph@amissah.com +ccb082ff +- now applies to v5 branch + +v5: merge what was sisu_6.0.8 into v5 +2014-07-01 ralph@amissah.com +954419b5 +- ao, + - syntax, able optionally to indicate the language syntax of a code block + - syntax, introduce box text block/group + - syntax, introduce tics quotes markup (blockquote equivalent) +- docbook, + - ocn & footnote numbers (as xml comments) + - metadata header (docinfo) + - quotes (blockquote) + - tables + - images + - code block +- vim syntax, add + - code block, language syntax, optional + - box block + - quote block + +sisu.org minor +2014-07-01 ralph@amissah.com +cc39efe5 + +v5 v6: version & changelog (& rakefile) +2014-07-01 ralph@amissah.com +0c418823 + +ao, fix bug in previous version (5.4.1) from sloppy cherry pick of v6 +2014-06-22 ralph@amissah.com +943cfb45 (tag: sisu_5.4.2) +- ao_doc_str (codeblock) + +v5: version & changelog (& rakefile) +2014-06-22 ralph@amissah.com +c1843293 + +vim syntax, code block, language syntax; box group; quote +2014-06-19 ralph@amissah.com +e6ba0168 (tag: sisu_5.4.1) + +v6: docbook, code block +2014-06-19 ralph@amissah.com +e7ce3d1c + +v6: docbook, images +2014-06-19 ralph@amissah.com +c7eddcb1 + +v6: docbook, tables +2014-06-19 ralph@amissah.com +8ed75b2b + +v6: docbook, quotes (blockquote) +2014-06-19 ralph@amissah.com +16380ed1 + +v6: docbook, metadata header (docinfo) +2014-06-19 ralph@amissah.com +beb28d69 + +v6: docbook, ocn & footnote numbers (as xml comments) +2014-06-19 ralph@amissah.com +e0c38cb8 + +v6: docbook, tags (name touch) +2014-06-19 ralph@amissah.com +4f5b055e + +v6: ao, syntax, introduce tics quotes markup (blockquote equivalent) +2014-06-19 ralph@amissah.com +ac654580 + +v6: ao, syntax, introduce box text block/group +2014-06-19 ralph@amissah.com +dffa2293 + +v6: ao, syntax, able optionally to indicate the language syntax of a code block +2014-06-19 ralph@amissah.com +fa8a1385 + +v5 v6: ao, introduce way of removing unrecognized tic markers +2014-06-19 ralph@amissah.com +64d8e1b1 +- this is to provide some forward compatibility with new markup + (unrecognized new tic marks are removed) +- noisy, reports to screen on tics that are to be removed, unless quiet is on +- review + +v5 v6: ao, Symbol to match grouped text open & close (instead of String) +2014-06-19 ralph@amissah.com +46410b13 + +v5 v6: ao, regex match for tics "```" followed by space tweaked +2014-06-19 ralph@amissah.com +afdedc96 + +v5 v6: ao, turn id numbers (for tags) into a hash +2014-06-19 ralph@amissah.com +de1c3838 + +v5 v6: ao, code blocks, clean trailing newlines +2014-06-19 ralph@amissah.com +5d168b30 + +v5 v6: indent spaces, minor +2014-06-19 ralph@amissah.com +83137da0 + +v5 v6: ao, misc, mostly minor cleaning +2014-06-19 ralph@amissah.com +66b72eae + +v5 v6: version & changelog (& rakefile) +2014-06-19 ralph@amissah.com +d4d50860 + +v5: merge v6 to v5, version bump to 5.4.*, reason adds structure check +2014-05-25 ralph@amissah.com +16c30474 (tag: sisu_5.4.0) +- ao, document structure check, stop processing on major error + (with error message & text at location of failure) + [reason for version bump the addition of structure check] +- utils, add ok code marker +- ao, heading with no ocn, distinguish ~# from -# + - ~# is general & means no ocn (for any object to which it is applied) + - -# is relevant only for 1~ dummy headings & instructs that they should be + removed from output where possible + - applied so far to pdf, odt & plaintext +- ao_images, reduce warnings when ruby RMagic absent as program used directly + - reduced dependency on ruby RMagic library (as some time way back had + issues) +- ao, document markup structure check, skip processing file on major error + - with error message & text at location of failure +- texpdf, urls in creator cause breakage +- texpdf, mailto markup links set for normal text objects +- texpdf, '&' in heading breaks toc (now removed from toc (not heading)), bug + - revisit, bug +- texpdf, for urls switch to sans serif (small fontsize) + - instead of typewriter, latex default +- texpdf, pdf colored hyperlinks configurable + - --pdf-hyperlinks-color + --pdf-hyperlinks-no-color or --pdf-hyperlinks-monochrome + - ['default']['pdf_hyperlinks']='color' + (other options switch hyperlink color off 'no-color' 'color-off' + 'monochrome') +- texpdf, pdf default font size configurable (cli & sisurc.yml) (no fractions) + - --pdf-fontsize-12 --pdf-fontsize-8 + - default: + texpdf_fontsize: 12 +- texpdf, headings and table of contents representation + - fixes 1~ and 2~ result in the same formatting + 1~ 2~ & 3~ now differentiated, see discussion in sisu.org under #744383 + - fixes :A smaller formatted than :B + A~ B~ C~ now the same size, see discussion in sisu.org under #744383 + - :B and :C result in the same formatting, issue explained see sisu.org +- texpdf, (internal coding) fontface, rename texpdf_font texpdf_fontface +- texpdf, (internal coding) use symbols to identify page orientation +- param, metadata rights, line-breaks instead of semicolons separating rights + - fixes remove trailing semicolon after :copyright: +- digests sha512 option implemented + - options sha512 sha256 md5 + - command line --sha512 + - rcconf.yml ['defsault']['digest'] = sha512 +- xml object citation numbering (docbook fictionbook) + +v5 v6: version & changelog (& rakefile) +2014-05-25 ralph@amissah.com +108142f5 +- will merge v6 into v5, 5.4 version bump + +v5 v6: cgi, sample search forms: use ruby-pg & ruby-sqlite3; remove ruby-dbi +2014-05-18 ralph@amissah.com +bcb074af (tag: sisu_5.3.6) + +v5 v6: db, remove ruby-dbi, for: pg ruby-pg, sqlite ruby-sqlite3 (already uses) +2014-05-18 ralph@amissah.com +7bfd5671 +- ruby-pg require for postgresql +- ruby-sqlite3 require for sqlite3 (done previously: already using ruby-sqlite3 + rather than ruby-dbi) +- ruby-dbi remove calls (in any common files & sisu pg and sisu sqlite3) +- separate pg and sqlite db actions + +v5 v6: db, use symbols to identify sql engine +2014-05-18 ralph@amissah.com +307ecb4d + +v6: utils, add ok code marker +2014-05-18 ralph@amissah.com +b17d90bc + +documentation updates +2014-05-18 ralph@amissah.com +569827db +- sisu.org info on ruby-dbi removal affecting sisu in debian +- sisu.org moved to data/doc/sisu (softlinked from root dir) +- CHANGELOG simplify maintenance +- note version changes +- misc + +v5 v6: version & changelog (& rakefile) +2014-05-18 ralph@amissah.com +b76284d1 + +documentation, notes, update +2014-05-12 ralph@amissah.com +e2f6efc6 (tag: sisu_5.3.5) + +v6: ao, heading with no ocn, distinguish ~# from -# +2014-05-12 ralph@amissah.com +cd4b4e42 +- ~# is general & means no ocn (for any object to which it is applied) +- -# is relevant only for 1~ dummy headings & instructs that they should be + removed from output where possible + - applied so far to pdf, odt & plaintext + +v5 v6: bin/sisu, ensure return to start dir +2014-05-12 ralph@amissah.com +57f00b94 + +v6: ao_images, reduce warnings when ruby RMagic absent as program used directly +2014-05-12 ralph@amissah.com +d6f28e09 +- reduced dependency on ruby RMagic library (as some time way back had issues) + +v6: ao, document markup structure check, skip processing file on major error +2014-05-12 ralph@amissah.com +f408992e +- with error message & text at location of failure + +v6: texpdf, urls in creator cause breakage +2014-05-12 ralph@amissah.com +62c48aca +- (Closes: #744541) + +v6: texpdf, mailto markup links set for normal text objects +2014-05-12 ralph@amissah.com +f9fb4020 +- (Closes: #744357) but testing required + +v6: texpdf, '&' in heading breaks toc (now removed from toc (not heading)), bug +2014-05-12 ralph@amissah.com +41d62d53 +- revisit, bug + +v6: texpdf, for urls switch to sans serif (small fontsize) +2014-05-12 ralph@amissah.com +4c27c792 +- instead of typewriter, latex default +- (Closes: #744353) + +v6: texpdf, pdf colored hyperlinks configurable +2014-05-12 ralph@amissah.com +9d76329a +- --pdf-hyperlinks-color + --pdf-hyperlinks-no-color or --pdf-hyperlinks-monochrome +- ['default']['pdf_hyperlinks']='color' + (other options switch hyperlink color off 'no-color' 'color-off' 'monochrome') +- (Closes: #744391) no color on a4 portrait + see discussion in sisu.org + +v6: texpdf, pdf default font size configurable (cli & sisurc.yml) (no fractions) +2014-05-12 ralph@amissah.com +df9e4219 +- --pdf-fontsize-12 --pdf-fontsize-8 +- default: + texpdf_fontsize: 12 +- (Closes: #744405) + +v6: texpdf, headings and table of contents representation +2014-05-12 ralph@amissah.com +2b2e66c1 +- (Closes: #744386) 1~ and 2~ result in the same formatting + 1~ 2~ & 3~ now differentiated, see discussion in sisu.org under #744383 +- (Closes: #744399) :A smaller formatted than :B + A~ B~ C~ now the same size, see discussion in sisu.org under #744383 +- #744383 :B and :C result in the same formatting, issue explained see sisu.org + +v6: texpdf, (internal coding) fontface, rename texpdf_font texpdf_fontface +2014-05-12 ralph@amissah.com +09fc878f + +v6: texpdf, (internal coding) use symbols to identify page orientation +2014-05-12 ralph@amissah.com +1716ccd0 + +v6: param, metadata rights, line-breaks instead of semicolons separating rights +2014-05-12 ralph@amissah.com +d5b13ca5 +- (Closes: #744358) remove trailing semicolon after :copyright: + +v5 v6: param, metadata add 'Copyright:' tag to output related to copyright +2014-05-12 ralph@amissah.com +369b764e +- (Closes: #744381) syntax: inconsistency \:copyright: and \:license: + +v6: digests sha512 option implemented +2014-05-12 ralph@amissah.com +3ea16523 +- options sha512 sha256 md5 +- command line --sha512 +- rcconf.yml ['defsault']['digest'] = sha512 +- (Closes: #744402) + +v5: digests cleaning +2014-05-12 ralph@amissah.com +58020c13 + +v5 v6: metadata, pdf, remove link to manifest page where --no-manifest is used +2014-05-12 ralph@amissah.com +d5b2fa8c +- (Closes: #744378) + +v5 v6: composite (inserts), missing includes doesn't give an error, fix +2014-05-12 ralph@amissah.com +90d3eab4 +- (Closes: #744379) see sisu.org for comment + +v5 v6: composite, fix includes, provide extra newline after inserted comment +2014-05-12 ralph@amissah.com +b28cf1c5 +- (Closes: #744360) [n|u] sisu: includes do not work properly + +syntax hilighting, includes with files in subdirectories fix +2014-05-12 ralph@amissah.com +fbe2d78a +- (Closes: #744355) + +syntax hilighting, line break without spaces
flagged as error, close +2014-05-12 ralph@amissah.com +080d49e6 +- for line breaks in sisu markup use \\ instead of
+- the case described is meant to be flagged as an error +- close bug, no action taken further explanation in sisu.org +- (Closes: #744356) re-open if necessary + +v5 v6: ao_syntax, address possible manual use of url delimiters「」 +2014-05-12 ralph@amissah.com +5b607318 + +sisu.org introduce a bug list +2014-05-12 ralph@amissah.com +e170f0f6 +- primarily DBT (Daniel's welcome bug flood) + +sisu.org start using emacs:evil:org; update .gitignore +2014-05-12 ralph@amissah.com +388eef4b +- (emacs:evil mode gifts a "vim" of "alternative" powers! ;) + heretic + +v6: xml object citation numbering (docbook fictionbook) +2014-05-12 ralph@amissah.com +f06613bb + +v5 v6: coding, various minor cosmetic +2014-05-12 ralph@amissah.com +e38554e5 + +v5 v6: version & changelog (& rakefile) +2014-05-12 ralph@amissah.com +e132337b + +v5 v6: ocn, object citation numbering, --no-numbering option & default tuning +2014-02-14 ralph@amissah.com +06145fcd (tag: sisu_5.3.4) +- add less cryptic --numbering --no-numbering command-line options (to --no-ocn) +- plaintext & odt switch default to ocn==true for consistency with other output +- [decide how fine-grained ocn/numbering switches could be: could be per output + type by command-line instruction (see txt & odt); currently set per sisu + instruction for all outputs] + +v5 v6: version & changelog (& rakefile) +2014-02-14 ralph@amissah.com +7952a48d + +documentation, minor update +2014-02-08 ralph@amissah.com +268a9c5c (tag: sisu_5.3.3) + +examples: nginx conf; cgi search forms pgsql & sqlite +2014-02-08 ralph@amissah.com +61a1a2a8 + +v5 v6: cgi, sample search form (generator), using cgi ENV variables +2014-02-08 ralph@amissah.com +d8cd4b66 + +v5 v6: version & changelog (& rakefile) +2014-02-08 ralph@amissah.com +051517d4 + +manual Rakefile, README & minor config adjustment +2014-02-05 ralph@amissah.com +f6735293 (tag: sisu_5.3.2) + +v5 v6: sysenv, concordance redirected paths, watch +2014-02-05 ralph@amissah.com +bbbb88fa + +v5 v6: utils, code markers & messages, notes/warning/errors, fix +2014-02-05 ralph@amissah.com +9f10ff9b + +v5 v6: ao, html book index linking, follow --strict option +2014-02-05 ralph@amissah.com +ba862b94 + +v5 v6: version & changelog (& rakefile) +2014-02-05 ralph@amissah.com +2ea3e592 + +README & manpage (sisu.1) update +2014-02-05 ralph@amissah.com +4e7fb324 (tag: sisu_5.3.1) + +sisu manual update +2014-02-05 ralph@amissah.com +e13aacbf + +sisu manual directory moved +2014-02-05 ralph@amissah.com +e4ef7cc2 + +removed html man pages (man2html) +2014-02-05 ralph@amissah.com +d6b74b93 + +v5 v6: cgi (pgsql & sqlite), fix +2014-02-05 ralph@amissah.com +0cad9edc + +v5 v6: html, (output) cleaning +2014-02-05 ralph@amissah.com +d79d6050 + +v5 v6: epub, hash digests used only if available +2014-02-05 ralph@amissah.com +4fcfa03d + +v5 v6: html, endnote name and nameref make compliant (epub use same) +2014-02-05 ralph@amissah.com +99c5b5d5 + +v5 v6: ocn: strict html; turn on/off rules for txt & odf +2014-02-05 ralph@amissah.com +a151893e + +v5 v6: options, ocn switch on/off instructions (& defaults for plaintext & odt) +2014-02-05 ralph@amissah.com +728ed462 + +v5 v6: options, html --strict instruction +2014-02-05 ralph@amissah.com +e74053c5 + +v5 v6: html, name tag related (output "cleaning") +2014-02-05 ralph@amissah.com +07ce3445 + +v5 v6: ao, set document tags +2014-02-05 ralph@amissah.com +a7dc41fd + +v5 v6: epub, odt, check availability of zip program +2014-02-05 ralph@amissah.com +58041f06 + +v5 v6: error/warn messages +2014-02-05 ralph@amissah.com +62e27667 + +v5 v6: wrappers round require +2014-02-05 ralph@amissah.com +bd5e9491 + +v5 v6: html, cleaning, minor +2014-02-05 ralph@amissah.com +151f1043 + +v5 v6: version & changelog (& rakefile) +2014-02-05 ralph@amissah.com +0aa76d8a + +v5 v6: made true, branches: v6 development; v5 stable; v4 closed +2014-01-26 ralph@amissah.com +506e3263 (tag: sisu_5.3.0) + +v5 v6: version & changelog (& rakefile), make true on next commit +2014-01-26 ralph@amissah.com +447e260f +- next commit: + - v4 branch closed + - v5 stable branch + - v6 development branch opened (copy v5) + +bin/sisu changes to simplify switching to new stable & development branches +2014-01-26 ralph@amissah.com +64798aee (tag: sisu_4.2.21) + +v4 v5: version & changelog (& rakefile) [v4 about to be closed] +2014-01-26 ralph@amissah.com +d808d24f + +v4 v5: sysenv for texpdf, fix for when tex to pdf generator is absent +2014-01-20 ralph@amissah.com +0d2f83bc (tag: sisu_4.2.20) + +v4 v5: bin/sisu & some related lib changes +2014-01-20 ralph@amissah.com +ee4968f5 +- good time to consider rollover: closing v4 branch, replacing it with v5 & + introducing v6 for development, proposed for this release + 1 + + v4 v5: version & changelog (& rakefile) +2014-01-20 ralph@amissah.com +a65a215e + +rakefile version update for previous version (should have been) +2014-01-20 ralph@amissah.com +76b005fc + +bin/sisu experimentation +2014-01-17 ralph@amissah.com +c00345b2 (tag: sisu_4.2.19) +- start preparing for ruby changes +- work on fix for bug related to gem path & system installed sisu + +README clean info related to unsupported --help option +2014-01-17 ralph@amissah.com +2dff4382 + +v4 v5: version & changelog (& rakefile) +2014-01-17 ralph@amissah.com +0e969552 + +v5: asciidoc, file extension (for now .ad), inline footnotes, minor +2014-01-12 ralph@amissah.com +593766d8 (tag: sisu_4.2.18) + +v5: heading recalibration, code (downstream) changes, continue +2014-01-12 ralph@amissah.com +4aa58e16 + +v5: ao, counter for various grouped / blocked texts & tables +2014-01-12 ralph@amissah.com +81108043 +- of particular use for poems which are broken into verse + +v4 v5: texpdf, report to screen on pdf output, link to a generated file-size +2014-01-12 ralph@amissah.com +0edc0d30 +- decide how to deal with as multiple document file-sizes may be produced + +v4 v5: texinfo, fixes +2014-01-12 ralph@amissah.com +fbf1b643 + +v4 v5: version & changelog (& rakefile) +2014-01-12 ralph@amissah.com +9eca07c3 + +v5: heading recalibration, code (downstream) changes +2014-01-06 ralph@amissah.com +5fb49b57 (tag: sisu_4.2.17) +- here no doubt remains breakage (test, fix & test again) + +v5: vim syntax, v5.2 match heading level D~ +2014-01-06 ralph@amissah.com +3e671eaa + +v5: single document root A~ (recalibrate headings); level D~ possible +2014-01-06 ralph@amissah.com +1832a937 +- :A~ document title, single document root (ln==0) +- introduce additional possible heading level, D~ +- markup rule change: single document root +- breaks much downstream code, recalibrate (fix, test, fix & test again) +- v4 & v5 bifurcate (diverge "un-merge-ably") + +v5: version (5.2 version bump) & changelog (& rakefile) +2014-01-06 ralph@amissah.com +ae676753 +- markup rule change; document structure rule be introduced: + - single document root == document title == heading level A~ + - adds possible level D~ + - (earlier v5, development branch insulated from v4) + +v5: cosmetic code, case statement +2014-01-06 ralph@amissah.com +0e42ce6f + +v5: docbook, fictionbook, some tidying +2014-01-06 ralph@amissah.com +557d7378 + +v5: asciidoc, rename AsciiDoc module, & recalibrate headings +2014-01-06 ralph@amissah.com +f2323485 + +v4 v5: fixes +2014-01-06 ralph@amissah.com +a90463bb +- ao_doc_str, nodes, possible parents, correction +- epub, url closure decoration +- sysenv, qrcode report absent program, minor +- html scroll toc, clean links where none, exclude metadata + +bin/sisu, version dir (fix) & version info +2014-01-06 ralph@amissah.com +42aae8da +- (ensure SiSU_version_dir) fix +- sisu version info, yml info also when installed via ruby gem +- downstream libs + +v5: date 2014: headers bin/sisu & lib/; code constants.rb +2014-01-06 ralph@amissah.com +17f1f887 + +v4 v5: version & changelog (& rakefile) +2014-01-06 ralph@amissah.com +147eba58 + +v4 v5: Rakefile, (installer), reduce actions +2013-12-15 ralph@amissah.com +30e03850 (tag: sisu_4.2.16) + +v4 v5: version & changelog +2013-12-15 ralph@amissah.com +67ff4a2c +- along with date correction for occurrence of disk crash, which happened a week + later than recorded, and in between previous releases. + +v5: docbook, structure, a fix +2013-12-09 ralph@amissah.com +b9bffa35 (tag: sisu_4.2.15) +- construction zone: structure okish; docbook generated not usable + +v4 v5: Rakefile, (installer) improve, re-arrange +2013-12-09 ralph@amissah.com +1af24dcb + +v4 v5: version & changelog +2013-12-09 ralph@amissah.com +29888f91 + +v4 v5: bin/sisu, simplify in relation to sisu gem +2013-12-03 ralph@amissah.com +676eba53 (tag: sisu_4.2.14) + +v4 v5: rake create build & install sisu gemspec; (.gitignore), work on +2013-12-03 ralph@amissah.com +ff66e3f0 +- gemspec adjusted to install only libraries related to a version (v4 or v5) +- select sisu version to create, build & install + +v4 v5: version & changelog +2013-12-03 ralph@amissah.com +bd7ae5db + +v5: documentation related to commands for new outputs in development +2013-12-03 ralph@amissah.com +88b3272a (tag: sisu_4.2.13) + +v5: xml, fictionbook +2013-12-03 ralph@amissah.com +97005184 + +v5: xml, docbook +2013-12-03 ralph@amissah.com +c7f7a265 + +v5: plaintext, smarttext: rst +2013-12-03 ralph@amissah.com +6c153f78 + +v5: plaintext, smarttext: markdown +2013-12-03 ralph@amissah.com +66fde27a + +v5: plaintext, smarttext: asciidoc +2013-12-03 ralph@amissah.com +ce74f66c + +v5: plaintext, smarttext: textile +2013-12-03 ralph@amissah.com +cdda22f5 + +v5: plaintext, rename & simplify +2013-12-03 ralph@amissah.com +32bc9149 + +v5: some file renaming related to: shared files & epub, odf:odt, plaintext +2013-12-03 ralph@amissah.com +6c3930e1 + +v5: some renaming to ao from dal continued +2013-12-02 ralph@amissah.com +3d4ec6de + +v5: renaming files & modules ao & AO (from dal & DAL) +2013-12-02 ralph@amissah.com +9b51aed5 +- ao (abstract objects) shorter, also easily searched, higher sort location + abstract as representation of & extraction of document objects + (dal (document abstraction layer)) + +v4 v5: rake create build & install sisu gemspec; bin/sisugem (add .gitignore) +2013-12-02 ralph@amissah.com +da5e7ffe +- rake gemcbi #(create build install sisu gem) +- rake gemspecscreate && \ + rake gembuild && \ + sudo rake geminstall +- rake gemspecscreate && \ + gem build sisu5.gemspec && \ + sudo gem install --no-rdoc --no-ri \ + sisu-5.1.0.gem +- bin/sisu updated (modified to take account of gems) +- bin/sisugem added +- .gitignore sisu-*.gem sisu*.gemspec + consider inclusion (& tracking) of rake created sisu4.gemspec sisu5.gemspec + (as this makes their availability more obvious) +- once gem is installed: "sisu _5.1.0_ -vM" (to see version, commands otherwise + as usual) if paths are such that sisu is not available "sisugem _5.1.0_ -vM" + should work (as it is installed by gemspec, but not other sisu installers) + +v5: xmlns xlink using xl +2013-12-02 ralph@amissah.com +6e2061aa + +v5: xml sax rename file +2013-12-02 ralph@amissah.com +f0869d13 + +v5: minor code related to line-breaks +2013-12-02 ralph@amissah.com +85ec6bab + +v5: dal_endnotes, removed a space that should no longer be necessary +2013-12-02 ralph@amissah.com +e130be57 +- testing required + +v5: dal_doc_str.rb, changes related to collapsed level +2013-12-02 ralph@amissah.com +f37d75fb +- for headings added for structure, without ocn +- testing required + +v4 v5: version & changelog +2013-12-02 ralph@amissah.com +8cbc5ed7 + +v4 v5: bin/sisu-* +2013-11-08 ralph@amissah.com +897a46ef (tag: sisu_4.2.12) +- use option flag full names +- add sisu-html-scroll, sisu-html-seg, sisu-pdf-portrait, sisu-pdf-landscape + +v4 v5: vim, ftplugin sisu.vim, fix missing +2013-11-08 ralph@amissah.com +0a92145c + +v4 v5: rake (& rant) sisu installer +2013-11-08 ralph@amissah.com +cf8ff1a3 +- do less by default +- remove rant generated sisu-install + +v4 v5: sisu_manual, minor info addition +2013-11-08 ralph@amissah.com +7de03034 + +v4 v5: version & changelog +2013-11-08 ralph@amissah.com +c688ccae + +v5: xml, scaffold, re-activated, split into sisu structure & collapsed structure +2013-11-05 ralph@amissah.com +d6b596f0 (tag: sisu_4.2.11) +- --xml-scaffold-sisu (--xml-scaffold) +- --xml-scaffold-collapse +- output currently to terminal only + +v4 v5: version & changelog +2013-11-05 ralph@amissah.com +762d3008 + +v5: plaintext, reorganize +2013-11-02 ralph@amissah.com +89cc9097 (tag: sisu_4.2.10) + +v4 v5: constants, ocn output delimiter (where used) changed to 「...」 +2013-11-02 ralph@amissah.com +a89fd60f + +v4 v5: version & changelog +2013-11-02 ralph@amissah.com +8c11f325 + +v4 v5: dal, document_structure_check_info +2013-10-27 ralph@amissah.com +d08020e7 (tag: sisu_4.2.9) + +v4 v5: cleaning, minor +2013-10-27 ralph@amissah.com +8090434e + +v4 v5: version & changelog +2013-10-27 ralph@amissah.com +ce2366b9 + +v4 v5: dal, collapsed levels implemented +2013-10-23 ralph@amissah.com +15ff3747 (tag: sisu_4.2.8) +- convenience, collapse sisu's dual level document structure for output of + markup with straight linear structure + +v4 v5: dal, parent & node info, fix +2013-10-23 ralph@amissah.com +f7da57f4 +- used e.g. for mind map type output + (last for kdissert output, no longer supported) + +v5: options & downstream, more use of opt.act instead of opt.cmd +2013-10-23 ralph@amissah.com +edd89902 +- opt.act.*.set==:on instead of opt.cmd =~/\S/ + +v4 v5: version & changelog +2013-10-23 ralph@amissah.com +bc3dade8 + +v4 v5: constants, change a couple of internal processing delimiter characters +2013-10-17 ralph@amissah.com +69c86381 (tag: sisu_4.2.7) +- to characters even less likely to be of use in ordinary (marked up) text + +v4 v5: version & changelog +2013-10-17 ralph@amissah.com +a59324f3 + +v4 v5: constants, change a couple of internal processing delimeter characters +2013-10-16 ralph@amissah.com +78541f1a (tag: sisu_4.2.6) +- that may be used in ordinary marked up text + +v4 v5: comments, remove extra language lists, minor +2013-10-16 ralph@amissah.com +e7ff0923 + +markup sample, update book index markup, appearance, minor +2013-10-16 ralph@amissah.com +48f26680 + +vim, minor update, not syntax related +2013-10-16 ralph@amissah.com +8e35cdf4 + +v4 v5: version & changelog +2013-10-16 ralph@amissah.com +8d302131 + +bin/sisu update language list ja ko zh, fix +2013-09-22 ralph@amissah.com +db038f52 (tag: sisu_4.2.5) + +v4 v5: version & changelog +2013-09-22 ralph@amissah.com +16086918 + +Rakefile to assist in placing sisu markup under po4a management (sisu_manual) +2013-09-21 ralph@amissah.com +5a78c513 (tag: sisu_4.2.4) +- Provided as an example with sisu_manual +- fairly generic, but potentially dangerous, can be used to place sisu markup + source translations under po4a management, but user needs to know what this + is, (and how to set it up, hence sisu_manual as an example (despite the lack + of translations)) as can clobber/destroy files that are not managed by po4a. + +sisu_manual, sisurc*.yml minor +2013-09-21 ralph@amissah.com +d7b7c010 + +sisu_manual, move to en/ sub-dir (permitting translations) +2013-09-21 ralph@amissah.com +1b89f377 +- use of language sub-dir for source sisu markup suited to permitting + translation management by po4a + +v4 v5: i18n CJK: zh ja ko, add languages Chinese, Japanese, Korean +2013-09-21 ralph@amissah.com +235f83d4 +- texpdf, has large texlive xetex dependencies (Korean untested) + +v4: dal, objects, store book index as hash (simplify downstream processing) +2013-09-21 ralph@amissah.com +6a8a7c3c +- merge v5 +- db, book index, convert hash back to string (associated downstream processing + change) + +v4 v5: minor cleaning +2013-09-21 ralph@amissah.com +220c63e5 + +v4 v5: version & changelog +2013-09-21 ralph@amissah.com +3e13a7d9 + +v5: db, book index, convert hash back to string +2013-09-07 ralph@amissah.com +af29258b (tag: sisu_4.2.3) + +v5: dal, book index, hash key, strip whitespace, a (required) fix +2013-09-07 ralph@amissah.com +9aeb2343 + +v4 v5: version & changelog +2013-09-07 ralph@amissah.com +a7fd6bb2 + +v5: dal, objects, store book index as hash (simplify downstream processing) +2013-09-05 ralph@amissah.com +6fd68591 (tag: sisu_4.2.2) + +v4 v5: vim syntax, book index markup, hilight delimeters +2013-09-05 ralph@amissah.com +d711e3f8 + +v4 v5: dal, book index markup, round delimiters: allow spaces or space & newline +2013-09-05 ralph@amissah.com +55617009 +- allow spaces on both sides of delimiters, or a space before & newline + following a delimiter \s+[:|;](\s+|\n) [else parses as before no spaces] + +v4: dal, grouped text with fontface spanning newlines, partial solution +2013-09-05 ralph@amissah.com +d756e906 +- merged from v5 + +v4 v5: version & changelog +2013-09-05 ralph@amissah.com +e9b1f97a + +v5: dal, grouped text with fontface spanning newlines, partial solution, test +2013-08-28 ralph@amissah.com +3f912866 (tag: sisu_4.2.1) +- merge into v4 after testing + +v4 v5: dal, text blocks, tuning +2013-08-28 ralph@amissah.com +349169b7 + +v4 v5: odf:odt, footnotes, fix +2013-08-28 ralph@amissah.com +cd0e55b3 + +v4 v5: pdf (latex) tables, bugfix (fasttrack) +2013-08-28 ralph@amissah.com +d2ad46d7 + +v4 v5: vim syntax, sisu.vim, fix typo +2013-08-28 ralph@amissah.com +b749d203 +- ocn (object numbering) on, off, text block using "--~#" "---#" "--+#" + +v4 v5: manifest, output organised by, info, minor touch +2013-08-28 ralph@amissah.com +93255d4c + +v4 v5: config files (by filetype & filename) touched +2013-08-28 ralph@amissah.com +d78a0ecb + +v4 v5: version & changelog +2013-08-28 ralph@amissah.com +25f7b4f3 + +v4 v5: vim syntax, sisu.vim, improve grouped text match, for blocks using tics +2013-08-25 ralph@amissah.com +c60b34d1 (tag: sisu_4.2.0) +- syntax additions (introduced for 5.0.12) now relevant also for v4 + - ocn (object numbering) on, off, text block using "--~#" "---#" "--+#" + - grouped text, open, close of blocks using tics "```" + +v4: merge v5, syntax additions, block text related (version bump to 4.2.*) +2013-08-25 ralph@amissah.com +9ccfd454 +- syntax add + - switch ocn off and on for a block of content, line containing only + off: "--~#" (omit headings where possible) "---#" on: "--+#" + - alternative open and close for blocks using line starting with "```", e.g. + open code block: "``` code"; close code block: "```" + start poem: "``` poem"; end poem: "```" + - remove need for an empty line between opening & closing of a text block + [ note further refinements will be required; + use of tildes "~~" considered but more problematic, tics not used elsewhere] + +v5: dal, improve font face matching within grouped text (other than code blocks) +2013-08-25 ralph@amissah.com +0e296ebc + +v5: dal, refine grouped text open and close using tics "```" +2013-08-25 ralph@amissah.com +34299895 + +v4 v5: css, html, epub, adjust paragraph spacing, aesthetic +2013-08-25 ralph@amissah.com +07de8418 +- increase whitespace (between paragraphs) +- [review spacing (generally) further] + +v4 v5: version & changelog +2013-08-25 ralph@amissah.com +cf11ff3a + +v5: vim syntax additions, sisu.vim +2013-08-21 ralph@amissah.com +750c6c5a (tag: sisu_4.1.12) +- ocn (object numbering) on, off, text block using "--~#" "---#" "--+#" +- grouped text, open, close of blocks using tics "```" + +v5: alternative open and close for blocks using line starting with "```" +2013-08-21 ralph@amissah.com +27cce87e +- e.g. + open code block: "``` code" + close code block: "```" + start poem: "``` poem" + end poem: "```" +- remove need for an empty line between opening & closing of a text block + +v5: markup syntax add: switch ocn (object numbering) off & on for content block +2013-08-21 ralph@amissah.com +386233f0 +- switch ocn off & on for a block of content, line containing only + off: "--~#" (omit headings where possible) "---#" on: "--+#" + +v4 v5: terminal message, code marker +2013-08-21 ralph@amissah.com +84ff66b6 + +v4 v5: rescued error messages +2013-08-21 ralph@amissah.com +bd4e38f4 + +v4 v5: fuchsia (sp.) +2013-08-21 ralph@amissah.com +c3a53153 + +v4 v5: version & changelog +2013-08-21 ralph@amissah.com +dd40cd83 + +v4 v5: dal_expand_insertions, refinement for monolingual output +2013-08-08 ralph@amissah.com +fa544551 (tag: sisu_4.1.11) + +v4 v5: version & changelog +2013-08-08 ralph@amissah.com +4e562dc8 + +v4: merge v5 lib (5.0.10) +2013-08-08 ralph@amissah.com +2635b72e (tag: sisu_4.1.10) +- output structure by, add monolingual alt for :filetype & :filename, step 1 +- output structure by, monolingual alternative for :filetype or :filename + without language code, if document is in default language + - set a default language, 'en' or as specified + - set in rc file or from command line instruction + - command line e.g. + sisu -hv --monolingual --by-filename sisu_markup.sst + sisu -3v --monolingual --by-filetype sisu_manual.ssm + - sisurc.yml lingual: 'mono' | 'multi' lingual: 'mono' + - note: output by :filetype is roughly equivalent to what monolingual output + by :language would be + - allow command line setting of default language using language code + --default-language='en' --default-lang-en if used together with + --monolingual and --by-filetype or --by-filename the selected default + language document will not have a language code in the output filename +- output structure by, monolingual alternative, documentation +- cgi helper script, sample search form, single form, monolingual option + - single cgi form, (with different internal variables set for output types) + +v5: output structure by, multilingual, monolingual filenames tweak +2013-08-08 ralph@amissah.com +bab4ecc5 + +v4 v5: version & changelog +2013-08-08 ralph@amissah.com +584eb5c2 + +v5: concordance, fix +2013-08-01 ralph@amissah.com +9c29e3cb (tag: sisu_4.1.9) + +v5: output structure by :filename or :filetype, default multilingual, fix +2013-08-01 ralph@amissah.com +80bec6ee + +v4 v5: version & changelog +2013-08-01 ralph@amissah.com +82e74ee2 + +v5: cgi helper script, sample search form, single form, monolingual option +2013-07-30 ralph@amissah.com +9e8a84f5 (tag: sisu_4.1.8) +- single cgi form, (with different internal variables set for output types) +- monolingual output search form option + +v5: output structure by, monolingual alternative, documentation +2013-07-30 ralph@amissah.com +9dffba29 + +v5: output structure by, monolingual alternative for :filetype or :filename +2013-07-30 ralph@amissah.com +3e58296f +- filename without language code, if document is in default language +- set a default language, 'en' or as specified +- set in rc file or from command line instruction + - command line e.g. + sisu -hv --monolingual --by-filename sisu_markup.sst + sisu -3v --monolingual --by-filetype sisu_manual.ssm + - sisurc.yml lingual: 'mono' | 'multi' + lingual: 'mono' +- note: output by :filetype is roughly equivalent to what monolingual output + by :language would be +- allow command line setting of default language using language code + --default-language='en' --default-lang-en if used together with + --monolingual and --by-filetype or --by-filename the selected default + language document will not have a language code in the output filename + +v5: output structure by, add monolingual alt for :filetype & :filename, step 1 +2013-07-30 ralph@amissah.com +363a1c71 + +v4 (v5): misc, minor +2013-07-30 ralph@amissah.com +74c58285 + +v4 v5: version & changelog +2013-07-30 ralph@amissah.com +864e90c1 + +v4 v5: "general code cleaning" fix +2013-06-25 ralph@amissah.com +2cf222a2 (tag: sisu_4.1.7) + +v4 v5: version & changelog +2013-06-25 ralph@amissah.com +d308814b + +v4: general code cleaning, sync with v5 +2013-06-25 ralph@amissah.com +c25fc275 (tag: sisu_4.1.6) + +v5: "general code cleaning" fix +2013-06-25 ralph@amissah.com +335008e5 + +v4 v5: version & changelog +2013-06-25 ralph@amissah.com +251df339 + +v5: general code cleaning +2013-06-22 ralph@amissah.com +f31e286f (tag: sisu_4.1.5) +- propagate back to v4 after testing + +vim, ftplugin sisu.vim, c-\ hard wrap lines to line width (moved from c-j) +2013-06-22 ralph@amissah.com +1e648771 + +vim colorscheme def, mark current line +2013-06-22 ralph@amissah.com +bce2dc32 + +v4 v5: version & changelog +2013-06-22 ralph@amissah.com +d58a2cbb + +v4 v5: cgi helper script, sample search form generator, file name matching +2013-06-06 ralph@amissah.com +13f66fe4 (tag: sisu_4.1.4) + +v4 v5: cgi, cosmetic, drop use of images in sample form +2013-06-06 ralph@amissah.com +f502a172 + +v4 v5: sysenv, requested load warning removed, less screen clutter +2013-06-06 ralph@amissah.com +152d9955 + +v4 v5: db, population of database (--update), import of master files (.ssm), fix +2013-06-06 ralph@amissah.com +5331c088 +- (Note: for .ssm: @md.fns (is set during runtime & is) != @opt.fns @md.opt.fns, + affects construction of unique identifier) + +v4 v5: version & changelog +2013-06-06 ralph@amissah.com +5c1d86ca + +v4 v5: cgi_pgsql, cgi helper script sample search form generator, detail +2013-05-30 ralph@amissah.com +9f4d9a31 (tag: sisu_4.1.3) + +v4 v5: sysenv, pgsql db connect fix +2013-05-30 ralph@amissah.com +462a53a0 + +v4 v5: version & changelog +2013-05-30 ralph@amissah.com +f0a14b71 + +v4 v5: help, documentation update, concentrate on man pages +2013-05-29 ralph@amissah.com +4adb525f (tag: sisu_4.1.2) +- documentation, manpage update +- interactive help, out of date, removed + +v4 v5: cgi helper script, sample search form generator, adjust/improve +2013-05-29 ralph@amissah.com +d8369e7a +- adds settings + - db type --db-pq or db-sqlite + - webserver for cgi script & db --webserv-search='' + - webserver for sisu ouptut files --webserv-output='' + - cgi search form link name --cgi-search-form-name='' + - db user (pg) --db-user='' + +v4 v5: document version check, disable +2013-05-29 ralph@amissah.com +25e9f4f2 +- automatic check disabled +- check and correction of pre 0.38 markup removed + +v4 v5: help, interactive help, out of date, removed +2013-05-29 ralph@amissah.com +9ac9918c +- sysenv, version info moved here from interactive help + +v4 v5: version & changelog +2013-05-29 ralph@amissah.com +6ebe681d + +v4 v5: cgi script for sample search form generator, sqlite, minor fixes +2013-05-19 ralph@amissah.com +4460d0b3 (tag: sisu_4.1.1) +- affects 'sisu -F' (repairs breakage) + +vim, ftplugin, sisu.vim, statusline +2013-05-19 ralph@amissah.com +e101d595 + +CHANGELOG version minor cleaning, redundant +2013-05-19 ralph@amissah.com +1becc7ca + +v4 v5: version & changelog +2013-05-19 ralph@amissah.com +e6100eb7 + +v5 dev branch opened (starts as copy of v4 stable branch); v3 branch closed +2013-05-09 ralph@amissah.com +879a4e6c (tag: sisu_4.1.0) +- 5.0.0 dev opened +- 4.1.0 stable +- 3.* branch gone + +v4: cgi script for sample search form, minor fixes +2013-05-09 ralph@amissah.com +ffe139eb + +v4: defaults, sysenv, simplify default home page (not used by default) +2013-05-09 ralph@amissah.com +2b388028 + +v4: version & changelog +2013-05-09 ralph@amissah.com +076c95cc + +v4: minor sysenv, cgi_sql_common +2013-05-06 ralph@amissah.com +4b97aba3 (tag: sisu_4.0.21) + +v4: version & changelog +2013-05-06 ralph@amissah.com +4c53032f + +v4: cgi sample search form, minor +2013-04-11 ralph@amissah.com +e626600a (tag: sisu_4.0.20) + +v4: sisurc.yml, reorganize configuration files +2013-04-11 ralph@amissah.com +954c48da + +v4: version & changelog +2013-04-11 ralph@amissah.com +00566b34 + +v4: version & changelog, dates touched +2013-04-08 ralph@amissah.com +769e79c9 (tag: sisu_4.0.19) + +v4: zap, delete output files, based on given (existing) source file name +2013-04-07 ralph@amissah.com +d2a0dcbc + +v4: options, exclude manifest links if no manifest (--no-manifest) selected +2013-03-31 ralph@amissah.com +4b1d0dd6 + +v4: sysenv, yamlrc cosmetic +2013-03-31 ralph@amissah.com +48ef624d + +v4 v3: CHANGELOGs note on future closing of v3 & addendum to [71e8f19] in 4.0.18 +2013-03-31 ralph@amissah.com +73f6919d +- CHANGELOG_v3, v3 branch to be closed on opening of 4.1.* branch, imminent +- CHANGELOG_v4, re-characterize/correct commit [71e8f19] in 4.0.18 as it also + fixes a persistent bug with manifest and should be: + - v4: dal, reading/processing of composite markup files (.ssm) + - dbi, import composite files correctly + - manifest, mini-table of contents, for multi-lingual composite files + was/is: v4: dbi, import composite files (.ssm) correctly + +v4: version & changelog +2013-03-31 ralph@amissah.com +4542c1f6 + +v4: version & changelog, dates touched +2013-03-29 ralph@amissah.com +5d087439 (tag: sisu_4.0.18) + +v4: cgi, auto-generated sample search form +2013-03-29 ralph@amissah.com +1a21bfdc +- for various sisu output directory structures +- fixes + +v4: dbi, import composite files (.ssm) correctly +2013-03-28 ralph@amissah.com +71e8f191 + +v4: dal, screen_text_color, distinguish doc abstraction, as start of processing +2013-03-26 ralph@amissah.com +ec23cce1 + +v4: version & changelog +2013-03-26 ralph@amissah.com +301cf2c0 + +v4: version & changelog, dates touched +2013-03-25 ralph@amissah.com +15eb564d (tag: sisu_4.0.17) + +v4: hub, non-verbose terminal info reduced, minor +2013-03-25 ralph@amissah.com +9729a8c4 + +v4: param, guard against situation where no document creator/author given +2013-03-25 ralph@amissah.com +745ce4ee + +v4: sysenv, copy or create homepages, one of the actions taken on --config +2013-03-25 ralph@amissah.com +e6855a21 +- provide info as to where manually created homepages may be stored +- do not make default sisu homepage (previously did) + +v4: manifest & harvest, links to default site home page index.html +2013-03-20 ralph@amissah.com +b2a1d9c6 + +v4: version & changelog +2013-03-20 ralph@amissah.com +e470286e + +v4: sysenv, epub images where processing multilingual doc in lang code sub-dir +2013-03-18 ralph@amissah.com +9c676215 (tag: sisu_4.0.16) + +v4: hub, processing flow, sequence, fix +2013-03-18 ralph@amissah.com +3156fe4d +- re-run manifests at end of general processing run: + - where document source shared and more than one markup file processed; + - where translations of same document exist (determined by filename) + +v4: version & changelog +2013-03-18 ralph@amissah.com +dc852816 + +v4: share document source, markup text file &/or sisupod +2013-03-18 ralph@amissah.com +c4a842ff (tag: sisu_4.0.15) +- processing flow, correct sequence +- terminal reporting + +v4: version & changelog +2013-03-18 ralph@amissah.com +79b75404 + +v4: version & changelog, dates touched +2013-03-16 ralph@amissah.com +f70ecf5e (tag: sisu_4.0.14) + +v4: sysenv, rsync remote placement, output_by? alternatives, tuning +2013-03-14 ralph@amissah.com +6d1eeba7 +- site harvest +- pdf fix +- backround rsync only for processing of single sisu markup files + +v4: manifest, links for output_by? alternatives, harvest & qrcode related +2013-03-14 ralph@amissah.com +f8820c25 + +v4: harvest, links for output_by? filename +2013-03-14 ralph@amissah.com +13143b5a + +v4: harvest, authors, topics, terminal info +2013-03-14 ralph@amissah.com +e5d62092 + +v4: version & changelog +2013-03-14 ralph@amissah.com +787674e1 + +v4: version & changelog, dates touched +2013-03-13 ralph@amissah.com +f9cb4b03 (tag: sisu_4.0.13) + +v4: hub, sql db, fix for actions not requiring files, create, drop, etc. +2013-03-13 ralph@amissah.com +0e87ea14 + +v4: hub, sysenv, remote, work on rsync of document/site build +2013-03-13 ralph@amissah.com +0f85875f + +v4: manifest, link to harvest authors & topics if available, else cosmeitc +2013-03-12 ralph@amissah.com +f88fb6e8 + +v4: terminal reporting, cosmetic +2013-03-12 ralph@amissah.com +79ebe464 + +v4: html_format, manifest red arrow, next (segment), (broken) link fix, to toc +2013-03-10 ralph@amissah.com +280d46e9 + +v4: version & changelog +2013-03-10 ralph@amissah.com +05cf1f8b + +v4: version & changelog, dates touched +2013-03-08 ralph@amissah.com +5fc0b669 (tag: sisu_4.0.12) + +v4: sysenv, cosmetic, minor +2013-03-08 ralph@amissah.com +7c083c2a + +v4: hub, operations, report on absent markup file, if needed by requested action +2013-03-08 ralph@amissah.com +5d7e44a5 + +v4: bin/sisu, process remote sisu markup file or sisupod, where url provided +2013-03-08 ralph@amissah.com +2f0fb405 + +v4: manifest, sysenv, manifests sisupod relative link for output_by language +2013-03-07 ralph@amissah.com +5ca9a5a2 + +v4: share_src, sisu source, permissions, make world readable when shared +2013-03-07 ralph@amissah.com +c6d43f00 + +v4: version & changelog +2013-03-07 ralph@amissah.com +d172907e + +v4: emacs, sisu-mode.el, version touch +2013-03-06 ralph@amissah.com +f647bdc4 (tag: sisu_4.0.11) + +v4: html_format, html segment navigation to toc, fix +2013-03-06 ralph@amissah.com +7725af73 + +v4: options, sisupod, name determination, fix +2013-03-06 ralph@amissah.com +8b8f2e95 +- needed for creation of multiple sisupods + +v4: sysenv, base images path determined from given path for sisu executable +2013-03-06 ralph@amissah.com +f949d5fc +- where system sisu not called directly + +v4: bin/sisu, expand given path for sisu executable +2013-03-06 ralph@amissah.com +0b047c0e +- where system sisu not called directly + +v4: version & changelog +2013-03-06 ralph@amissah.com +8c503894 + +v4: html, epub, minor "cleaning" of output +2013-03-05 ralph@amissah.com +839f0374 (tag: sisu_4.0.10) + +v4: sysenv, set default output (directory layout) type where none configured +2013-03-05 ralph@amissah.com +4dd30e8a +- (also turned off reporting where imagemagick & graphicsmagick not installed) + +v4: texpdf, report to STDERR when pdf not generated (Closes: #617359) +2013-03-05 ralph@amissah.com +27bd56ae +- note: .tex file is almost certainly produced by sisu, this will be a sisu + packaging, texlive dependency issue, preventing its conversion to pdf + +v4: version & changelog +2013-03-05 ralph@amissah.com +f288e2fe + +v4: documentation, sisu markup (sisu_markup.sst, man page sisu.1, sisu.1.html) +2013-02-22 ralph@amissah.com +f6f8918b (tag: sisu_4.0.9) + +v4: emacs, sisu-mode.el +2013-02-22 ralph@amissah.com +90ab101c + +v4: vim syntax, sisu.vim +2013-02-22 ralph@amissah.com +5d116feb + +v4: dal, markup: line across page divider -..- introduced +2013-02-22 ralph@amissah.com +9916bc2d +- an alternative to page breaks -\\- & =\\=, significantly affects pdf & odf +- output formats modified to include (pdf, odf, epub, html, plaintext) + +v4: version & changelog +2013-02-22 ralph@amissah.com +b097acbf + +v4 (v3): version & changelog, dates touched +2013-02-20 ralph@amissah.com +ca69bdd4 (tag: sisu_4.0.8) + +v4 (v3): html, modification to markup of angle brackets [<>] & ampersand [&] +2013-02-20 ralph@amissah.com +32a0e39a + +v4 (v3): epub, tinkering with headers & cleaning of angle brackets '<' & '>' +2013-02-20 ralph@amissah.com +9b67ec92 + +b_epub.png, epub icon (for manifest) updated to use official image +2013-02-20 ralph@amissah.com +3910ef3e + +v4: emacs, sisu-mode.el, sisu headers update, & cosmetic code reshuffle +2013-02-16 ralph@amissah.com +92a292ab + +v4 (v3): vim, ftplugin & colorschemes housekeeping, scheme "def*" added +2013-02-14 ralph@amissah.com +c312b7dd +- :colorscheme def256* defined from 256 colors (primarily 16 of them), terminal + & gui (identical) (terminal scheme based on frugal & extended to cover gui) +- :colorscheme def* cterm defined primarily using 16 colors (a few from 256) + (to be usable tweak .Xdefaults) gui provided along with Xdefault settings to + make cterm match this gui or def256* +- sisu.vim ftplugin pruning + +v4 (v3): cosmetic, minor code shuffle, & remove trailing white-spaces +2013-02-14 ralph@amissah.com +d2fa6daa + +v4 (v3): version & changelog +2013-02-14 ralph@amissah.com +a48ee879 + +v4 (v3): lib, bin/sisu, misc, code headers provide url to online git file source +2013-02-10 ralph@amissah.com +70570e97 (tag: sisu_4.0.7) +- e.g. bin/sisu header * Git + + + +v4 (v3): vim, minimal color schemes, minor edits +2013-02-10 ralph@amissah.com +c87da88d + +v4 (v3): dbi_discrete, discreet should have been discrete, renames accordingly +2013-02-10 ralph@amissah.com +2f8254f7 + +v4 (v3): version & changelog +2013-02-10 ralph@amissah.com +ed08c2b2 + +v4: version & changelog, dates touched +2013-02-07 ralph@amissah.com +ad6bcd26 (tag: sisu_4.0.6) + +v4: documentation, sisu_manual/sisu_commands, manpage & html +2013-02-07 ralph@amissah.com +e68a2c03 + +v4: options, for pdf, concentrate & simplify matching of orientation & papersize +2013-02-07 ralph@amissah.com +75dc380f + +v4: options, param, pdf papersize, command-line options to override sisurc +2013-02-06 ralph@amissah.com +bf57f03b + +v4: pdf (texpdf, options, hub, urls) orientation discrete, individually callable +2013-02-06 ralph@amissah.com +3d165560 + +v4: texpdf, cosmetic code +2013-02-06 ralph@amissah.com +1803ceb1 + +v4: sysenv, webserv dir (output dir), ensure is determined from base markup dir +2013-02-06 ralph@amissah.com +83a88c71 +- where relative path provided (remove possibility of path expansion being done + from a language sub-directory), fix + +v4: utils, SiSU_Utils::Path.new.base_markup provides base markup directory +2013-02-06 ralph@amissah.com +9729605b +- base markup directory contains sisu markup files, any language + sub-directories (with sisu markup files) and sisu resource configuration + sub-directory, if any (./_sisu) (identifies when needed in runtime) + +v4 (v3): utils (debug renamed), SiSU_Utils::CodeMarker (from Debug::Mark) +2013-02-06 ralph@amissah.com +cd01cd76 + +v4: html, screen reporting for --html-scroll, correctly identify output file +2013-02-06 ralph@amissah.com +5b0d2c1f + +v4 (v3): version & changelog +2013-02-06 ralph@amissah.com +6896a4a1 + +v4: documentation, include --html-scroll and --html-seg options +2013-02-03 ralph@amissah.com +0506d0a1 (tag: sisu_4.0.5) +- sisu_manual/sisu_commands +- manpage & html + +v4: html (urls), scroll & seg optionally discrete, individually callable +2013-02-03 ralph@amissah.com +9f278652 +- --html (both), --html-scroll, --html-seg +- [possibly of interest where only one form of html of interest for use &/or to + cut generation time (roughly to 63% for --html-scroll only)] + +v4 (v3): css (html & epub) line spacing reduced, paragraph spacing increased +2013-02-03 ralph@amissah.com +f18b8928 +- may need to tune spacing further to distinguish lines from new paragraphs + (especially where ocn is not used as the distinction may be less + clear/obvious) + +v4 (v3): html, includes book index fix, rest cosmetic +2013-02-04 ralph@amissah.com +7d29da19 + +v4 (v3): sysenv, on --redirect, stop creation of redundant dir +2013-02-03 ralph@amissah.com +3c26df4d + +v4 (v3): version & changelog +2013-02-03 ralph@amissah.com +7231c901 + +v4 (v3): version & changelog, dates touched +2013-01-31 ralph@amissah.com +1976c5ec (tag: sisu_4.0.4) + +v4 v3: dal (obj), html, br_page* behavior in html depending on origin of break +2013-01-31 ralph@amissah.com +fb6abb03 +- markup specified v auto + +v4: epub, constants, debug alternative for various readers ... work on +2013-01-31 ralph@amissah.com +8fe36572 + +v4 v3: dal, on ocn excluded paragraphs (~# -#), hang/indent bullet, fix +2013-01-31 ralph@amissah.com +d335e11e +- [bug reported indirectly by Cory Doctorow (discovered in work with markup)] + +v4: param_make, :cover_image: regex, less finicky match of image & details +2013-01-28 ralph@amissah.com +c0f656c0 +- [bug reported by Mikael Böök] + +v4 (v3): version & changelog +2013-01-28 ralph@amissah.com +02393c16 + +v4 (v3): version & changelog, dates touched +2013-01-27 ralph@amissah.com +65b6e769 (tag: sisu_4.0.3) + +v4: check xml representation of characters (& < > in particular) +2013-01-27 ralph@amissah.com +11907e10 + +v4 v3: epub, toc.ncx fix, navpoint_close +2013-01-27 ralph@amissah.com +46b067aa + +v4 v3: remove markup-sample, first edition of FaiF +2013-01-25 ralph@amissah.com +2e17db83 +- redundant here as 2nd edition (which is a similar type of text) is available +- Bug#698664 leads me to think about it +- free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst + & associated files (images & v3 "skin"), removed + +v4 (v3): 4.0.3 (3.3.6) version & changelog +2013-01-25 ralph@amissah.com +d39c54cf + +v4 v3: epub, epub_format, provide full depth epub table of contents +2013-01-23 ralph@amissah.com +ff824c5c (tag: sisu_4.0.2) +- [request Mikael Böök] + +v4 v3: xhtml structure error, fix missing +2013-01-23 ralph@amissah.com +7cc6d871 +- [bug reported by Mikael Böök] +- fix of additional detail + +v4 v3: epub_format, cosmetic arrangement of code <<-WOK +2013-01-23 ralph@amissah.com +62701442 + +v4 v3: epub_tune html_tune, remove unnecessary conversion of some utf-8 chars +2013-01-23 ralph@amissah.com +dc624352 +- epub, fix, messed up table of contents, toc.ncx + [bug reported by Mikael Böök] + +v4 v3: dal_doc_objects, cosmetic, code arrangement, minor +2013-01-23 ralph@amissah.com +edbb402e + + v4: sysenv, debug tag, triggered where output type not set +2013-01-23 ralph@amissah.com +6bc96aae + +v4 v3: param, match possible sisu versions, detail +2013-01-23 ralph@amissah.com +7363e25d + +v4 v3: texpdf_format, list of .sty files (& their texlive source within Debian) +2013-01-23 ralph@amissah.com +ad3483a9 +- not part of code (relevant for packaging) + + v4 (v3): 4.0.2 (3.3.5) version & changelog +2013-01-23 ralph@amissah.com +74e8462c + +date 2013: version & changelog; headers bin/sisu & lib/; code constants.rb +2013-01-01 ralph@amissah.com +7f0d8276 (tag: sisu_4.0.1) + +v4: documentation, sisu.1 manpage & minor +2012-12-30 ralph@amissah.com +780c5275 + +v4 v3: manpage, attempt to improve output (line-spacing) +2012-12-29 ralph@amissah.com +a757467e + +v4 v3: plaintext, in code blocks retain a blank empty line, a fix +2012-12-29 ralph@amissah.com +c9898a09 +- [known old bug, affects sisu_manual, fix request from SynrG on irc, re + live-manual] + +v4: options, sysenv, check (existing) inclusions & exclusions, fixes +2012-12-29 ralph@amissah.com +0788fabb +- command line, document header, sisurc + +v4 v3: param, minor change any legacy
line break in metadata markup to \\ +2012-12-28 ralph@amissah.com +e92c8626 + +v4 v3: html_segments (by_filename by_filetype) broken internal doc links fixed +2012-12-28 ralph@amissah.com +577f1efe +- filenames need to include lang code +- [chals on irc, re live-manual, debian-live] + +v4: bin/sisu sysenv, rc_path_options, provide fixed path to rc files +2012-12-28 ralph@amissah.com +3d4f38a0 +- added $sisu_document_markup_directory_base_fixed_path +- needed to read right sisurc.yml & sisu_document_make + +v4 v3: largely cosmetic +2012-12-28 ralph@amissah.com +e791dbbd + +v4: sisu: --color flag, which toggles color on/off (Closes: #622171) +2012-12-28 ralph@amissah.com +a4e463e1 +- the fix here is specific to color on/off for reporting of sisu version + - sisu --version --color-off || sisu -v -k || sisu -kv +- there are various ways to control color output to screen + - --color-off or -k switches color off + - --color or --color-on switches color on, which is usually the default + - --color-toggle or -c toggles the default setting (in most cases) + - sisurc.yml can set default color state which affects most screen output + +v4 v3: debug (internal code use), color markers for line number & file name +2012-12-28 ralph@amissah.com +6998914a +- colored location markers to show when line passed within running code + +v4 (v3): 4.0.1 (3.3.4) new branch & version & changelog "opened" +2012-12-28 ralph@amissah.com +607db61a + +v4: 4.0.0 version & changelog, dates touched +2012-12-12 ralph@amissah.com +a75d469b (tag: sisu_4.0.0) + +v4: documentation; markup samples & help +2012-11-18 ralph@amissah.com +eae9bb93 + +v4: vim syntax, sisu.vim, make, new headers +2012-11-18 ralph@amissah.com +7500ecc9 + +v4: document headers, metadata rearranged, wide-ranging effect +2012-11-15 ralph@amissah.com +b147bcd3 + +v4: sisupod, use common make instruction header for documents +2012-11-05 ralph@amissah.com +60149df7 +- sisupod make instruction header file, write & read +- sisu config file names placed in constants + +v4: param, common independent document @make: header file +2012-10-03 ralph@amissah.com +f38a6456 +- ./_sisu/v4/sisu_document_make +- contains @make: header +- can contain @links: header + - @links:+ append links + - @links: default, overwritten if document contains links + +v4: param (header make), pdf, footer +2012-10-03 ralph@amissah.com +c041ea2e + +v4: param (header make), html, home button: text button; image/icon button +2012-10-03 ralph@amissah.com +65033374 + +v4: param (header make), epub, pdf, book cover images +2012-10-03 ralph@amissah.com +7456ed5b + +v4 (&v3): markup samples, for v4 remove skins, separate (v3 & v4) directories +2012-10-03 ralph@amissah.com +e51589fd + +v4: skins, remove +2012-10-03 ralph@amissah.com +2099cce1 +- remove skins +- defaults, rename class Defaults (was InfoSkin) +- sisupod, remove skin +- db + - no skin info to store, omitted from structure + - change prefix name (structure changed) + +v4: defaults, some cleaning +2012-10-03 ralph@amissah.com +bb3101d1 + +v4: bin/sisu $*, hub, make possible to specify dir path for markup files +2012-10-03 ralph@amissah.com +f6bc7d81 +- bin/sisu4 & bin/sisu3 now syslinks to bin/sisu + +v4: bin/sisu $0, make possible to run sisu command on/within project dir tree +2012-10-03 ralph@amissah.com +ac4a6aaa +- (previously sisu needed to be correctly installed with system paths honored) +- NOTE: loading of skins turned off + +v4: 4.0.0 new branch & version & changelog "opened" +2012-10-03 ralph@amissah.com +804a1037 + +v3: 3.3.3 version & changelog, dates touched +2012-10-03 ralph@amissah.com +f08ab383 (tag: sisu_3.3.3) + +v3: markup samples, and help, minor updates +2012-10-01 ralph@amissah.com +78b70334 + +v3: cgi search script, minor +2012-10-01 ralph@amissah.com +610573c4 + +v3: db, book_idx field & minor re-arrangement +2012-10-01 ralph@amissah.com +8e40c8f6 + +v3: header @classify: :topic_register: provide greater classification "depth" +2012-10-01 ralph@amissah.com +d6ef30b3 +- param, manifest +- harvest_topics + +v3: dal, sysenv, file processing, split objects; remove ref to old ruby +2012-10-01 ralph@amissah.com +52e870e3 +- markup file processing, change to sourcefile readlines & split of sourcefile array +- removal of RUBY_VERSION references to older versions of ruby + +v3: some fixes, cleaning, removing +2012-10-01 ralph@amissah.com +d98f2708 + +v3: cosmetic code, remove javascript holders js_ (not used) +2012-10-01 ralph@amissah.com +5e1bcfbb + +v3: cosmetic code, .is_a?(X) replaces .class==X (& some defined? & nil? tests) +2012-10-01 ralph@amissah.com +6b2c4479 + +v3: cosmetic code, if true ; x, remove semicolons replace with "then" +2012-10-01 ralph@amissah.com +32d32bf7 + +v3: cosmetic code, if, else, remove some semicolons (;) replace with newlines +2012-10-01 ralph@amissah.com +02cc96fb + +v3: cosmetic code, true ? x : y +2012-10-01 ralph@amissah.com +7d4665f6 + +v3: vim, ftplugin/sisu.vim +2012-10-01 ralph@amissah.com +ad6cf3c8 +- linenumbering: on; relative; off, nn +- cursor line & column: on; off, cu (existing cu+ & cu-) + +v3: odf, internal links/bookmarks, toc, book index +2012-10-01 ralph@amissah.com +58c13f49 + +v3: vim syntax, sisu.vim, =\\= page new & -\\- page break +2012-10-01 ralph@amissah.com +b553ca81 + +v3: dal_syntax, new syntax: =\\= page new & -\\- page break +2012-10-01 ralph@amissah.com +ef4da2e9 +- alias for <:pn> and <:pb> respectively + +v3: html, epub, group text, bullet, fix +2012-10-01 ralph@amissah.com +e5fe0553 + +v3: texpdf fixes +2012-10-01 ralph@amissah.com +d96753b4 +- group text, bullet +- group text, hardspaces at start of line (indent) +- group text, pass through special characters safe +- poem, bold etc. + +v3: pdflatex, landscape cover page was botched, came out as portrait, fix +2012-10-01 ralph@amissah.com +f90e9b26 + +v3: options, opt_act, limit calls +2012-10-01 ralph@amissah.com +78566728 +- ruby profiler indicates much time spent here, reduce + +v3: sisupod source, paths fix +2012-10-01 ralph@amissah.com +2ea56a48 + +v3: dbi, pgsql, report need for instructions when none given +2012-08-29 ralph@amissah.com +dd13f639 + +v3: some pre-unicode meddling sorted +2012-08-29 ralph@amissah.com +662cd26d +- covers bug reported as middle dot changed to asterisk by chals + +v3: bin/sisu, hub, reorganize call +2012-08-29 ralph@amissah.com +b4694609 + +v3: sisu -v, provide version information, fix +2012-08-29 ralph@amissah.com +8f9076f3 + +v3: constants, year static (current): YEAR=2012 +2012-08-29 ralph@amissah.com +1d401760 + +v3: 3.3.3 version & changelog "opened" +2012-08-29 ralph@amissah.com +c2f44d3b + +sha256 (3.3.2) +2012-06-30 ralph@amissah.com +cbe96983 + +v3: texpdf, xetex screen reporting of warnings off unless sisu -pV used +2012-06-30 ralph@amissah.com +a1a1c16e (tag: sisu_3.3.2) + +v3: 3.3.2 version & changelog "opened" +2012-06-30 ralph@amissah.com +6c8cd334 + +sha256 (3.3.1) +2012-06-23 ralph@amissah.com +22a22000 + +v3: sysenv, rsync put (post to remote site), fix, needs comprehensive check +2012-06-23 ralph@amissah.com +990bafcf (tag: sisu_3.3.1) +- broken since version 3 (did not cope with alternative output structures, + initial fix +- still broken: + - rsync get (sisu source); + - scp put & scp get) + +v3: texpdf_format, urls in headings break pdf documents, fix +2012-06-23 ralph@amissah.com +55e1f9c8 +- e.g. output generation of document sample gpl.fsf.sst pdf fixed + +v3: hub, some re-arrangement +2012-06-23 ralph@amissah.com +ffb99605 + +v3: 3.3.1 version & changelog "opened" +2012-06-23 ralph@amissah.com +1de02aac + +sha256 (3.3.0) +2012-06-17 ralph@amissah.com +7e27b557 + +v3: shared_sisupod_source, common build for sisu (markup) source representations +2012-06-17 ralph@amissah.com +fed01af6 (tag: sisu_3.3.0) +- to be used by sisupod.txz, git, (and src) + - sisupod_make (--sisupod) + - share_source (--source) + NOTE not used git at present +- changed representation of shared sisu source, include related files in + directory rather than just markup file [reason for version bump] + NOTE there are no changes to sisu markup (only the sharing of source files) + +v3: 3.3.0 version & changelog "opened" +2012-06-17 ralph@amissah.com +12adefb6 + +sha256 (3.2.12) +2012-06-07 ralph@amissah.com +0cda3630 + +v3: hub, post bundles, sisupod_make, file selection selection for tar.xz, fix +2012-06-06 ralph@amissah.com +c8d6617b (tag: sisu_3.2.12) + +v3: sysenv, check @md.make.respond_to?(:skin) +2012-06-06 ralph@amissah.com +3ca890e2 + +v3: html_segments, @make.build.html_navigation?, fix, (excludes --exc-html-) +2012-06-06 ralph@amissah.com +7b13cb9a + +v3: html, excludes (options) --exc-html-top-band, touch +2012-06-06 ralph@amissah.com +1e089ff9 +- html (toc & scroll), (html_segments, concordance,) exclude top band + sisu --exc-top-band --html --concordance filename.sst + +v3: screen reporting, ansi colors, cosmetic +2012-06-06 ralph@amissah.com +3c8feda2 + +v3: shared_images, fix +2012-06-06 ralph@amissah.com +6715da88 + +v3: dbi_discreet, screen reporting db location, fix +2012-06-06 ralph@amissah.com +dd790c75 + +Rake, Rant sisu installer require ruby >= 1.9.3 +2012-06-06 ralph@amissah.com +b5323c89 + +v3: 3.2.12 version & changelog "opened" +2012-06-06 ralph@amissah.com +09193958 + +sha256 (3.2.11) +2012-06-03 ralph@amissah.com +64bd8217 + +v3: images, copy (system link removed) +2012-06-03 ralph@amissah.com +35e3bcae (tag: sisu_3.2.11) + +v3: images, regular & sisupod +2012-06-03 ralph@amissah.com +26e5e47c + +v3: manifest, paths, (for command line selection of output type) fix +2012-06-03 ralph@amissah.com +a8876438 + +v3: urls, sisupod, fix +2012-06-03 ralph@amissah.com +9c234e6f + +v3: warn when files to be copied not found, add +2012-06-03 ralph@amissah.com +33417c59 + +v3: error & warning messages touched, revisit +2012-06-03 ralph@amissah.com +2cd635d5 + +v3: 3.2.11 version & changelog "opened" +2012-06-03 ralph@amissah.com +c3a4d655 + +sha256 (3.2.10) +2012-05-28 ralph@amissah.com +e48ecd9e + +v3: html_format, minor cleaning +2012-05-28 ralph@amissah.com +e8b29c36 (tag: sisu_3.2.10) + +v3: hub, share markup source (--source) not available for composite files +2012-05-28 ralph@amissah.com +fae668e5 +- suggest creating a sisupod instead + +v3: sisupod.txz processing +2012-05-28 ralph@amissah.com +45a35b75 +- BUG image copying/processing for sisupod + +v3: hub, manifest re-run where related multilingual documents, fix +2012-05-28 ralph@amissah.com +38e85ccf +- BUG breaks mini table of contents (minitoc) manifest for multilingual files, + better run without manifest minitoc, use --exc-manifest-minitoc + +v3: css, ensure css available for generated content +2012-05-28 ralph@amissah.com +a8493b25 +- checks whether exists if not copies (for --init-site / --configure just + copies, takes as a re-copy request) + +v3: documentation update, command line control of output dir structure +2012-05-28 ralph@amissah.com +3faa85c6 +- --output-by-language; --output-by-filetype; --output-by-filename, or + --by-language; --by-filetype; --by-filename +- sisu_commands.ssi, manpage sisu.1, man2html + +v3: options, command line control of output directory structure +2012-05-28 ralph@amissah.com +ba278b92 +- --output-by-language; --output-by-filetype; --output-by-filename, or + --by-language; --by-filetype; --by-filename + +v3: options, --init-site, --configure, fix +2012-05-28 ralph@amissah.com +6e6602f0 + +v3: hub, "requires", fix +2012-05-28 ralph@amissah.com +23a90535 + +v3: code headers mainly copyright +2012-05-28 ralph@amissah.com +965fe1f6 + +v3: 3.2.10 version & changelog "opened" +2012-05-28 ralph@amissah.com +8cc2ed96 + +sha256 (3.2.9) +2012-05-19 ralph@amissah.com +220350d5 + +v3: options, create manifest touched +2012-05-19 ralph@amissah.com +8754d67b (tag: sisu_3.2.9) + +v3: harvest, fix some details +2012-05-19 ralph@amissah.com +b26ce9d5 +- harvest by filename output paths +- harvest_topics, add level +- harvest_topics, alternative headings, fix + +v3: 3.2.9 version & changelog "opened" +2012-05-19 ralph@amissah.com +bd9d05b9 + +sha256 (3.2.8) +2012-05-12 ralph@amissah.com +784eb3fd + +v3: sisupod make, re-fixed, check again +2012-05-12 ralph@amissah.com +2dee3abf (tag: sisu_3.2.8) + +v3: po4a, runs, needs checking +2012-05-12 ralph@amissah.com +35825d22 + +v3: hub, fixes, still a construction zone +2012-05-12 ralph@amissah.com +64c73059 + +v3: a few misc fixes +2012-05-12 ralph@amissah.com +5fffe95f +- options, omissions and typo fix +- particulars, fix, check +- shared_metadata, fix + +v3: sst_identify_markup, document header SiSU 3.0 +2012-05-12 ralph@amissah.com +782e36f0 +- pretty much as SiSU 2.0, some header additions +- identification not fully implemented + +v3: reporting, composite file names touched +2012-05-12 ralph@amissah.com +5dace955 + +v3: rescue & error warnings, more touched +2012-05-12 ralph@amissah.com +99965a52 + +v3: 3.2.8 version & changelog "opened" +2012-05-12 ralph@amissah.com +0832d42c + +sha256 (3.2.7) +2012-05-07 ralph@amissah.com +d13ffd55 + +v3: hub, options, fixes: dbi: pgsql, sqlite +2012-05-06 ralph@amissah.com +6c38bed1 (tag: sisu_3.2.7) + +v3: qrcode, fixes +2012-05-06 ralph@amissah.com +da82e36f +- ensure manifest is run +- urls fix + +v3: rescue & error warnings, some touched +2012-05-06 ralph@amissah.com +5af7a5e4 + +v3: 3.2.7 version & changelog "opened" +2012-05-06 ralph@amissah.com +d52bc28d + +sha256 (3.2.6) +2012-05-01 ralph@amissah.com +67b15a43 + +v3: hub (seek finer grained control over what happens when; causes breakage) +2012-05-01 ralph@amissah.com +f297b90d (tag: sisu_3.2.6) +- (primarily) cycle files then options (instead of options then files) +- manifest re-run on (currently generated) translated files if any + +v3: misc, minor +2012-05-01 ralph@amissah.com +714a14fc + +v3: harvest (metadata, site/document summary) fixes +2012-05-01 ralph@amissah.com +aae35fa1 +- harvest_topics, sort fix +- harvest_authors, minor fix +- sst content parsing lang dir +- output file location, currently works for (by?) :language & :filetype + +v3: 3.2.6 version & changelog "opened" +2012-05-01 ralph@amissah.com +712054c1 + +sha256 (3.2.5) +2012-04-22 ralph@amissah.com +93e1767e + +v3: shared_html_lite, codeblock fix, affecting sql +2012-04-22 ralph@amissah.com +173a8bec (tag: sisu_3.2.5) +- SELECT ocn,body FROM doc_objects WHERE t_is='code'; + +v3: 3.2.5 version & changelog "opened" +2012-04-22 ralph@amissah.com +f95eb559 + +sha256 (3.2.4) +2012-04-21 ralph@amissah.com +554b061d + +v3: rescue reporting +2012-04-21 ralph@amissah.com +d810b3f1 (tag: sisu_3.2.4) + +v3: sysenv, default processing dir name change +2012-04-21 ralph@amissah.com +5ae11e06 +- distinguish sisu branch, add sisu branch to processing directory name +- if constants, 'DEVELOPER[:maintenance] == :true' then additionally add + sisu version number to processing directory name + +v3: db bugfix in maintenance mode (variable name reused) +2012-04-21 ralph@amissah.com +06520be4 + +v3: 3.2.4 version & changelog "opened" +2012-04-21 ralph@amissah.com +a8b86404 + +sha256 (3.2.3) +2012-04-15 ralph@amissah.com +93f30fc1 + +v3: vim syntax highlighting, document header added (@make:) :substitute: +2012-04-15 ralph@amissah.com +8fefa22f (tag: sisu_3.2.3) + +v3: param, dal_syntax, document header (simple regex) substitution list +2012-04-15 ralph@amissah.com +0013ec9d +- $ and curly braces are escaped (within sisu) to allow the following: + @make:\n :substitute: /${linux-distro}/,'Debian' /${stable}/,'Squeeze' \ + /${testing}/,'Wheezy' +- changes are not made within text object types: code-blocks, tables or + metadata (document headers). Marked up document remains self-referential. +- Note: the substitution list must be written on a single line, without + line-breaks. +- [Substitutions possibility requested by Debian-live, live-manual (Ben + Armstrong & Daniel Baumann)] + +v3: 3.2.3 version & changelog "opened" +2012-04-15 ralph@amissah.com +0e9a8b0c + +sha256 (3.2.2) +2012-04-05 ralph@amissah.com +9de3fc4c + +v3: sql creation -v reporting reduced +2012-04-05 ralph@amissah.com +683ca12c (tag: sisu_3.2.2) + +v3: urls, reporting, some cleaning +2012-04-05 ralph@amissah.com +6a6c011f + +v3: sysenv, path.style (a quick fix, review) +2012-04-05 ralph@amissah.com +19c96080 + +v3: 3.2.2 version & changelog "opened" +2012-04-05 ralph@amissah.com +b9d03b2c + +sha256 (3.2.1) +2012-03-21 ralph@amissah.com +db578f67 + +v3: documentation sisu_commands, manpage, html (man2html) +2012-03-21 ralph@amissah.com +582f1bbd (tag: sisu_3.2.1) + +COPYRIGHT add markup samples "Free as in Freedom" +2012-03-21 ralph@amissah.com +a5873a42 + +v3: 3.2.1 version & changelog "opened" +2012-03-21 ralph@amissah.com +d8beb2f4 + +sha256 (3.2.0) +2012-03-19 ralph@amissah.com +9b91ce64 + +COPYRIGHT, name change using uppercase, format changed +2012-03-19 ralph@amissah.com +6528dc88 (tag: sisu_3.2.0) +- content format influenced by Machine-readable debian/copyright file + + +v3: 3.2 branch is main (v3dv --> v3); dev (v3dv) branch directories removed +2012-03-19 ralph@amissah.com +6811ac91 +- v3dv (3.2) "merged" into v3 (previously 3.1) (& removed) + - conf/sisu/v3dv --> conf/sisu/v3 + - data/sisu/v3dv --> data/sisu/v3 + - lib/sisu/v3dv --> lib/sisu/v3 + - bin/sisu* (v3dv references changed to v3) + - (--dev modifier (superfluous for the time being) runs main v3 branch) + +v3: 3.2.0 version & changelog "opened" +2012-03-19 ralph@amissah.com +349975b7 + +sha256 (3.1.15-2) +2012-03-13 ralph@amissah.com +356854c1 + +sha256 (3.1.15) +2012-03-12 ralph@amissah.com +553f6bab + +v3dv: documentation sisu_commands, add sqlite3 discreet +2012-03-12 ralph@amissah.com +58bc2e51 (tag: sisu_3.1.15) + +v3dv: sqlite3 discreet .sql.db file for each document (possibility added) +2012-03-12 ralph@amissah.com +86b767b0 +- in addition to existing possibility of a shared db in sqlite3 or postgresql + +v3dv: documentation sisu_commands, rearranged & update with regard to excludes +2012-03-12 ralph@amissah.com +b53d63a6 +- sisurc.yml omit list, commented out omit line with single example added + +v3dv: vim syntax highlighting, document header added :omit: (under @make) +2012-03-12 ralph@amissah.com +c79ce1e8 + +v3dv: start using output control hooks +2012-03-12 ralph@amissah.com +756caa5d +- for config file, document headers, & command line +- 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: sysenv, param, options, output control hooks code modified +2012-03-12 ralph@amissah.com +4cdfa555 +- for config file, document headers, & command line +- requiring downstream code changes (in commit that follows) + +v3dv: texinfo, fix (break holding back 3.2 merge) +2012-03-12 ralph@amissah.com +231c64ec +- proposed next version starts 3.2, (merge dev branch after 3.1.15) + +v3dv: lib, clean trailing whitespace +2012-03-12 ralph@amissah.com +2e1d0030 + +v3 v3dv: 3.1.15 & 3.2.0~pre version & changelog "opened" +2012-03-12 ralph@amissah.com +dc4c672e + +sha256 (3.1.14) +2012-02-14 ralph@amissah.com +8f91f70e + +v3dv: control hooks +2012-02-14 ralph@amissah.com +6d898f1e (tag: sisu_3.1.14) +- hooks to make it possible to control (via: the command line; the document + markup header, or; the command line) the likes of: toc, manifest, + manifest-links, metadata, html-minitoc, html-navigation, html-navigation-bar; + these are switched on by default and control takes the form of making it + possible to switch them off. + +v3dv: dal, remove sisu_manifest from document structure & toc +2012-02-14 ralph@amissah.com +f653df16 +- html & epub coding affected + +v3dv: --redirect (--redirect=dir_path) & --dump (--dump=dir_path) + consequences +2012-02-14 ralph@amissah.com +2b884fb7 +- --dump places output in directory specified, if none specified in the current + directory (pwd). +- --redirect 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). +- html, css incorporated into each file (concordance & manifest included) +- html, xhtml & xmls, css copied into css subdirectory (not used by html as + embedded) +- html xmls, images copied to output directory +- no links to manifest +- manifest with relative links only +- longer html filenames given to avoid names clashing (e.g. for toc, manifest, + concordance) +- html, epub, remove manifest toc links +- -j copy images associated with file (images used by html & xmls) + - automatically invoked by --dump & redirect +- v3 v3dv: document --redirect, --dump, -j update sisu_commands.sst + [documents not generated until v3.2.0 (when v3dv branch is merged into v3)] + +v3dv: sysenv, output_dir_structure, rewritten, affected code modified +2012-02-14 ralph@amissah.com +8138e230 + +v2: vim syntax highlighting, patch from Thilo Six applied +2012-02-14 ralph@amissah.com +525b4f1a +- Re: & + + [for v3, see sisu_3.1.13 changelog] + +v2 v3 v3dv: 3.1.14 & 3.2.0~pre (& 2.9.12) version & changelog "opened" +2012-02-14 ralph@amissah.com +7fbe3413 + +sha256 (3.1.13) +2012-02-03 ralph@amissah.com +87f10378 + +v3dv, dal +, use symbols to identify document objects type (is) and group (of) +2012-02-03 ralph@amissah.com +7e3cee57 (tag: sisu_3.1.13) +- (dal & code affected as a result) + +v3 v3dv: path & url links, updates for multiple output directory structures +2012-02-03 ralph@amissah.com +145f3092 + +v3 v3dv: vim syntax highlighting, patch from Thilo Six applied +2012-02-03 ralph@amissah.com +6dd8de87 +- Re: & + + +v3 v3dv: 3.1.13 & 3.2.0~pre version & changelog "opened" +2012-02-03 ralph@amissah.com +071c6dbb + +sha256 (3.1.12) +2012-01-23 ralph@amissah.com +527f9054 + +v3dv: replace use of most ruby exclamation (!) method actions +2012-01-23 ralph@amissah.com +21f5e220 (tag: sisu_3.1.12) + +v3dv: call most methods by full name (include associated module & class names) +2012-01-23 ralph@amissah.com +3d6deb1d +- messing with code, merge back now likely to become v3.2 + +v3dv: sysenv, use "which" instead of "whereis" to locate programs, test +2012-01-23 ralph@amissah.com +45a3eb91 +- [suggested by, Timothy Hume, used to get sisu texpdf to work on MacOS] + +v3 v3dv: texpdf, tampering with "safe" special character transformations, a fix +2012-01-23 ralph@amissah.com +7e9a59ca +- could introduce new issues, watch +- [reported by Timothy Hume, pdf title bug "&" not represented] + +v3 v3dv: urls, odt maintenance path fix +2012-01-23 ralph@amissah.com +0b38bae2 + +v3 v3dv: 3.1.12 & 3.2.0~pre version & changelog "opened" +2012-01-23 ralph@amissah.com +89bbbb52 + +sha256 (3.1.11) +2012-01-10 ralph@amissah.com +aa8f0cea + +v3dv: SiSU_DAL_ for module names in dal, & module Metadata is SiSU_Metadata +2012-01-10 ralph@amissah.com +16db2c67 (tag: sisu_3.1.11) +- v3dv: modify.rb script (& its artifact) removed (after use) from lib/sisu + modify.rb script remains available (in generic form) under: + data/sisu/v3/conf/convert/modify.rb + data/sisu/v3dv/conf/convert/modify.rb + +v3dv: make further changes to module names & test +2012-01-10 ralph@amissah.com +19e69de6 + +v3dv: class names, use more CamelCase +2012-01-10 ralph@amissah.com +df67ee10 + +v3dv: class names, remove "SiSU_" (reserve for module names for consistency) +2012-01-10 ralph@amissah.com +732dca2b + +v3dv: module names, use more CamelCase +2012-01-10 ralph@amissah.com +51ba2d70 + +v3dv, add dev branch (use to make some changes to module & class names & test) +2012-01-10 ralph@amissah.com +75e3bf86 +- (intended as) short term branch, merge back into v3 once tested +- sisu --dev (to invoke) + +v3: date, year 2012, update +2012-01-10 ralph@amissah.com +1677a583 + +v3: modify.rb, prep script for year update, & changing module & class names +2012-01-10 ralph@amissah.com +a0c28268 + +v2: modify, sisu markup version script (take from v3) +2012-01-10 ralph@amissah.com +9d687db1 + +v2 v3: 3.1.11 version & changelog "opened" +2012-01-10 ralph@amissah.com +aef3a251 + +sha256 (3.1.10) +2011-12-31 ralph@amissah.com +c977c099 + +v3: html, epub, (& xml) codeblocks, treatment of '<<' & '>>', fix +2011-12-31 ralph@amissah.com +66d81556 (tag: sisu_3.1.10) +- (remove legacy codeblock match rule, watch) + +v3: 3.1.10 version & changelog "opened" +2011-12-31 ralph@amissah.com +7c9212ef + +sha256 (3.1.9) +2011-12-19 ralph@amissah.com +5712c0bc + +v3: html, seg output, index.html fixes +2011-12-19 ralph@amissah.com +d71c116e (tag: sisu_3.1.9) +- place in correct directory and use language code as appropriate +- remove broken index.html from output [note the existing erroneous file is + not removed by a program run, it has to be removed manually] +- [issue reported by chals (debian live-manual) on irc oftc #sisu] + +v3: sysenv, html files in _sisu/home (*.html) copied as home pages +2011-12-19 ralph@amissah.com +9ef4a603 + +v3: options, --find & --glob, use for general search in base directory +2011-12-19 ralph@amissah.com +598c4fe8 +- cannot be limited by sub-directory, error message provided + +v3: 3.1.9 version & changelog "opened" +2011-12-19 ralph@amissah.com +a39fede4 + +sha256 (3.1.8) +2011-12-13 ralph@amissah.com +cfaad12e + +v3: texpdf, output_by: filetype, fix, language code part of filename, fix +2011-12-13 ralph@amissah.com +b77338f9 (tag: sisu_3.1.8) +- files previously given same name and written over +- [reported by chals (live-manual) on irc oftc #sisu] +- [output_by language and filename ok] + +v3: odf:odt, codeblocks, a match fix, affects e.g. "<<" +2011-12-13 ralph@amissah.com +0607a1bd + +v3: 3.1.8 version & changelog "opened" +2011-12-13 ralph@amissah.com +59a52e3d + +sha256 (3.1.7) +2011-12-08 ralph@amissah.com +a6aadc4d + +v3: documentation, manpage & html (man2html) +2011-12-08 ralph@amissah.com +02607532 (tag: sisu_3.1.7) + +v3: documentation, add --configure, use ascii chars for dir tree, correct typos +2011-12-08 ralph@amissah.com +cda92b55 + +v3: sysenv, only copy external images directory if it exists +2011-12-08 ralph@amissah.com +4c67b33e + +v3: texpdf, codeblocks, use listings package (for grey box) +2011-12-08 ralph@amissah.com +595970ff +- (internally retain possibility to use boites package) + +v3: epub, css, codeblock, grey box +2011-12-08 ralph@amissah.com +9ea7b7f1 + +v3: dal, codeblocks, removed identifier tags, changed markup of "<" & ">" +2011-12-08 ralph@amissah.com +9cdd523c + +v3: 3.1.7 version & changelog "opened" +2011-12-08 ralph@amissah.com +858fc0bd + +sha256 (3.1.6) +2011-12-02 ralph@amissah.com +5989174e + +v3: texpdf, use boites for box round codeblocks +2011-12-02 ralph@amissah.com +d5137332 (tag: sisu_3.1.6) +- use and adapt 'boitecoloriee' (found in boites_examples.sty) +- in boitebox as setup normal tex hardspaces at start of line are removed, + hack required to fix + +v3: dal, codeblocks, start flush left (no buffer spaces at start of line) +2011-12-02 ralph@amissah.com +acd2e817 +- allows cut & paste of codeblocks (from some output formats) + [requested by chals irc.oftc] + +v3, require iconv (removed), should use String#encode instead, watch +2011-12-02 ralph@amissah.com +83f669a0 +- removed iconv, required a number of places without being used, watch + +v3: 3.1.6 version & changelog "opened" +2011-12-02 ralph@amissah.com +fc908660 + +sha256 (3.1.5) +2011-11-21 ralph@amissah.com +a4295e20 + +v3: odf:odt v1.2 +2011-11-21 ralph@amissah.com +2d9e5eca (tag: sisu_3.1.5) +- includes previously unimplemented hanging indents + - done: dal, plaintext, html, epub, xhtml, xml (sax & dom), odt, pdf, sql; + not done: man, info + +v3: param, sisupod_make, sisu markup embedded symbol images regex, case added +2011-11-21 ralph@amissah.com +b19886a0 + +v3: sisu manual, sisu markup, e.g. of link shortcut for multiple sisu documents +2011-11-21 ralph@amissah.com +ecd91fe8 + +v3: dal_expand_insertions, link shortcut for sisu documents, omit codeblocks +2011-11-21 ralph@amissah.com +b5c036a6 + +v3: 3.1.5 version & changelog "opened" +2011-11-21 ralph@amissah.com +b80f7bea + +sha256 (3.1.4) +2011-11-11 ralph@amissah.com +4a239cf6 + +v3: FileUtils, replace system calls +2011-11-11 ralph@amissah.com +b59529b2 (tag: sisu_3.1.4) + +v3: FileUtils, make explicit calls (more verbose, easier to find) +2011-11-11 ralph@amissah.com +d17e7245 + +v3: 3.1.4 version & changelog "opened" +2011-11-11 ralph@amissah.com +d480a1dc + +sha256 (3.1.3) +2011-11-05 ralph@amissah.com +ed249df6 + +v3: fix necessary, Re: (3.1.2) [da4acc7] header, bold & italic pattern matching +2011-11-05 ralph@amissah.com +f3015990 (tag: sisu_3.1.3) +- header, bold & italic pattern matching, ignore case (possibility reinstated) + @make: :bold: :italic: /[regex]/i + +v3: 3.1.3 version & changelog "opened" +2011-11-05 ralph@amissah.com +6404e3e9 + +sha256 (3.1.2) +2011-10-31 ralph@amissah.com +daa1082c + +v3: header, bold & italic pattern matching, ignore case (possibility reinstated) +2011-10-31 ralph@amissah.com +da4acc73 (tag: sisu_3.1.2) +- (bold & italic pattern matching) @make: :bold: :italic: /[regex]/i + +v3: sysenv, skins, a fix +2011-10-31 ralph@amissah.com +87608df7 + +v3: conf/convert/modify.rb minor fixes +2011-10-31 ralph@amissah.com +df67ba29 + +v3: concordance, information to terminal, minor +2011-10-31 ralph@amissah.com +3ba9db64 + +v3: markup-samples, Free as in Freedom 2.0, made use of old book index +2011-10-31 ralph@amissah.com +c148cfd1 +- (made use of old book index) better than none + +v3: markup-samples, Free as in Freedom 2.0 +2011-10-31 ralph@amissah.com +12ffabde + +v3: 3.1.2 version & changelog "opened" +2011-10-31 ralph@amissah.com +9c52c3cc + +sha256 (3.1.1) +2011-10-15 ralph@amissah.com +97df42b6 + +v3: odf:odt, make odt style names more easily recognizable +2011-10-15 ralph@amissah.com +aa06692c (tag: sisu_3.1.1) + +v2 v3: odf:odt v1.0: make odt header easier to track; remove binary blob +2011-10-15 ralph@amissah.com +6d462575 +- make odt header changes easier to track + (this commit maintains rough equivalence to sisu-3.1.0 headers) +- sysenv, builds odf:odt directory structure instead of binary blob +- get rid of odf:odt (binary changeset) blob zipfile (containing odf:odt + directory structure) + +v3: manifest, odt url lnk, fix +2011-10-15 ralph@amissah.com +fadbc35f + +v2 v3: 3.1.1 version & changelog "opened" +2011-10-15 ralph@amissah.com +a29324fc + +sha256 (3.1.0) +2011-10-03 ralph@amissah.com +0dad10b2 + +v2 v3: documenation, html, man2html (sisu.1) +2011-10-03 ralph@amissah.com +85bd7236 (tag: sisu_3.1.0) + +v2 v3: documentation, html, minor (removal of trailing whitespaces) +2011-10-03 ralph@amissah.com +5e53466d + +v2 v3: documentation, manpage +2011-10-03 ralph@amissah.com +e9c80fcc + +v2 v3: documentation, small update +2011-10-03 ralph@amissah.com +7997984e + +v3: sysenv, output_structure_by: filename, fix to output directories created +2011-10-03 ralph@amissah.com +2547d72c + +v3: vim syntax, :texpdf_font_mono: added to @make:; proposed header changes +2011-10-03 ralph@amissah.com +c6f5cd15 +- sisu_next.vim, track proposed syntax (header) changes + +v3: sisrc.yml, texpdf_font (main, mono) Liberation series (main default Sans) +2011-10-03 ralph@amissah.com +53e6d1a3 + +v3: texpdf, fonts, Liberation series default (main: Sans, mono: Mono) +2011-10-03 ralph@amissah.com +7fb6acc0 +- (mono) improved with selection of Liberation Mono as default +- font (main font, mono) configurable in sisurc.yml under + default: (texpdf_font:|texpdf_font_mono:) + or within document under @make: (:texpdf_font:|:texpdf_font_mono:) + +v3: defaults, (sisu) home page, link to git repo, minor fixes +2011-10-03 ralph@amissah.com +8925b881 + +v3: sysenv, rc_path adds ./.sisu/ (to existing ./_sisu/ & ~/.sisu/) +2011-10-03 ralph@amissah.com +a8472db6 + +v2 v3: bin/sisu, default sisu version 3 +2011-10-03 ralph@amissah.com +366895d4 +- Version 3 is now the default (on running sisu) + +v2 v3: 3.1.0 version & changelog "opened" +2011-10-03 ralph@amissah.com +e8daf990 + +sha256 (3.0.19) +2011-09-24 ralph@amissah.com +02540066 + +v3: remote, src & sisupod processing, and rsync placement +2011-09-24 ralph@amissah.com +00817305 (tag: sisu_3.0.19, tag: sisu-3.0.19) + +v3: qrcode, sisu generated manifest output, treat as such +2011-09-24 ralph@amissah.com +b1d08ced +- place qrcode images in directory under manifest (manifest/qrcode) +- fix remote placement of qrcode images when requested + +v3: info files, fix output; remote, include info file & manpage (when selected) +2011-09-24 ralph@amissah.com +344270fa + +v3: hub, processing options, remove cruft +2011-09-24 ralph@amissah.com +794c20f3 + +v3: cosmetic, minor +2011-09-24 ralph@amissah.com +5048519f + +v2 v3: param, matching of date, years 1400 - 21\d\d +2011-09-24 ralph@amissah.com +8edbb138 + +v2: remote, image source url fix +2011-09-24 ralph@amissah.com +18467732 + +v2 v3: 3.0.19 version & changelog "opened" +2011-09-24 ralph@amissah.com +035c6566 + +sha256 (3.0.18) +2011-09-13 ralph@amissah.com +5ade3b6c + +v3: epub +2011-09-13 ralph@amissah.com +e70f6340 (tag: sisu_3.0.18, tag: sisu-3.0.18) +- fix for different output structures, language codes not used + internally (within epub) +- adjustment to image paths for image copy + +v3: image (relative) paths for different sisu output structures +2011-09-13 ralph@amissah.com +c2163c56 +- (re: by_language, by_filetype, by_filename) +- sysenv, set path +- html seg, scroll, manifest (qrcodes), xmls + +v3: dal_images, disabled imagemagick configuration permission check +2011-09-13 ralph@amissah.com +403a52d7 +- until sisupod reads local sisurc.yml (configuration file) + +v3: hub (affecting options +others) sisupod processing (v2 enabled) +2011-09-13 ralph@amissah.com +705ccf77 + +v3: options, (hub), action (opt.act) modified to increase use possibilities +2011-09-13 ralph@amissah.com +af7543c0 + +v3: options, match fix for --glob / --find +2011-09-13 ralph@amissah.com +65e4c063 + +v3: correct sisupod references and path to .txz (replace .zip) +2011-09-13 ralph@amissah.com +2ec7a07f + +v3: CHANGELOG_v3, correct .orig.tar.xz name (>=3.0.15) +2011-09-13 ralph@amissah.com +ab8d19c4 + +v3: 3.0.18 version & changelog "opened" +2011-09-13 ralph@amissah.com +0fdc7c9e + +sha256 (3.0.17) +2011-09-05 ralph@amissah.com +0d5cc01a + +v3: sisupod_v3 make (build); place (rsync); process (generate sisu output from) +2011-09-05 ralph@amissah.com +22f6ac00 (tag: sisu_3.0.17, tag: sisu-3.0.17) +- sisupod v3 + - modify pod dir structure, place sisu source in dir/[lang_code]/ e.g. dir/en/ + - use tar.xz (.txz) + - bundle all language version in pod + - bundle .ssm and all included files for each selected language (rather + than composited .ssm.sst file) + (filename pattern) or named in files to be processed string + - remote placement + - sisu processing from sisupod v3 +- rsync sisupod v3 +- sysenv, check that tree is available and use as desired when available + +v3: Dir.chdir, remove "system cd" (change directory) use Dir.chdir +2011-09-05 ralph@amissah.com +b5712bc3 + +v3: unix conditional tests (? :) remove line break markers before : cosmetic +2011-09-05 ralph@amissah.com +7bc559f8 + +v3: 3.0.17 version & changelog "opened" +2011-09-05 ralph@amissah.com +a0354001 + +sha256 (3.0.16) +2011-08-19 ralph@amissah.com +0bf06f64 + +v3: dal, sisu document links (multiple output versions) shortcut +2011-08-18 ralph@amissah.com +cacb0565 (tag: sisu_3.0.16, tag: sisu-3.0.16) +- links to multiple versions internal documents based on shortcut notation, + e.g. + { "Viral Spiral", David Bollier [3sS]}viral_spiral.david_bollier.sst + resulting in all versions of the document that would be generated by + running the command sisu3 -3sS viral_spiral.david_bollier.sst +- added possibility to specify language where language directory structure + is used for source documents + { "Viral Spiral", David Bollier [3sS]}en/viral_spiral.david_bollier.sst + +v3: concordance, i18n, start adding alternative language alphabets +2011-08-18 ralph@amissah.com +6bd77e1c +- Danish, Norwegian, Swedish + +v3: epub, param, (defaults) epub tuning +2011-08-18 ralph@amissah.com +90ad666b +- include levels A - C as individual sections + (xhtml file with consistent opf & ncx) +- sync ncx with sisu internal structural logic + (correct depth, include level A, place sisu toc) + +v3: sysenv, cosmetic, code arrangement touch +2011-08-18 ralph@amissah.com +084e7d20 + +v3: html_format, texinfo_format, minor, html seg presentation fix +2011-08-18 ralph@amissah.com +3ff0378e + +v3: 3.0.16 version & changelog "opened" +2011-08-18 ralph@amissah.com +5041a3d9 + +sha256 (3.0.15) +2011-08-09 ralph@amissah.com +9c24ffc9 + +v3: epub, constants, experiment with presentation +2011-08-09 ralph@amissah.com +532c0301 (tag: sisu_3.0.15, tag: sisu-3.0.15) +- disable some internal "features" +- make file and directory naming more flexible, now using + 'OEBPS', 'toc.ncx', 'content.opf', +- adjustment of some headers and general tuning +- add opf guide +- clean processing directory between each build +- constants, added constants Ep (for epub) +- constants, added DISABLE (used here with epub) + +v3: constants, re-arranged +2011-08-09 ralph@amissah.com +04d33909 + +v3: texpdf, possibility to translate "Contents" for table of contents +2011-08-09 ralph@amissah.com +7c0a7346 + +v3: prog_text_translation, add contents, remove some repetition +2011-08-09 ralph@amissah.com +a588b8f5 + +v3: po4a, make use of base directory (default) language setting +2011-08-08 ralph@amissah.com +c610cd64 +- set original language, (instead of assuming English) (per directory or wider) + +v3: options, sysenv, sisurc.yml, set/config default language (code) +2011-08-08 ralph@amissah.com +eb474533 +- in absence of setting 'en' assumed +- 'en' previously fixed + +v3: options, default action on running "sisu3 [filename.sst]", fix +2011-08-08 ralph@amissah.com +bd2ba361 + +v2 v3: removed objects.txt, cleaning +2011-08-08 ralph@amissah.com +f0da30bc + +v3: 3.0.15 version & changelog "opened" +2011-08-08 ralph@amissah.com +07065d9e + +sha256 (3.0.14) +2011-07-26 ralph@amissah.com +439b8be4 + +v2 v3: manpage html (man2html) +2011-07-26 ralph@amissah.com +3c0b56d9 (tag: sisu_3.0.14) +- commands: --qrcode -Q; update shortcut options +- markup.sst: indent update; publisher + +v2 v3: manpage +2011-07-26 ralph@amissah.com +520128d4 +- commands: --qrcode -Q; update shortcut options +- markup.sst: indent update; publisher + +v2 v3: sisu_manual +2011-07-26 ralph@amissah.com +bd65e8ad +- sisu_commands: --qrcode -Q; update shortcut options; line-breaks use \\ +- sisu_markup.sst: indent update; publisher + +v3: po4a, indent (check for breakage) +2011-07-26 ralph@amissah.com +d613c978 + +v3: odf, manpage, "new" indent not implemented +2011-07-26 ralph@amissah.com +d9dcd891 + +v3: sql (pg, sqlite), indent ... +2011-07-26 ralph@amissah.com +e3330f16 + +v3: texpdf, indent ... +2011-07-26 ralph@amissah.com +dba6d8b3 + +v3: epub, indent ... +2011-07-26 ralph@amissah.com +727db14c + +v3: html, indent ... +2011-07-26 ralph@amissah.com +392f8d5c + +v3: xhtml, xml sax & dom, indent (partially implemented) ... +2011-07-26 ralph@amissah.com +1abd2f99 + +v3: css, indent ... +2011-07-26 ralph@amissah.com +476ee850 + +v3: plaintext, indent ... +2011-07-26 ralph@amissah.com +051b3216 + +v3: dal, indent, control of first line of indent & rest of paragraph +2011-07-26 ralph@amissah.com +5e292103 +- implements hanging indent, and possibility to set first line step indent +- __[1-9] hanging indent (initial indent 0); paragraph text indent [1-9] +- _[0-9]?_[1-9] initial indent; paragraph text indent +- __[1-9]! bold words \\ part of hanging indent paragraph text + +v3: emacs syntax highlighting sisu-mode.el +2011-07-26 ralph@amissah.com +afa76471 +- markers for hanging indent added +- line-break + +v3: vim sisu syntax highlighting +2011-07-26 ralph@amissah.com +c77953fb +- markers for hanging indent added +- added header for @creator: :editor: +- minor comments added +- deletion of an unused tag + +v3: sql db, constants, cgi-sql, structure changed, creator.editor field added +2011-07-26 ralph@amissah.com +399e6eaa + +v3: param, manifest, qrcode, epub, added creator.editor field +2011-07-26 ralph@amissah.com +2e6af20c + +v3: qrcode, manifest, (++), QR code (metadata) images for manifest +2011-07-26 ralph@amissah.com +f965e590 +- generate images using qrencode + +v3: epub, opf fixes +2011-07-26 ralph@amissah.com +a44bbf20 + +v3: texpdf, XeTeX language settings (setmainlanguage setotherlanguage) +2011-07-26 ralph@amissah.com +427c8b29 +- get from directory or filename if header @make: :language: not set + +v3: xmls (sax, dom, xhtml) use of tidy, correct output location +2011-07-26 ralph@amissah.com +bdc8fb18 + +v3: param, cleanup setting of auto endotes +2011-07-26 ralph@amissah.com +5eb77a9b + +v3: sysenv, cosmetic +2011-07-26 ralph@amissah.com +9c518b45 + +v3: sysenv, avoid creation of spurious directories in output tree +2011-07-26 ralph@amissah.com +b739f3f1 +- an image copy section removed (re-implement correctly later) + +v3: urls, --concordance (hyphen added, descriptive) +2011-07-26 ralph@amissah.com +20084391 + +v3: 3.0.14 version & changelog "opened" +2011-07-26 ralph@amissah.com +9056c5a3 + +sha256 (3.0.13) +2011-06-26 ralph@amissah.com +45a05d0c + +v3: documentation, on additional breaks in document, (remove some old info) +2011-06-26 ralph@amissah.com +1d239f25 (tag: sisu_3.0.13) +- linebreak \\ (previously undocumented
kept but depreciated) + [it is intended that this should close #617298 (post mail)] +- page break (breaks column if column, else breaks page) +- page new (new page, breaks page) +- sisurc.yml set output directory structure by language +- removed section on hyperestraier, too specialised for general manpage + (also section not checked recently) + +v2 v3: sisurc.yml, config settings +2011-06-26 ralph@amissah.com +c5523331 + +v3: urls (ansi screen reporting), add document language code +2011-06-26 ralph@amissah.com +ae914fdb + +v3: manifest, manifest enable additional output & source (if shared) +2011-06-26 ralph@amissah.com +b232545a +- manpage (in fututure have config setting with default false/off) +- info (texinfo) (in fututure have config setting with default false/off) +- hash digests +- locate markup source (if shared) +- sisupod (if shared) + +v3: sysenv, fix some output paths (markup source); accommodate manpage +2011-06-26 ralph@amissah.com +f6f89c95 +- shared source markup (.sst .ssm & sisupod.zip) fix some paths + - placement of markup source, output_path.src.dir, fix + - output_path.src.url, fix +- manifest info +- (epub viewer cosmetic rearrangement) + +v3: info (texinfo) (sysenv), move output; line-breaks within object +2011-06-26 ralph@amissah.com +408bf6b6 +- backslashes & line-breaks +- place under web server directory +- info tool setting prompt +- sysenv, accommodate info page changes + +v3: manpage (sysenv), move output; line-breaks within object +2011-06-26 ralph@amissah.com +def544be +- start to honor line-breaks within objects (revisit) +- show double escape \\ (backslashes) in code blocks +- place under web server directory +- sysenv, accommodate manpage changes + +v3: html_tune, reduce loops; deal with angle-brackets +2011-06-26 ralph@amissah.com +b975bd03 +- deal with angle brackets in markup (test, could cause breakage) +- reduce loops in code + +v3: plaintext, codeblock keep backslashes +2011-06-26 ralph@amissah.com +561b3d6e + +v3: constants, a sisupod & an xml related addition +2011-06-26 ralph@amissah.com +3dafcaeb + +v3: define latex \newcommands for some special characters (for sisu code) +2011-06-26 ralph@amissah.com +d95f8574 +- \newcommands for some special characters to simplify dealing with them + in sisu code \hardspace \caret \pipe \curlyopen \curlyclose \lt \gt + \slash \backslash \underscore \exclaim + +v2 v3: texpdf, define hardspace & provide backslash +2011-06-26 ralph@amissah.com +7ef0302a +- define \hardspace to simplify placing a hardspace +- provide backslash character in code block + +v3: ansi screen reporting include document language code +2011-06-26 ralph@amissah.com +60bd031d + +v2 v3: vim, sisu syntax highlighting, linebreak \\ added (
kept) +2011-06-26 ralph@amissah.com +8294a1dc + +v2 v3: dal_syntax, linebreak in regular text object: ' \\ ' ('
' depreciated) +2011-06-26 ralph@amissah.com +83355806 +- thanks to Jonas Stein for making me look at this (see bug: #617298 & comments + in upstream CHANGELOG_v3) +- testing required, downstream outputs affected + +v2 v3: vim colors, added cursor line & cursor column +2011-06-26 ralph@amissah.com +533909b0 + +v2 v3: 2.9.7 & 3.0.13 version & changelog "opened" +2011-06-26 ralph@amissah.com +3ef64329 + +sha256 (3.0.12) +2011-06-09 ralph@amissah.com +cd0c1c83 + +v3: cgi, sample search form, force utf-8 character encoding to avoid issues +2011-06-09 ralph@amissah.com +5a1e3ba7 (tag: sisu_3.0.12) + +v3: cgi, sample search form reverted to '#!/usr/bin/env ruby' +2011-06-09 ralph@amissah.com +74c346fa +- appears to be a fix in libdbi-ruby1.9.1, see comments in sisu-3.0.8 changelog + +v3: harvest, work for alt output structures; for each language +2011-06-09 ralph@amissah.com +a6651eff +- paths to document manifests etc. for the possible output dir structures +- author and topic lists for available documents, by availability in each + language + +v3: sysenv, limit/prevent the creation of spurious language output directories +2011-06-09 ralph@amissah.com +d0fd14ad + +v3: param, remove unused class variable '@@symlnk' +2011-06-09 ralph@amissah.com +2aba456f + +v3: html, texpdf, syslink to default, adjusted & made similar +2011-06-08 ralph@amissah.com +a011db38 + +v3: manifest, fix a full name +2011-06-08 ralph@amissah.com +36c4c6ac + +v3: --help language, provides list of available languages +2011-06-08 ralph@amissah.com +6a7c87dc +- language (ISO 639-1 code (as varied by po4a) & name) + +v3: options, restrict glob rule checks to glob & find; carry lang info +2011-06-08 ralph@amissah.com +7bf74c7f +- restrict glob rule checks to when --glob (-G) or --find (-f) requested +- carry information on document language (from filename and or directory) +- (additional test) + +v2 v3: help, s/Bul garian/Bulgarian/ (Closes: #619068) +2011-06-07 ralph@amissah.com +5f4c7037 + +v2 v3: 2.9.6 & 3.0.12 version & changelog "opened" +2011-06-07 ralph@amissah.com +93d66090 + +sha256 (3.0.11) +2011-05-29 ralph@amissah.com +21117c49 + +v3: documentation, minor update, includes --find / --glob +2011-05-29 ralph@amissah.com +0e921ada (tag: sisu_3.0.11) + +v3: options --find & --glob (-f -G) added, parses language sub-dirs +2011-05-25 ralph@amissah.com +93cc261e +- options + - filter out files not matching .ss[tm] + - with -f -G (--find|--glob) flag glob all .ss[tm] files in dir including + language sub-directories + sisu3 -3G live-manual + - with -f (--find|--glob) flag and find .ss[tm] files that match given + string in dir including language subdirectories + sisu3 -3GR + +v3: i18n, constants, some language info moved to i18n (from constants) +2011-05-25 ralph@amissah.com +b1648ad6 + +v3: cgi search form, fixes related to language code +2011-05-24 ralph@amissah.com +4d509289 +- filename with language code being required as unique document identifier + +v3: sysenv, url webserver link (manifest) fix +2011-05-24 ralph@amissah.com +0df2126e + +v3: 3.0.11 version & changelog "opened" +2011-05-24 ralph@amissah.com +57940551 + +sha256 (3.0.10) +2011-05-24 ralph@amissah.com +f4bb6f72 + +v3: defaults, fix path to homepage image (more fixes remain...) +2011-05-23 ralph@amissah.com +f18dfa73 (tag: sisu_3.0.10) + +v3: sysenv, rsync, embedded: rsync to remote host alt output structures, fix +2011-05-23 ralph@amissah.com +d6f18ae9 + +v3: options, include markup source "base" path +2011-05-23 ralph@amissah.com +3a07ef3c +- used to parse alternative markup source dir structures + +v3: html, close files; syslink index.html to toc.html +2011-05-23 ralph@amissah.com +154fd687 +- syslink will need revisit (will only "work" properly with by_language dir + structure) + +v3: texpdf, filenames +2011-05-23 ralph@amissah.com +b5b64d1e + +v3: manifest, sysenv, "available outputs" relative paths; available languages +2011-05-23 ralph@amissah.com +eebc0d4f +- relative paths to "available outputs" (for each dir structure), fix +- show language versions published + (needs 2 runs for manifest, polls output as to whether manifest exists) + +v3: param, html, epub, xml, simplify file-naming with language code +2011-05-23 ralph@amissah.com +a11485b8 +- language code occurs in fixed location within file-name (could previously do + so in 1 of 3 configured locations) + +v3: prog_text_translation, language class name fix; languge name matching +2011-05-23 ralph@amissah.com +92fb4ace +- Portuguese language class name (missed 't') +- language name matching ('Portuguese Brazil') +- indentation + +v3: i18n, added language translation table column to hash/table +2011-05-23 ralph@amissah.com +c11ed8c1 +- changelog, version dates touched as well + +v3: sysenv, rsync, get rid of annoying nag to terminal (-v reporting Dir.pwd) +2011-05-17 ralph@amissah.com +f7bad422 +- prevent attempt to change directory unless different directory requested + +v2 v3: 2.9.5 & 3.0.10 version & changelog "opened"; copyright touch +2011-05-17 ralph@amissah.com +3ce63d5a +- copyright, dates for setup.rb + +sha256 (3.0.9) +2011-05-17 ralph@amissah.com +e42cb235 + +v3: po4a re-enabled, related fixes (issues persist) +2011-05-17 ralph@amissah.com +bdd62aba (tag: sisu_3.0.9) + +v3: options, expand name of source file for selected language directories +2011-05-17 ralph@amissah.com +d87f4fff +- only use for single file(name) available in multiple languages e.g. + sisu3 -hv en/free_culture.lawrence_lessig.sst es fr +- english assumed as default language, make default configurable later +- particularly useful for po4a + +v3: embedded, source path +2011-05-17 ralph@amissah.com +f464a77b + +v3: version & changelog date +2011-05-17 ralph@amissah.com +ea971b88 + +v3: cgi sample search form, differ depending on output directory structure +2011-05-15 ralph@amissah.com +a09e2e63 + +v3: sysenv, output_path & place_file, modified, (affects many libraries) +2011-05-15 ralph@amissah.com +b1b2fe8c +- paths for dir, url, relative and rcp that vary with output dir structure +- cope with alterative dir structures + - manifest url paths, fix + - dal_expand_insertions, fix + - rsync, review +- scp disabled + +v3: sysenv, options, output_dir_structure.by? (language|filetype|filename) +2011-05-15 ralph@amissah.com +cfa267b4 + +v3: sysenv, output directory structure check, fix (start testing alternatives) +2011-05-15 ralph@amissah.com +29fcf4ab + +v2 v3: vim cterm colorschemes, touch search color +2011-05-15 ralph@amissah.com +62a6bc0b + +v2 v3: bin/sisu2 introduced (complement bin/sisu3), currently same as bin/sisu +2011-05-15 ralph@amissah.com +5a3b6028 +- later switch bin/sisu to bin/sisu3 +- consider using update-alternatives + +v2 v3: copyright file update, sisu-mode.el assigned to FSF (GNU EMACS) +2011-05-15 ralph@amissah.com +dbd7dce7 + +v2 v3: copyright file, softlink, make more visible in tarball +2011-05-15 ralph@amissah.com +91ada8a0 + +v2 v3: 2.9.4 & 3.0.9 version & changelog "opened" +2011-05-15 ralph@amissah.com +6148816d + +sha256 (3.0.8) +2011-05-05 ralph@amissah.com +015d5f04 + +v3: i18n, sysenv, class variable to prevent unnecessary re-construction of hash +2011-05-05 ralph@amissah.com +8b7a793a (tag: sisu_3.0.8) +- prevent program from becoming as slow as treacle, a fix + +v3: date, version, changelog +2011-05-05 ralph@amissah.com +e54612bd + +v3: sample search form, revert to generating ruby 1.8.7 sample +2011-05-04 ralph@amissah.com +c7c3ab1b +- sisu3 using ruby >=1.9.2p180 generates search form for ruby 1.8.7, so: + generate sample form using sisu3 -F (options), then; start webrick using + ruby 1.8.7 & sisu -W (not sisu3) +- take account of alternative output directory structures [work on, test] + +v3: db, review, directory structure changed, database prefix renamed +2011-05-04 ralph@amissah.com +2d79257e +- language_document_char field made larger [consider renaming] +- title, src_filename and language_document_char fields mandatory + (title, title_main, src_filename, language_document_char) +- review of unique key setting, now based on combination of filename + and language (filename no longer sufficient with intro of language + subdirectories) +- [retest sqlite3] + +v3: urls, sqlite, a fix +2011-05-04 ralph@amissah.com +5f0bc4a7 + +v3: i18n, sysenv, options, language setting changes +2011-05-04 ralph@amissah.com +8ece5064 +- must be able to set language at options stage from filename or directory +- affects many files +- old i18n more appropriately renamed prog_text_translation + +v3: options, language setting, based on directory structure or filename +2011-05-04 ralph@amissah.com +46eebe8b +- affects multiple libraries + +v3: concordance, output path, screen info correction +2011-05-04 ralph@amissah.com +9a9c3668 + +v2 v3: vim colorschemes minor review +2011-05-04 ralph@amissah.com +75e80f2f + +v2 v3: bin/ cosmetic +2011-05-04 ralph@amissah.com +6a20d40e + +v2 v3: note (CHANGELOG) on ruby DBI bug affecting sisu cgi sample search forms +2011-04-27 ralph@amissah.com +5fa19b62 +- see however, it + affects sqlite3 in the same way as pgsql (the driver against which it is + reported) +- includes possible workarounds (for sisu sample search forms) + +v*: manpages escaped hyphens reinstated +2011-04-27 ralph@amissah.com +6b0a64fd + +v2 v3: manpage, reinstate escaping of hyphens +2011-04-27 ralph@amissah.com +416d0ec8 + +v2 v3: bin/ type fix for ruby version check +2011-04-27 ralph@amissah.com +03073b71 + +v2 v3: vim (8 color cterm) colorschemes, 8, frugal, sparse +2011-04-26 ralph@amissah.com +e2089729 +- sparse series uses dark grey on black, on which reverse cursors may + disappear, usually looks better +- frugal series avoids dark grey +- slate for cterm now incorporates frugal-cterm-sisu + +v2 v3: vim, sisu syntax change of a couple of color groups +2011-04-26 ralph@amissah.com +1e84a4d5 + +v2 v3: sysenv, refer to lowriter, update +2011-04-26 ralph@amissah.com +624f72b8 +- v2 lowriter instead of oowriter +- v3 lowriter instead of libreoffice + +v2 v3: bin/ improved ruby version check +2011-04-26 ralph@amissah.com +5102422f + +v2 v3: 2.9.3 & 3.0.8 version & changelogs "opened" +2011-04-26 ralph@amissah.com +89e5a25a + +sha256 (3.0.7) +2011-04-20 ralph@amissah.com +e1e81c7f + +v2 v3: sisu-mode.el, header notes copyright assignment to FSF (GNU EMACS) +2011-04-20 ralph@amissah.com +07976599 (tag: sisu_3.0.7) +- assignment to FSF +- header includes url to git repo (when possible track GNU EMACS location) + +v2 v3: vim colorschemes, headers touched, url to git repo provided +2011-04-20 ralph@amissah.com +4bc8b769 + +v3: harvest, sysenv, place with document manifests, variable directory path +2011-04-19 ralph@amissah.com +cc7bc6de +- sysenv, variable directory path fixing (language, filetype, filname), making + the stub for at least manifest and html available early for processing + that do not or should not need to process individual markup files + completely, such as the cgi search form and harvest +- harvest + - place with document manifests + - variable directory path fixing (language, filetype, filname) + +v3: param, md remove md.cmd and md.mod shortcut methods, use use md.opt +2011-04-19 ralph@amissah.com +44464e28 +- affects many files that now use @md.opt.cmd & @md.opt.mod + (instead of @md.cmd & @md.mod) + +v3: options, hub, introduce opt.act booleans, more setting in options +2011-04-19 ralph@amissah.com +17d1555c +- opt.act booleans more flexible than opt.cmd + (start to favor use of opt.act over opt.cmd) +- move option setting from hub to options where possible +- separate out a few methods + +v3: urls, minor fixes +2011-04-19 ralph@amissah.com +dcfbef65 +- fix maintenance urls -M (where processing files are kept for examination) +- odf maintenance added + +v3: odf:odt processing in separate subdirectories +2011-04-19 ralph@amissah.com +f3309533 +- processing in separate subdirectories that can be kept for maintenance +- odt.zip (bin) directory renamed odt from odf +- sysenv, odf:odt paths adjusted for changes in maintenance & odt.zip + +v2 v3: options, -M / --maintenance, new alias --keep-processing-files +2011-04-19 ralph@amissah.com +ba819966 +- new alias --keep-processing-files (see Bug#622902) +- document "--keep-processing-files" alias for "-M" ("--maintenance") +- minor rearrangement of regex +- (Closes: #622902) + +v2 v3: cgi, sample-search-form +2011-04-19 ralph@amissah.com +5b647bdb +- results still not right, (ruby1.9.2 libraries? double check script) +- not yet done variable directory path fixing for result links + +v3: screen_text_color (ansi colors) touched, consider reviewing later +2011-04-19 ralph@amissah.com +2dcb16c5 + +v2 v3: vim cterm colorschemes "8" and "frugal" added +2011-04-19 ralph@amissah.com +ccc33550 + +v2 v3: vim slate colorscheme, conflicting group colors reviewed +2011-04-19 ralph@amissah.com +a7413a2f + +v3: dates - version, changelog; v2: 2.9.2 opened - version, changelog +2011-04-19 ralph@amissah.com +1f360483 + +v3: urls, reuse/share code, fix -U +2011-04-05 ralph@amissah.com +cc1c6832 +- share code between show selected urls and show all urls +- fix -U which has not been properly updated for v3 + +v3: 3.0.7 version & changelog "opened" +2011-04-05 ralph@amissah.com +2dec1568 + +sha256 (3.0.6) +2011-03-31 ralph@amissah.com +54b31e16 + +vim colorscheme slate, rearrange +2011-03-30 ralph@amissah.com +ebd803aa (tag: sisu_3.0.6) + +vim colorscheme slate, review console colors +2011-03-30 ralph@amissah.com +6324d3d0 + +v2, v3: dal_doc_str.rb, table structure issue +2011-03-30 ralph@amissah.com +af4d5210 +- ruby1.9.2 transition related +- double spaced empty line creates spurious newline + +v2, v3: dal_doc_str, empty line not paragraph object +2011-03-30 ralph@amissah.com +b06c1e8a +- ruby1.9.2 transition related + +v2, v3: dal_images, image path setting +2011-03-30 ralph@amissah.com +709e8067 +- ruby1.9.2 transition related + +v2, v3: cgi, sample-search-form, string output (+ clean unused help text) +2011-03-30 ralph@amissah.com +d5d39d4e +- ruby1.9.2 transition related + +v2, v3: sysenv, remove repeated method +2011-03-30 ralph@amissah.com +9542185b + +v2: param, nested regex match fix (backport from v3) +2011-03-30 ralph@amissah.com +350efc6d + +v2, v3: 3.0.6 version & changelog "opened" +2011-03-30 ralph@amissah.com +b0955dc8 + +sha256 (3.0.5-3) +2011-03-27 ralph@amissah.com +2d6d4973 + +sha256 (3.0.5-2) +2011-03-26 ralph@amissah.com +663832e2 + +sha256 (3.0.5) +2011-03-24 ralph@amissah.com +90bf54da + +v2, v3: texpdf bugfix, where map_nametags not found, drop tag, rather than crash +2011-03-24 ralph@amissah.com +e5d3440b (tag: sisu_3.0.5) +- Debian-live, live-manual (Ben Armstrong, chals?, reported new bug in a + number of translations (that crashed the pdf generator). It turns out + where map_nametags is not found the document crashes. Fix. + +v3, v2: bin/sisu*: v3 development ruby >=1.9.2p180; v2 maintenance ruby >=1.8.7 +2011-03-23 ralph@amissah.com +9e82ccef +- bin/sisu* version checks + +v2, v3: vim syntax highlighting, fix typo +2011-03-20 ralph@amissah.com +18eefb23 + +v3: changelog & version 3.0.5 +2011-03-20 ralph@amissah.com +21cadb83 + +sha256 (3.0.4) +2011-03-11 ralph@amissah.com +f577abb1 + +sisu_manual, sisu_download, remove references to versions of sisu +2011-03-11 ralph@amissah.com +1c052f55 (tag: sisu_3.0.4) + +v3: changelog & version 3.0.4 +2011-03-11 ralph@amissah.com +e19720cb + +sha256 (3.0.3) +2011-03-11 ralph@amissah.com +32f83cb5 + +v2, v3: changelog git.sisudoc.org tag-points [3.0.3-1] +2011-03-11 ralph@amissah.com +bfa2a017 (tag: sisu_3.0.3) + +syntax highlighting updates, emacs, vim +2011-03-11 ralph@amissah.com +61c7438e +- emacs sisu headers updated (subheaders omitted for now) sisu-mode.el +- vim cleaning sisu.vim + +param: tidy, remove redundant document header tags +2011-03-11 ralph@amissah.com +d3a09245 + +manpage: sisu.1 and html regenerated +2011-03-10 ralph@amissah.com +57ad1a1e + +documentation more link fixes (remove redundant), remove repeated skin +2011-03-10 ralph@amissah.com +a6042b05 + +v2, v3: help (markup): correct path to markup-samples +2011-03-10 ralph@amissah.com +e4ca6d04 + +v3 (v2): manpage, param, urls: manpage output presentation fixes +2011-03-10 ralph@amissah.com +93308a6a +- manpage: lowercase .br; correct newlines before .nf and after .fi; no + escape of hyphens; remove redundant links; endnotes array requires flatten; + screen info on output path) +- param: manpage header .br and no escape of hyphens +- urls: correct output path for manpage + +v2, v3: dal_doc_str: fix, looks like typo in regex +2011-03-10 ralph@amissah.com +cbcf26cd + +v2, v3: dal_substitutions_and_insertions: sisu header matching in codeblock, fix +2011-03-10 ralph@amissah.com +63251bd4 + +v2, v3: dal_syntax: (internal document) link matching, a fix +2011-03-10 ralph@amissah.com +259351d4 + [Debian-live, live-manual (Jose Luis Zabalza, Ben Armstrong, reported bug in + Spanish translation markup (that crashed the pdf generator). Bug in markup + subsequently identified as "versátil,#{iso-hybrid}#, se" which the interpreter + identified as an internal document link to a comma (instead of as being + monospace markup), markup should have been "versátil, #{iso-hybrid}#, se" this + fix prevents that incorrect match, (but the markup remains faulty and the + monospace markup is not identified as such without the corrected spacing). + Unfortunate "grave" results for what is a pretty insignificant data entry + typo (there are no doubt other such situations).] + +v2, v3: dal_syntax + downstream output, email regex revised +2011-03-10 ralph@amissah.com +755acef8 +- revised pattern match for email address, (removes occasional interference + with urls having embedded email addresses) (dal_syntax and affected + downstream output modules) + +v2, v3: texpdf, url (regex) pattern match fix +2011-03-10 ralph@amissah.com +78170753 + +v2, v3: 3.0.3 version & changelog "opened" +2011-03-10 ralph@amissah.com +9dea2a81 + +sha256 (3.0.2) +2011-03-05 ralph@amissah.com +589d36be + +v2, v3: changelog updates +2011-03-05 ralph@amissah.com +6991d5ad (tag: sisu_3.0.2) + +documentation, minor tidy +2011-03-05 ralph@amissah.com +02c16699 + +manpage + html: sylink sisu.1 to sisu3.1 +2011-03-05 ralph@amissah.com +5b124911 + +documentation, remove some files +2011-03-05 ralph@amissah.com +1ffd1da3 + +html manpages, re-run man2html +2011-03-05 ralph@amissah.com +0c872f4f + +sisu.8 manpage & html deleted, needs rewrite, unhelpful +2011-03-05 ralph@amissah.com +f3aefadb + +manpages: sisu.1 update; sisu_vim.7 cleaning +2011-03-05 ralph@amissah.com +cce96b70 + +markup samples, manual, headers: links and other details +2011-03-05 ralph@amissah.com +c9440e39 + +doc/sisu user_txt, minor update & pruning +2011-03-05 ralph@amissah.com +b9723041 + +v2, v3: manpage, adjust output (backslash ('\') escapes reduced) +2011-03-05 ralph@amissah.com +a512dfec + +v2, v3: defaults, default homepage tidy & update links +2011-03-05 ralph@amissah.com +278c945f + +v3: version & changelog, touch date +2011-03-05 ralph@amissah.com +73c312da + +conf/skin prune skins * remove less important skins * use syslink to share doc/skin_sisu.rb +2011-03-04 ralph@amissah.com +ceb35acd + +CHANGELOG_v{1,2,3}, syslink, avoid duplication * CHANGELOG_v3 updated * CHANGELOG & README locations pruned +2011-03-02 ralph@amissah.com +572064e8 + +v2, v3: consolidate manual & markup samples +2011-03-02 ralph@amissah.com +59b7f849 +- reinstate lang dir structure for manual when v3 becomes default + +v3: sysenv, separate out processing_path method plus consequences +2011-03-01 ralph@amissah.com +5abc5721 + +v3: space between each and opening curly brace e.g. "x.each {|y| p y}" +2011-03-01 ralph@amissah.com +f2ab439c + +v3: ruby 1.9 hash symbol syntax adopted +2011-03-01 ralph@amissah.com +05a3fd23 + +v3: use rb1.9.2 "require_relative" syntax +2011-03-01 ralph@amissah.com +f09f45a1 + +v3: use "encoding: utf-8" (instead of coding) +2011-03-01 ralph@amissah.com +d4c06757 + +make sisu: v2 require >=ruby1.8.7; v3 require >=ruby1.9.2 +2011-03-01 ralph@amissah.com +0aff0553 +- bin/sisu bin/sisu3 modified accordingly + note: there are issues with sisu and early versions of ruby1.9.2 + ruby1.9.2p0 is known to segfault on a number of operations + ruby1.9.2p180 does not have these issues +- v3 includes changelog updates +- v2 includes changelog updates and version update 2.8.1 + +v3: sisu version 3.0.2-beta-rb1.9.2p180 +2011-03-01 ralph@amissah.com +af2ffd7f + +v3: changelog, open 3.0.2, target ruby1.9.2 +2011-03-01 ralph@amissah.com +baa7f205 + +v3: hub, minor rearrangement +2011-03-01 ralph@amissah.com +abaab645 + +v3: urls, param, two unrelated regex fixes, check +2011-03-01 ralph@amissah.com +a800c2b6 + +v2: changelog fix +2011-03-01 ralph@amissah.com +494b0b53 + +sha256 (3.0.1) +2011-03-01 ralph@amissah.com +a6673bc5 + +changelogs, gitweb urls: debian release tags +2011-02-16 ralph@amissah.com +596d4cea (tag: sisu_3.0.1) + +changelog & version (3.0.1) +2011-02-16 ralph@amissah.com +d6ba607d + +css, fix css paths for xhtml, xml dom & xml sax +2011-02-15 ralph@amissah.com +9a2448e9 + +sysenv, sisurc.yml & elsewhere as affected, output_dir_structure (conf & tests) +2011-02-15 ralph@amissah.com +3a263de6 +- (by_language_code; by_filetype; by_filename) + +console feedback on selected files being processed, updates & fixes +2011-02-15 ralph@amissah.com +9f4166c7 + +sysenv & sisurc.yml: libreoffice, default odf reader +2011-02-15 ralph@amissah.com +5ae32a29 + +sha256 (3.0.0) +2011-02-08 ralph@amissah.com +3582bcf6 + +update changelogs & version date +2011-02-07 ralph@amissah.com +5b0efc5b (tag: sisu_3.0.0) + +documentation & man pages, add sisu3, sisu-po and touches +2011-02-07 ralph@amissah.com +b571083d + +REMOVE sisu v1 +2011-02-07 ralph@amissah.com +c19e5c61 + +increment year (2011) for bin and lib/sisu/v3 +2011-02-07 ralph@amissah.com +b04b5d4d + +v3 po4a, options, shortcut representation for processing, keep working on +2011-02-01 ralph@amissah.com +0491018d +- sisu --po4a en/live-manual.ssm fr + instead of: + sisu --po4a en/live-manual.ssm fr/live-manual.ssm + test: + sisu --po4a en/live-manual.ssm fr de + +v3 introduced as development branch, invoked using "sisu --v3 [instructions] +2011-02-01 ralph@amissah.com +4b51bc00 + +prepare for v3 branch +2011-02-01 ralph@amissah.com +f26f1b37 + +remove skin_gutenberg from sisu, unused +2011-02-01 ralph@amissah.com +9e504255 + +document objects: page break; object separator (introduced & used, adjust later) +2010-12-16 ralph@amissah.com +ff4ceb26 +- object separator introduced + (requested Cory Doctorow, implementation not discussed) + - dal_syntax, object separator syntax (<:---> or <:ols>) + - constants, object separator + - vim syntax highlighting, match object separator +- document objects: page break; object separator + (introduced & used) + - dal, page break and object separator objects + - represent page break and object separator: plaintext, html, epub, odf, + texpdf (adjust later) + +dal_syntax, sisu syntax modification (insist on curly braces) +2010-12-13 ralph@amissah.com +5e3e7429 +- enforce use of curly braces in markup, remove single word markup without curly + braces + (requested fix, Ben Armstrong (live-manual), problematic for technical + writing) +- also removed some undocumented alternative markup attributes + +open v2.7.10 +2010-12-13 ralph@amissah.com +6e066fee + +sha256 (2.7.9) +2010-12-09 ralph@amissah.com +1b259aed + +changelog, cosmetic +2010-12-09 ralph@amissah.com +74911938 (tag: sisu_2.7.9) + +dal, markup syntax (fontface) multi-line match, for line-wrap text +2010-12-09 ralph@amissah.com +5f1bdade + +dal, multiline-match to permit line-wrap on bullet text (and headings) +2010-12-08 ralph@amissah.com +ca5f3517 +(requested fix, Ben Armstrong (live-manual)) + +document manifest link (plaintext, odf) +2010-12-07 ralph@amissah.com +67b6edcf +- plaintext, link to "document manifest" fix(links to individual output types + removed) +- odf, manifest link fix +- html, cosmetic touch + +html, link to "document manifest" & search form reviewed (testing required) +2010-12-04 ralph@amissah.com +74f7e0ad + +html, link to "document manifest" remains (individual output links removed) +2010-12-03 ralph@amissah.com +f0f647e3 + +texpdf: toc now contains level 3~ consistent with other output formats +2010-11-29 ralph@amissah.com +b4566320 +(requested fix, Ben Armstrong (live-manual)) + +epub: ocn (object numbers) now link to themselves +2010-11-29 ralph@amissah.com +371dfc5c +- jumps to top of viewer + +html & css: ocn (object numbers) now link to themselves +2010-11-29 ralph@amissah.com +e54d00b5 +- jumps to top of browser +- provides link url +(requested, Ben Armstrong (live-manual)) + +texpdf, use of monospace in headings causes table of contents breakage, fix +2010-11-11 ralph@amissah.com +a64f0c80 +(requested fix, Ben Armstrong) + +open v2.7.9 +2010-11-11 ralph@amissah.com +d6d33ae4 + +sha256 (2.7.8) +2010-10-31 ralph@amissah.com +8bac1a74 + +texpdf_format, i18n, set tex document header language (polyglossia) +2010-10-25 ralph@amissah.com +0da0a262 (tag: sisu_2.7.8) +- i18n, introduce header @make: :language: internationalization using codes + from http://www.debian.org/international/l10n/po/ at this time for texpdf, + (able to satify needs of polyglossia for the likes of Brazilian Portugues) + and in future for po files, where iso:639 for this purpose appears to have + use limitations http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes + - i18n, add code list and associated language (as listed by polyglossia) + - texpdf_format, use param (@make: :language: (default english)), to set + tex document language header (previously used file naming convention) + +i18n, introduce header @make: :language: +2010-10-25 ralph@amissah.com +70e74b82 +- internationalization using codes from + http://www.debian.org/international/l10n/po/ +- param, extract @make: :language: information if provided, default "english" +- sisu.vim recognize @make: :language: + (also elsewhere shortened :lang_code: from :language_code:) + +version date +2010-10-25 ralph@amissah.com +96f80566 + +html, quick ref links_guide configurable, boolean +2010-10-24 ralph@amissah.com +ed1a1041 +- true/false (config.yml commented out, default false) +(requested off option, Daniel Baumann) + +html segments, title banner (including "copy @" mark) configurable, boolean +2010-10-24 ralph@amissah.com +f0776648 +- true/false (config.yml commented out, default false) +(requested off option, Daniel Baumann) + +html, remove "copy @" mark +2010-10-24 ralph@amissah.com +8b2317a5 +(requested, Daniel Baumann) + +version date +2010-10-24 ralph@amissah.com +368f63c5 + +internal links, punctuation & parentheses issue, refix +2010-10-23 ralph@amissah.com +0528ba40 + +internal links, punctuation & parentheses issue, fix +2010-10-23 ralph@amissah.com +07fcd016 +- dal, exclude parentheses and square brackets from matching + (requested fix, Ben Armstrong) +- html, remove space between link & following punctuation, parentheses &/or + square brackets + (requested fix, Ben Armstrong) +- epub, remove space between link & following punctuation, parentheses &/or + square brackets + +version date +2010-10-23 ralph@amissah.com +aaffb848 + +epub, internal link: remove space between link & parentheses or square brackets +2010-10-22 ralph@amissah.com +b2918451 + +html, internal link: remove space between link & parentheses or square brackets +2010-10-22 ralph@amissah.com +6632e435 + +dal, internal link: exclude parentheses and square brackets from matching +2010-10-22 ralph@amissah.com +fda25aa0 +(requested fix, Ben Armstrong) + +version date +2010-10-22 ralph@amissah.com +73f43c42 + +epub, internal link: remove space between link & following punctuation +2010-10-21 ralph@amissah.com +7da9ff24 + +html, internal link: remove space between link & following punctuation +2010-10-21 ralph@amissah.com +41b812e5 +(requested fix, Ben Armstrong) + +open v2.7.8 +2010-10-21 ralph@amissah.com +db2ec9ee + +sha256 (2.7.7) +2010-10-17 ralph@amissah.com +3425ce01 + +version date +2010-10-17 ralph@amissah.com +bf16d31b (tag: sisu_2.7.7) + +CHANGELOG update requested by +2010-10-17 ralph@amissah.com +8f9ef031 + +texpdf, codeblocks do not permit empty lines, fix +2010-10-15 ralph@amissah.com +505c66ab + +sisu_markup, date typo fix +2010-10-15 ralph@amissah.com +a258d50c + +texpdf, bullet text, hanging indent, fix (works for regular text (not grouped text) +2010-10-14 ralph@amissah.com +1f20600f +(requested fix, Ben Armstrong) + +codeblocks, numbered markup option, fix +2010-10-14 ralph@amissah.com +9a32a074 +(requested fix needed by debian-live:live-manual, +Ben Armstrong & Mark Schneider) +- numbered codeblocks, , where codeblock opens with code{# + - dal changes as required, flag markup request and number + - constants, provide vertical line symbol, use to separate numbered + codeblock from code + - texpdf substitute \vline for numbered codeblock line separator + +documentation related minor updates and fixes +2010-10-14 ralph@amissah.com +dc6f4fba + +dal_endnotes, cosmetic code arrangement +2010-10-14 ralph@amissah.com +2956c8fa + +version 2.7.7 +2010-10-14 ralph@amissah.com +93597e61 + +texpdf, first space following a bullet should be fixed width (also), fix +2010-10-13 ralph@amissah.com +9314a7a3 + +texpdf, first space following a bullet should be fixed width, fix +2010-10-13 ralph@amissah.com +406eed70 +(requested fix and suggested solution, Ben Armstrong) + +CHANGELOG v2, on requested changes & open 2.7.7 +2010-10-13 ralph@amissah.com +45b2c50b + +sha256 (2.7.6) +2010-10-11 ralph@amissah.com +0fe4c7cb + +update version (2.7.6) +2010-10-11 ralph@amissah.com +b55b1ef4 (tag: sisu_2.7.6) + +texpdf, codeblocks, code-line continuation backslash dropped, fix +2010-10-11 ralph@amissah.com +d9d0054e +(requested fix, Ben Armstrong) + +shared_metadata, odf, url characters to not match +2010-10-11 ralph@amissah.com +4f2d1d3f + +sisu_convert, basic conversion script, preliminary fix +2010-10-11 ralph@amissah.com +3ca7f281 + +CHANGELOG v2, recount where some requests came from +2010-10-11 ralph@amissah.com +6cc08786 +- some of this information is already provided in debian/changelogs + +sha256 (2.7.5) also date +2010-10-09 ralph@amissah.com +f3bf535d + +version date +2010-10-09 ralph@amissah.com +41902ef3 (tag: sisu_2.7.5) + +update version (2.7.5) +2010-10-09 ralph@amissah.com +10b211ff + +param, metadata rights, keep colon separator from interfering with urls (+changelog) +2010-10-09 ralph@amissah.com +fb20770a + +odt fix cornercase breakage matching and representing " ", "&" and urls (+changelog) +2010-10-09 ralph@amissah.com +7010772e +- odf, " " and "&" + (prior to this fix, odt for viral_spiral is broken in sisu-markup-samples) +- shared_metadata, " ", "&" and urls in metadata +more consistent open document text results + +sha256 (2.7.4) +2010-10-08 ralph@amissah.com +1c84bbb8 + +update version (2.7.4) +2010-10-08 ralph@amissah.com +2f0b6b28 (tag: sisu_2.7.4) + +epub (epub_tune) scaling of images, fix (+changelog) +2010-10-08 ralph@amissah.com +50137a3a +(requested fix) + +html (html_tune) scaling of images, fix (+changelog) +2010-10-08 ralph@amissah.com +bbcd934b +(requested fix) + +odf:odt, incorporation and scaling of images, fix (+changelog) +2010-10-08 ralph@amissah.com +20d511b8 +(requested fix) + +texpdf, scaling of images (below the set max size), fix (+changelog) +2010-10-08 ralph@amissah.com +c7f4ff94 +(requested fix) + +sha256 (2.7.3) +2010-10-07 ralph@amissah.com +79ef5fd0 + +sisu_markup.sst, document a fix (v1 & 2) +2010-10-06 ralph@amissah.com +6bd30f0b (tag: sisu_2.7.3) + +dal_images, where image dimensions are set in an object, use those (+changelog & version date) +2010-10-06 ralph@amissah.com +c7bd43fb + +version & changelog 2.7.3 (squeeze freeze, fixes) +2010-10-03 ralph@amissah.com +6c5d44da + +hub, fix breakage when -y (manifest) is run without -m +2010-10-03 ralph@amissah.com +daf29aa2 +- hub, fix sisu breakage when -y (manifest) is run without the explicit or + implicit calling of -m (creation of document abstraction for processing), + (e.g. when --source or --sisupod is called on its own). + +urls, cleaning +2010-10-03 ralph@amissah.com +3eaa952a + +a few aliases added (long options) +2010-10-03 ralph@amissah.com +86c848ac + +sha256 (2.7.2) +2010-10-01 ralph@amissah.com +f019e7fa + +version & changelog 2.7.2 (squeeze freeze, fixes) +2010-10-01 ralph@amissah.com +41bb8b5b (tag: sisu_2.7.2) + +hub, test whether user name set, fix +2010-10-01 ralph@amissah.com +13b9e561 +(requested fix) + +epub, fix breakage where angle brackets used in used metadata header +2010-10-01 ralph@amissah.com +1d30e1a8 + +texpdf_format, remove a few commented out lines +2010-10-01 ralph@amissah.com +a8dbd882 + +sha256 (2.7.1) +2010-10-01 ralph@amissah.com +f0336c13 + +version & changelog 2.7.1 (squeeze freeze, bugfix) +2010-10-01 ralph@amissah.com +b2b581db (tag: sisu_2.7.1) + +shared_metadata, odt fix breakage where angle brackets used in metadata headers; & a typo fix +2010-10-01 ralph@amissah.com +fa305361 +- odt protect against breakage from angle brackets in metadata headers + (requested fix) + +manifest, typo fix +2010-10-01 ralph@amissah.com +ff6ec4b4 + +param, a few fixes (checks, aliases, typo) +2010-10-01 ralph@amissah.com +2fa09eb0 + +hub, removed commented out option (git), (already enabled elsewhere) +2010-10-01 ralph@amissah.com +0addde55 + +share_src, remove repetition, redundancy +2010-10-01 ralph@amissah.com +af86517f + +texpdf, a5, increase headheight (+changelog) +2010-09-27 ralph@amissah.com +5b92d55a + +texpdf, provide line-break-points for long directory names (+changelog) +2010-09-27 ralph@amissah.com +bbc1ea81 +(requested fix) + +texinfo, urls cleaned & with angle bracket decoration (+changelog) +2010-09-25 ralph@amissah.com +6132f2f2 + +texinfo ocn decoration a hash (instead of angle braces) (+changelog) +2010-09-25 ralph@amissah.com +a6917413 + +version update 2.7.1 +2010-09-25 ralph@amissah.com +674c34ef + +changelog 2.7.1 (squeeze freeze, bugfix) +2010-09-25 ralph@amissah.com +03247947 + +texinfo_format, texinfo output broken, fix (Closes #598063) +2010-09-25 ralph@amissah.com +3bf42456 + +sha256 (2.7.0) +2010-09-25 ralph@amissah.com +a2218b6f + +version & changelog sisu-2.7.0 +2010-09-21 ralph@amissah.com +3c5d60e2 (tag: sisu_2.7.0) +- Debian Squeeze equivalent (2.6.3-6 ported upstream) + +[sha256 (2.6.3-6) debian package rebuilt] +2010-09-20 ralph@amissah.com +769442ea + +changelog 2.6.3-6 [debian package rebuilt (squeeze freeze)] +2010-09-20 ralph@amissah.com +db3e84c4 + +html, v2 update (including --long-options) (manpage sync adds files) +2010-09-20 ralph@amissah.com +5e506682 + +manpage, v2 update (including --long-options) +2010-09-20 ralph@amissah.com +1b271cac + +sisu_commands.sst v2 update (including --long-options) +2010-09-20 ralph@amissah.com +36e2f004 + +help, minor update, revisit (includes minor fixes) +2010-09-20 ralph@amissah.com +08c8a523 + +identify markup, update ... revisit +2010-09-20 ralph@amissah.com +094fefb9 + +urls, sysenv, set manpage viewer to "man" +2010-09-18 ralph@amissah.com +244f9e96 + +options, bullet proof matches for --long-options (effects minor fix) +2010-09-18 ralph@amissah.com +a6867468 +- fixes issue noted with --sample-search-form (-F) (in the selection of + webrick (--webserv-webrick)) + +epub, fix xhtml line-break in rights metadata, results in unreadable epub (Closes: #596736) +2010-09-13 ralph@amissah.com +8fb333ce +- epub output not readable by all epub-reader software (Closes: #596736) + (else epub output can be viewed in calibre, but not in fbreader or okular) + +options, add expressive options --[name] as alternative to flags -[x] +2010-09-13 ralph@amissah.com +95a44653 + +changelog 2.6.3-4 [debian package rebuilt (squeeze freeze)] +2010-09-09 ralph@amissah.com +fd2a8474 + +param, remove redundancy in fix +2010-08-31 ralph@amissah.com +59134324 + +html headers do not include the "title" field, fix (Closes: #594949) +2010-08-31 ralph@amissah.com +ad8c8b5c +- param, variable not set (presumably since change from v1 to v2) + +yml metadata, add subheading for a title +2010-08-31 ralph@amissah.com +b3d4d3c6 + +html_format, xml_format, reduce visibility of sisu in output +2010-08-25 ralph@amissah.com +a56e6cd2 + +changelog 2.6.3-3 +2010-08-22 ralph@amissah.com +be94ecb2 + +markup sample (headers & yaml), links added/updated +2010-08-22 ralph@amissah.com +9b9d977a + +markup sample, minor book index fix +2010-08-22 ralph@amissah.com +2d0b8265 + +markup sample, cleaning of headers +2010-08-22 ralph@amissah.com +b11e4b81 + +[debian package rebuilt, sha256 (2.6.3-2)] +2010-07-29 ralph@amissah.com +6b159722 + +[debian package rebuilt, sha256 (2.6.3-3)] +2010-08-24 ralph@amissah.com +7b86e7a6 + +[debian package rebuilt, sha256 (2.6.3-2)] +2010-07-29 ralph@amissah.com +941845e7 + +options, minor code shuffling +2010-07-29 ralph@amissah.com +3946a7b8 + +sha256 (2.6.3) +2010-07-28 ralph@amissah.com +44ccd0a8 + +sisu-2.6.3 changelog, date, version +2010-07-28 ralph@amissah.com +0cf9b6b1 (tag: sisu_2.6.3) + +odf, footnotes, asterisk series (**) fix +2010-07-28 ralph@amissah.com +3d092a1c + +html_format, epub_format: subtoc, footnote content bug (fix) +2010-07-27 ralph@amissah.com +248be7a7 + +odf: lt (<), gt (>) fix for codeblocks; & fix, messy +2010-07-27 ralph@amissah.com +f5d98e3f + +epub_format, removed some title & author info, check +2010-07-27 ralph@amissah.com +5d2db4bd + +epub_tune,
(from
) +2010-07-27 ralph@amissah.com +c13a288d + +epub_format, within head, title & author +2010-07-27 ralph@amissah.com +2f171cf0 + +epub, toc copyat link removed +2010-07-27 ralph@amissah.com +d774b0db + +manifest, defaults, minimal sisu footer +2010-07-27 ralph@amissah.com +9cc6657b + +hub, add metaverse run for git (composite files) +2010-07-27 ralph@amissah.com +c5734e63 + +git, param, refine filename regex for composite files +2010-07-27 ralph@amissah.com +738c59b6 + +sysenv, cosmetic +2010-07-27 ralph@amissah.com +d80c096e + +git sisu directory structure, lang dir beneath txt +2010-07-26 ralph@amissah.com +de4b7d3e +- git sisu directory structure becomes more complicated + +html, links to output formats, remove icons +2010-07-26 ralph@amissah.com +e4e85022 + +manifest, minitoc configurable (true/false) +2010-07-26 ralph@amissah.com +61d3ba34 + +start moving homepage links, add listserv, update hompage (further updates required) +2010-07-21 ralph@amissah.com +725ec226 + +[debian package rebuilt, sha256 (2.6.2-2)] +2010-07-17 ralph@amissah.com +5a76ccd6 + +sha256 (2.6.2) +2010-07-15 ralph@amissah.com +b8de42c9 + +sisu-2.6.2 changelog, date, version +2010-07-15 ralph@amissah.com +05946d15 (tag: sisu_2.6.2) + +html_segments, line space between end of text and section bottom navigation bar +2010-07-13 ralph@amissah.com +6b2b8965 + +texpdf, codeblocks, left margin flush +2010-07-13 ralph@amissah.com +2b27e5ae + +sisu-harvest, alias for sisu --harvest (with man page) +2010-07-12 ralph@amissah.com +4d6f0440 + +texpdf, if no "copy @" info remove; rename left footer; asterisk issue +2010-07-12 ralph@amissah.com +59a86332 + +param, rights (all) add line breaks between copyright, license and other rights +2010-07-12 ralph@amissah.com +88909db5 + +vim syntax, in bulleted and indented text recognize bold +2010-07-12 ralph@amissah.com +51e263dc + +param, header reading more robust (re: commented out parts) +2010-07-10 ralph@amissah.com +063a3a50 + +sha256 (2.6.1) +2010-07-09 ralph@amissah.com +4392e22c + +changelog update +2010-07-09 ralph@amissah.com +b1c9cbe9 (tag: sisu_2.6.1) + +texpdf, monospace fix +2010-07-09 ralph@amissah.com +628f1f2b + +monospace (avoid url match false positive) +2010-07-09 ralph@amissah.com +07db6874 + +sysenv default output path fix +2010-07-09 ralph@amissah.com +0e550ce0 + +html_scroll, deals with index & endnotes +2010-07-09 ralph@amissah.com +788e0a8b + +dal, manifest & metadata headings, non-substantive, ocn removed +2010-07-09 ralph@amissah.com +b00b98bb + +sisu_manual, minor cleaning +2010-07-09 ralph@amissah.com +a62893a7 + +markup-samples, remove content, non-modifiable etc. +2010-07-08 ralph@amissah.com +b26a3f5c +- move to sisu-markup-samples in non-free + +moved markup samples +2010-07-08 ralph@amissah.com +2f28c5c8 +to data/doc/sisu/v2/markup-samples from data/doc/sisu/v2/sisu_markup_samples + +sha256 (2.6.0) +2010-07-08 ralph@amissah.com +4056a5a2 + +manpage for sisu-concordance alias +2010-07-08 ralph@amissah.com +c4256937 (tag: sisu_2.6.0) + +manpages, (also html) +2010-07-07 ralph@amissah.com +8498a120 + +Adding manpages for newly added sisu aliases. +2010-07-08 daniel@debian.org +cf845378 + +some cleaning of default outputs, ongoing +2010-07-07 ralph@amissah.com +fd20f4a7 + +provide alternative sisu command names sisu-pg & sisu-sqlite +2010-07-07 ralph@amissah.com +a058f50d + +sisu version & changelog +2010-07-07 ralph@amissah.com +3b080ad4 + +sisu.vim sisu version & date +2010-07-07 ralph@amissah.com +dd6b763d + +documentation, minor updates +2010-07-07 ralph@amissah.com +74849f94 + +manpage, remove monospace tag +2010-07-07 ralph@amissah.com +75e7a1c2 + +sysenv, version.yml moved to /usr/share/sisu (from /etc/sisu) +2010-07-07 ralph@amissah.com +ce3eec09 + +shared_xml, monospace marker for monospace tag +2010-07-06 ralph@amissah.com +e395e6f7 + +shared_html_lite, db_import, monospace font (codeblock & monospace tag) +2010-07-06 ralph@amissah.com +1866f5d2 + +db_import, remove monospace tag +2010-07-06 ralph@amissah.com +401aefb2 + +plaintext, remove monospace tag +2010-07-06 ralph@amissah.com +61f8426e + +texpdf, monospace font (codeblock & monospace tag) +2010-07-06 ralph@amissah.com +69cb98f9 + +odf, monospace font (codeblock & monospace tag) +2010-07-06 ralph@amissah.com +d714ab1d + +epub, monospace font (codeblock & monospace tag) +2010-07-06 ralph@amissah.com +839fa947 + +html, monospace font (codeblock & monospace tag) +2010-07-06 ralph@amissah.com +07e97b04 + +vim syntax, recognize #{ monospace }# tag +2010-07-06 ralph@amissah.com +b3597e94 + +dal_syntax, constants, introduce #{ monospace }# tag +2010-07-06 ralph@amissah.com +57c41630 + +urls, output info -t produces plaintext output +2010-07-06 ralph@amissah.com +267ba4e0 + +texpdf_format, output special characters, special circumstance fix +2010-07-06 ralph@amissah.com +896caee8 + +sysenv, make output directory if needed (if possible) +2010-07-02 ralph@amissah.com +1b62b854 + +Removing useless whitespaces from upstream files at EOL. +2010-06-29 daniel@debian.org +77d84aaf + +provide alternatives for producing single output types +2010-07-02 ralph@amissah.com +ee5b20c8 + +hub, make -t produce plaintext output, (documentation needs update) +2010-07-02 ralph@amissah.com +7799148a + +Free as in Freedom, add oclc (Online Computer Library Center) number and isbn +2010-06-29 ralph@amissah.com +aff29263 + +sha256 (2.5.1) +2010-06-12 ralph@amissah.com +80e3cbf9 + +update: changelog, version (2.5.1) +2010-06-12 ralph@amissah.com +8f2b1145 (tag: sisu_2.5.1) + +texpdf, ensure default font is set (Liberation Sans) +2010-06-12 ralph@amissah.com +906976cf +- a fix, (before this unless configured breaks) + +sha256 (2.5.0) +2010-06-11 ralph@amissah.com +f136873c + +debian/changelog (2.5.0-1) +2010-06-11 ralph@amissah.com +85415176 (tag: sisu_2.5.0) + +sisurc.yml, mention alternative ebook-viewers +2010-06-11 ralph@amissah.com +f55634c0 + +table, (xhtml, odf): empty cell (single tilde to indicate); allow line breaks +2010-06-11 ralph@amissah.com +2da35997 + +texpdf_format: add fontface to tables +2010-06-11 ralph@amissah.com +cb4968be +- tables add fontfaces (e.g. bold, italics, superscript) + +dal_syntax, apply fontfaces also to tables +2010-06-11 ralph@amissah.com +ba7bc578 +- bold, italics, superscript etc. + +vim syntax, highlight header @make: :texpdf_font: +2010-06-11 ralph@amissah.com +fdb1d0a3 + +texpdf set/select font, default "Liberation Sans" +2010-06-11 ralph@amissah.com +4ceb5eca +- requires that Liberation fonts be installed, hence version bump +- set font in: + sisurc.yml under default: texpdf_font: + marked up document under @make: :texpdf_font: + default if nothing set "Liberation Sans" + +param, fix breakage on malformed sisu identifier (top header line) +2010-06-11 ralph@amissah.com +4e298b68 +'% SiSU ...' [where badly formed] + +minor (cosmetic, & info retention) +2010-06-11 ralph@amissah.com +15a3a15a + +css (for html), right pane dark, distinguish from selected content +2010-06-11 ralph@amissah.com +bcbbdf4b + +sha256 (2.4.3) +2010-06-05 ralph@amissah.com +dd2989e9 + +update: changelog, version (2.4.3) +2010-06-05 ralph@amissah.com +1c921cbd (tag: sisu_2.4.3) + +vim/ftplugin/sisu.vim, make less intrusive +2010-06-05 ralph@amissah.com +7367105c +includes: +- ls dir files placed in vertically split window (also dir) +- rd search and replace down (in file) +- rg search and replace globally (in file) +- rr search and replace using ruby gsub (global search and replace) +Note: rf not used, ambiguous (replace forward or replace in file?) +- remove language and spelling american english, can't have a fixed default +- remove G (search and replace) binding +- remove F for fold file removed, use still available :F instead + +sha256 (2.4.2) +2010-06-01 ralph@amissah.com +35bd9574 + +update: changelog, version (2.4.2) +2010-06-01 ralph@amissah.com +6691e567 (tag: sisu_2.4.2) + +documentation, text, much todo +2010-06-01 ralph@amissah.com +2432349f + +remote file processing fix (url instead of local file), minor fix +2010-06-01 ralph@amissah.com +506bdded +(related to reporting "http" file not found) + +texpdf, start using polyglossia (xelatex) (instead of babel) +2010-06-01 ralph@amissah.com +236a63e8 + +sha256 (2.4.1) +2010-05-26 ralph@amissah.com +2bb04d2d + +update: changelog, version (2.4.1) +2010-05-26 ralph@amissah.com +da2cd465 (tag: sisu_2.4.1) + +general extension of regex matches for http: to include https: +2010-05-26 ralph@amissah.com +752cfd30 + +dal syntax, doc_str, http: matches to include https: +2010-05-26 ralph@amissah.com +1084e675 +also dal_syntax fix, no auto-bold or italics on relative or internal links + +texpdf_format, https: url match with tilde, fix +2010-05-26 ralph@amissah.com +2f5a240e + +epub & odf, regex matches for http: to include https: +2010-05-26 ralph@amissah.com +4aff107c + +sha256 (2.4.0) +2010-05-26 ralph@amissah.com +84e6d09e + +update: changelog, version (2.4.0) +2010-05-26 ralph@amissah.com +9fab84fc (tag: sisu_2.4.0) + +sisu documentation related mostly on markup +2010-05-26 ralph@amissah.com +fc32ec3c + +output formats internal document (and relative) linking as possible +2010-05-26 ralph@amissah.com +fec639c5 + +sysenv, require constants, (issue with webrick) +2010-05-26 ralph@amissah.com +bf068fde + +dal (syntax, doc_str, numbering) add internal document link to tagged point (including ocn) +2010-05-26 ralph@amissah.com +a2130055 + +vim syntax highlighter, added tag for internal document link to tagged point (including ocn) also new link markup to other documents in same collection directory +2010-05-26 ralph@amissah.com +f964fd1f +{ Linked text }#tagname + new link markup to other documents in same collection directory: +{ Linked text }:relative/link.html#23 +is the preferred equivalent of: +{ Linked text }../relative/link.html#23 + +sisurc.yml minor update and cleaning +2010-05-26 ralph@amissah.com +a3d0e86f + +sha256 (2.3.5) +2010-05-19 ralph@amissah.com +16e4ef02 + +update: changelog, version (2.3.5) +2010-05-18 ralph@amissah.com +503ba0d6 (tag: sisu_2.3.5) + +dal_doc_str, name tags fix +2010-05-18 ralph@amissah.com +176af370 + +dal_syntax, url match fix +2010-05-18 ralph@amissah.com +7c10db58 + +data/sisu/v2/conf/editor-syntax-etc/vim/templates .sst .ssm .ssi added +2010-05-16 ralph@amissah.com +bd36e13b + +sisu_markup.sst, documentation update *{emphasis}* !{bold text}! +2010-05-14 ralph@amissah.com +0d136555 + +sha256 (2.3.4) +2010-05-13 ralph@amissah.com +36e60044 + +urls, screen output control +2010-05-13 ralph@amissah.com +a7e63d14 (tag: sisu_2.3.4) + +update: changelog, version (2.3.4) +2010-05-12 ralph@amissah.com +38d6d813 + +sysenv, switch default hash digest fingerprints to sha256 (rather than md5) +2010-05-12 ralph@amissah.com +c50a51d5 + +dal_syntax, italics match fix +2010-05-12 ralph@amissah.com +fe748bd9 + +urls, screen output control +2010-05-12 ralph@amissah.com +2f70bd46 + +sha256 (2.3.3) +2010-05-05 ralph@amissah.com +2ed17e16 + +update: changelog, version (2.3.3) +2010-05-05 ralph@amissah.com +36982593 + +texpdf, special word optional break point detail +2010-05-05 ralph@amissah.com +2e5503eb (tag: sisu_2.3.3) + +defaults, reduce image sizes to fit landscape pdfs, (however, also used in equivalent portrait) +2010-05-05 ralph@amissah.com +4c3fbdc6 + +shared_metadata, texpdf, reduce text display size of digests +2010-05-05 ralph@amissah.com +bc114034 + +texpdf, url braces, (add, fix) +2010-05-05 ralph@amissah.com +70fdec5b + +texpdf, special word and number optional break points +2010-05-05 ralph@amissah.com +221cc959 + +sysenv, sisurc.yml, default shortform command flags +2010-05-05 ralph@amissah.com +f9dc0ff6 +- mostly taking out verbose as default, add -v when needed, e.g.: +sisu -3v filename.sst + +ansi, urls screen info, minor +2010-05-05 ralph@amissah.com +211ea9a9 + +sha256 (2.3.2) +2010-05-03 ralph@amissah.com +c4981256 + +update: changelog, version (2.3.2) +2010-05-03 ralph@amissah.com +39988018 (tag: sisu_2.3.2) + +ansi, screen info related, arranging +2010-05-03 ralph@amissah.com +67e49a2b + +dal_numbering, heading auto-numbering, a fix +2010-05-03 ralph@amissah.com +19b72494 + +shared_txt, text wrap,
related, revert, issues when indented, revisit +2010-05-03 ralph@amissah.com +78e75a4c + +screen output, & minor arranging +2010-05-02 ralph@amissah.com +003c1fac + +share source and sisupod make, control screen output +2010-05-01 ralph@amissah.com +d5a35a0e + +sisurc.yml, default: text_wrap: (78) & emphasis: (bold|italics|underscore) +2010-05-01 ralph@amissah.com +069631da + +urls, screen info control tuning +2010-05-01 ralph@amissah.com +24469afb + +-{emphasis}* display configurable as being bold, italics or underscore +2010-05-01 ralph@amissah.com +2708d32e + - markup for *{emphasis}* configurable as being displayed as bold, italics or + underscore, the default is that emphasis output is in bold so there is no + change unless configured, either in sisurc.yml (default: emphasis: 'bold'), or + the markup source document header @make: :emphasis: 'bold' + +reduce screen output unless some verbose flag (such as -v) is used +2010-05-01 ralph@amissah.com +d9763aeb + +param_identify_markup, identify version 2 markup +2010-04-30 ralph@amissah.com +90c65af1 + +texpdf, tell file being processed +2010-04-30 ralph@amissah.com +50c13fdb + +shared_txt, text wrap, deal with
markers where they occur +2010-04-30 ralph@amissah.com +719627cb + +manifest, expand on description of book indexes in manifest +2010-04-30 ralph@amissah.com +fbbae1ca + +vim syntax highlighter adds configuration of emphasis and plaintext_wrap to @make: +2010-04-30 ralph@amissah.com +890b8758 +- plaintext_wrap (@make: :plaintext_wrap:) +- emphasis (@make: :emphasis:) + +emphasis display and plaintext line wrap configurable in document or sis +2010-04-30 ralph@amissah.com +88029687 +- markup for *{emphasis}* configurable as being displayed either bold or + italics, the default is that emphasis output is in bold so there is no + at present unless configured, either in sisurc.yml (default: emphasis: + 'italics'), or the markup source document header @make: :emphasis: 'it + [requested] +- plaintext, wrap width configurable between 20 to 200 characters, the + default width being 78, configuration eithe rin sisurc.yml (default: t + 78), or the markup source document header (@make: :plaintext_wrap: 78) + +markup for *{emphasis}* configurable as being either bold or italics +2010-04-29 ralph@amissah.com +72180b72 +- the default is that emphasis output is in bold so there is no change at + present unless sisurc.yml is configured (markup: emphasis: 'italics') + [requested] + +dal, markup, auto-level 1~ conversion of hash to number +2010-04-28 ralph@amissah.com +c11185f9 +In cases where the line is interpreted as level 1~ (either by explicit 1~ tag +or @make: :heading:) a hash (#) [octothorpe] will be auto-incremented, markup +e.g. "1~ Chapter #: My Way". + +sha256 (2.3.1) +2010-04-28 ralph@amissah.com +512fb10b + +update: changelog, version (2.3.1) +2010-04-28 ralph@amissah.com +0b74735c (tag: sisu_2.3.1) + +param, for topic_register, an additional check required, bug fix, repost +2010-04-27 ralph@amissah.com +15e863ad + +sha256 (2.3.0) +2010-04-27 ralph@amissah.com +efb456ab + +update: changelog, version (2.3.0) +2010-04-27 ralph@amissah.com +fbd6fdfd (tag: sisu_2.3.0) + +i18n, mark OCLC number for translation +2010-04-27 ralph@amissah.com +74e7af80 + +switch markup for bold and emphasis, now !{bold}! and *{emphasis}* +2010-04-27 ralph@amissah.com +39943bc9 +(emphais output defaults to bold, later make it possible to configure emphasis +output optionally as being represented by italics) + +plaintext, clean up bulleted grouped text output (still not line-wrapped though) +2010-04-27 ralph@amissah.com +02afaef5 + +update: changelog, version (2.3.0) still under review +2010-04-26 ralph@amissah.com +bc4e077e + +vim syntax highlighter adds oclc to classify +2010-04-26 ralph@amissah.com +fae1f62c + +metadata, db sql (table structure), adds OCLC number, and; html metadata, renables showing of topic_register +2010-04-26 ralph@amissah.com +361032d4 +- db (sql) add oclc (Online Computer Library Center) number, affects table + structure, (hence breakage & version bump) + - new db name prefix "sisu_v2c_"; new pgsql db name prefix "SiSUv2c_" +- OCLC == Online Computer Library Center + +git, start experimenting with an alternative/parallel git based sisu document structure +2010-04-26 ralph@amissah.com +8b3f9e83 +- git, start to experiment with file structure to replace sisupod -g and will + be in configure options, to track changes to document, enable creation of + "pods" (zipped content) and allow for remote versioned (or unversioned) + placement of content source; ideally would end up with two co-existing, + distinct parse-able structures whether local or remote, the existing directory + structure with multiple documents and document images etc. and git directories + with all content associated with a single document (including other language + versions of it); cannot guarantee at this stage that the file structure will be + retained, which may mean recreating any directory started and defeat the + purpose of using it, though it is in a version control repo, so perhaps not ... + best left alone (unused) for now + +sisupod_make, take new markup into account, done for :skin: +2010-04-23 ralph@amissah.com +4cff73e6 +- not perfect, improve upon, should probably match @make: then :skin: + +defaults, for default home search form, always point to latest db version +2010-04-23 ralph@amissah.com +59fda008 + +constants, reduce max limit for SQL VARCHAR to 2500 to be within default postgresql range +2010-04-21 ralph@amissah.com +0bb8889d + +defaults, default sisu home, correct links to document examples and to summary +2010-04-21 ralph@amissah.com +9800f4b2 + +sisu_download.ssi link to breakage info not of current interest +2010-04-21 ralph@amissah.com +e2a4d3ff + +sha256 (2.2.0) +2010-04-20 ralph@amissah.com +4bc96b7b + +reverts unique words list column and indexes; fix for drop indexes; changelog & version update +2010-04-20 ralph@amissah.com +d348ae93 (tag: sisu_2.2.0) +- reverts unique word list column on doc_objects and endnotes and associated + indexes, may reintroduce at a later time +- db_drop, drop TEXT indexes for sqlite only +- update: changelog, version date + +update: changelog, version (2.2.0), review +2010-04-20 ralph@amissah.com +64ad02a5 + +cgi take account of db name prefix change SiSUv2b_ and changed column names +2010-04-20 ralph@amissah.com +7d5cf5f3 + +db name, tables, columns, indexes changes, review (need another version bump 2.2.0) +2010-04-20 ralph@amissah.com +63c5a3ce +- db (sql) table structure, further review and changes (hence breakage & version bump) + - new pgsql db name prefix "sisu_v2b_" + - new table column words in doc_objects & endnotes, VARCHAR 3000 to contain + list of unique sorted words in object + - increase use of VARCHAR + - constants takes on related additions +- param, extensive db column size checks for metadata + +dal, minor cosmetic re-arrangement +2010-04-20 ralph@amissah.com +7fc56d1d + +update: changelog, version (2.1.1) +2010-04-19 ralph@amissah.com +66d4fb55 (tag: sisu_2.1.1) + +shared_html_lite, markup heading objects +2010-04-19 ralph@amissah.com +9d34c408 + +db_select, check for whether db exists before attempting certain actions (note this does not check whether tables have been created) +2010-04-17 ralph@amissah.com +d1eeab54 + +db_import sqlite, prevent multiple import of file with same filename(.sst) (cgi form should work correctly, without multiple entries) +2010-04-17 ralph@amissah.com +9f5b2818 +db_import, db_remove: +- wrap some sqlite actions in sqlite check; +- cosmetic code arrangement + +db_create, on processing screen output appropriate display for pgsql & sqlite, minor fix +2010-04-17 ralph@amissah.com +85eb3805 +- previously reported pgsql info for sqlite processing + +db_sqltxt, issue with: escaping backslashes (that works for both pgsql & sqlite); missing author and/or title (where called in first heading) +2010-04-17 ralph@amissah.com +3ae376c8 + +db_dbi, cosmetic +2010-04-17 ralph@amissah.com +fb823467 + +cgi_sql_common, sample search form, on navigation of matched results +2010-04-17 ralph@amissah.com +fc01f2cd + +param, information on missing author, title, or copyright +2010-04-17 ralph@amissah.com +178ce66b + +shared_metadata, fix wrong reference to md.gutenberg instead of md.pg prevents building of latex/pdf in affected cases +2010-04-17 ralph@amissah.com +1ec06b89 + +dal, on processing screen output display, minor +2010-04-17 ralph@amissah.com +35e8a112 + +sha256 (2.1.0) +2010-04-16 ralph@amissah.com +df791cb9 + +update: changelog, version (2.1.0) (version bump for sql db structural changes) +2010-04-16 ralph@amissah.com +a99b58f9 (tag: sisu_2.1.0) + +cgi sample search form (cgi_sql_common): take account of db structure changes; match limit options +2010-04-16 ralph@amissah.com +c9d42a44 +- update to work with database structure changes +- add radio buttons to set increased match limit + +db, sysenv, sisurc.yml determine whether to share sisu markup source in db +2010-04-16 ralph@amissah.com +221cfa40 + +param checks metadata string lengths against set db column sizes +2010-04-16 ralph@amissah.com +dbc227d7 +- param, checks metadata string lengths against set db column sizes, drops + entries that are too long with warning +- param, classify "populated" a fix + +db sql table and column structure changes, name prefix "sisu_v2a_" resulting sisu version bump 2.1.0, plus other lesser fixes [Note: it is necessary to create new database and tables and to populate them] +2010-04-16 ralph@amissah.com +aa47d1db +- db (sql) database table name and column structure changes, new pgsql db name + prefix "sisu_v2a_" (version bump), continue to review + (db_columns, db_create, db_import, db_sqltxt) +- db remove and update fix, match filename for removal with = (not LIKE or ~) +- db sqlite, issue with --recreate, bugfix + (db_drop) + +db, shared_html_lite, link back to footnote/endnote reference, fix +2010-04-16 ralph@amissah.com +12479b34 + +vim syntax highlighting, minor +2010-04-16 ralph@amissah.com +787b5d9c + +sha256 (2.0.5) +2010-03-31 ralph@amissah.com +aba8f88a + +update: changelog, version (2.0.5) +2010-03-31 ralph@amissah.com +ab4974ca (tag: sisu_2.0.5) + +db_create, comments causing issues for sqlite, fix +2010-03-31 ralph@amissah.com +8dec9def + +cgi sql search form: comparison bug fix; clearer information when results exceed match limit set +2010-03-27 ralph@amissah.com +e4cc7091 +v2 and ino on limit set backported to v1 + +sysenv, search_widget, small adjustments +2010-03-27 ralph@amissah.com +9996dab2 + +harvest (v2): add search widgets; fixes bug in harvest_topics; other minor +2010-03-27 ralph@amissah.com +5ac46db4 + +sha256 (2.0.4) +2010-03-23 ralph@amissah.com +e603e6c3 + +update: changelog, version (2.0.4) +2010-03-23 ralph@amissah.com +f43fcebe (tag: sisu_2.0.4) + +free_as_in_freedom, link, additional material, minor +2010-03-23 ralph@amissah.com +fa5c94eb + +correct method call for md.title.full a number of places +2010-03-23 ralph@amissah.com +f5ea5dbe +- [in db_import, results in failure of doc import when called] + +sha256 (2.0.3) +2010-03-22 ralph@amissah.com +e5be411e + +update: changelog, version (2.0.3) +2010-03-22 ralph@amissah.com +77c941a6 (tag: sisu_2.0.3) + +xml_dom, behavior fixes +2010-03-22 ralph@amissah.com +fc14d487 + +shared_matadata, odf metadata use
[prevent
breakage] +2010-03-22 ralph@amissah.com +f2e312f5 + +odf, shared_xml, texpdf: grouped bulleted text +2010-03-22 ralph@amissah.com +804d1054 + +sha256 for 2.0.2 +2010-03-21 ralph@amissah.com +15781333 + +update: changelog, version +2010-03-21 ralph@amissah.com +fd47fd06 (tag: sisu_2.0.2) + +db_import, special character escape special endnote content +2010-03-21 ralph@amissah.com +7259fa99 +- e.g. ~[* such an endnote]~ +db_import (unrelated), remove condition (if @opt.cmd !~/e/), +minor, watch + +param, recommended links (reinstated) +2010-03-21 ralph@amissah.com +94a1eef9 + +sisu v1 vim syntax highlighter version and date +2010-03-21 ralph@amissah.com +77989d9d + +sisu v2 vim syntax highlighter version and date updated/corrected +2010-03-18 ralph@amissah.com +7acacafa + +sha256 for 2.0.1 +2010-03-17 ralph@amissah.com +59653d44 + +update version 2.0.1 +2010-03-17 ralph@amissah.com +4c4f8cf4 (tag: sisu_2.0.1) + +plaintext docoration (more flexible markings) +2010-03-17 ralph@amissah.com +f7a5bfcd + +param, adjustment for manpage synopsis +2010-03-17 ralph@amissah.com +0350589f + +documentation minor update, add epub, modify some dir paths +2010-03-17 ralph@amissah.com +fcad39c0 + +html tables fix (in html_segments, an erroneous assignment where there should have been comparison) +2010-03-12 ralph@amissah.com +93817753 + +vim syntax highlight, minor addition +2010-03-12 ralph@amissah.com +d8f4db00 + +sysenv, html_promo, db name prefix from constants (now SiSUv2_) +2010-03-10 ralph@amissah.com +438f9863 + +texpdf_format, where image missing, escape image markup loop +2010-03-10 ralph@amissah.com +750ea614 + +epub, html: make robust where missing param values +2010-03-10 ralph@amissah.com +c36e976c + +sha256 for 2.0.0 in other changelog +2010-03-10 ralph@amissah.com +5ad00611 + +sha256 for 2.0.0 +2010-03-06 ralph@amissah.com +a1838881 + +introducing version 2, major patch, (version 1 libraries retained) +2010-03-06 ralph@amissah.com +306aed5b (tag: sisu_2.0.0) + +skin_sisu utf-8 marker +2010-02-28 ralph@amissah.com +28cb7f91 + +sha256 for 1.0.3 +2010-02-17 ralph@amissah.com +d9009430 + +changelog & version update +2010-02-17 ralph@amissah.com +afd5812f (tag: sisu_1.0.3) + +document sample skins specify utf-8 (in some cases required by ruby 1.9.1) +2010-02-17 ralph@amissah.com +2b1c6be1 + +plaintext fix for footnotes/endnotes +2010-02-17 ralph@amissah.com +d88d970f +footnotes to occur immediately after paragraph that contains them +(unless endnotes selected instead) + +sha256 for 1.0.2 +2010-02-10 ralph@amissah.com +941c90aa + +markup samples minor adjustment +2010-02-10 ralph@amissah.com +d7c6cd9c (tag: sisu_1.0.2) + +Free as in Freedom (on RMS), by Sam Williams, sample markup, markup variation, affects document numbering +2010-02-10 ralph@amissah.com +d6650243 + +sha256 for 1.0.1 +2010-02-09 ralph@amissah.com +a96a43ec + +changelog, detail +2010-02-08 ralph@amissah.com +fdbcfb8a (tag: sisu_1.0.1) + +version +2010-02-08 ralph@amissah.com +d7ab2918 + +version, changelog, readme, touches +2010-02-08 ralph@amissah.com +e4d06fa6 + +param, sysenv, minor adjustments +2010-02-08 ralph@amissah.com +a2993b08 + +html grouped text that is bulleted +2010-02-08 ralph@amissah.com +0fae8cd0 + +data/doc/sisu/v1/sisu_markup_samples/samples, renaming of dfsg sub-dir +2010-02-05 ralph@amissah.com +c3abb9fa + +cosmetic +2010-02-04 ralph@amissah.com +83216775 + +CHANGELOG & README ... +2010-02-04 ralph@amissah.com +ff555f6a + + blob update, odt.zip fixes heading bug in odt representations +2010-02-04 ralph@amissah.com +31ec14a4 + +sha256 for 1.0.0 +2009-12-21 ralph@amissah.com +36560607 + +documentation get paths to reflect directory structure changes +2009-12-21 ralph@amissah.com +7145a299 (tag: sisu_1.0.0) + +data/doc/sisu some files moved to v1 dir +2009-12-20 ralph@amissah.com +746a74a4 + +documentation, small changes to description of -m & -n processing flags (closing debian bug #555496) +2009-12-19 ralph@amissah.com +9a29fdc4 + +changelog, & version number updates +2009-12-19 ralph@amissah.com +1f7535d1 + +cgi_sql_common, minor style related, (mostly enclosing of used variables in curly braces) +2009-12-19 ralph@amissah.com +cbd35cfd + +manpage, fix +2009-12-19 ralph@amissah.com +2c1c6e72 + +param & dal, includes removal of older header markup, simplification to allow cleaner v1 & v2 +2009-12-19 ralph@amissah.com +c55796e3 + +minor code adjustments +2009-12-19 ralph@amissah.com +31d9927f + +document samples, v1 minor fixes +2009-12-19 ralph@amissah.com +41fe06f7 + +directory structure changes to accommodate the introduction of sisu v2 +2009-12-19 ralph@amissah.com +51e583aa + +sisu.vim adjustments +2009-11-27 ralph@amissah.com +3151b3be + + harvest_authors, minor fix +2009-11-27 ralph@amissah.com +9866f881 + +cgi search, cosmetic +2009-08-31 ralph@amissah.com +0f69b7cd + +sha256 for 0.71.4 +2009-08-30 ralph@amissah.com +02236448 + +sql, fix, different solutions for postgresql and sqlite to populate database using ruby-dbi +2009-08-29 ralph@amissah.com +1c07669d (tag: sisu_0.71.4) + +sha256 for 0.71.3 +2009-08-28 ralph@amissah.com +617b72c5 + +dal images, where rmagick cannot be loaded use imagemagick directly if available +2009-08-28 ralph@amissah.com +a3e1f8bf (tag: sisu_0.71.3) + +sha256 for 0.71.2 +2009-08-02 ralph@amissah.com +b87c8735 + +sysenv sha256 fix, set pwd +2009-07-31 ralph@amissah.com +10cf38d0 (tag: sisu_0.71.2) + +html book index, batch processing fix, re-initialize variable after use +2009-07-28 ralph@amissah.com +6b436cd5 + +sha256 for 0.71.1 +2009-07-24 ralph@amissah.com +4ed6b9fc + +html seg, navigation band button placement +2009-07-24 ralph@amissah.com +20a2f636 (tag: sisu_0.71.1) + +dal images, if no rmagick, system call imagemagick directly if available +2009-07-24 ralph@amissah.com +39e72afa + +manifest, include book index if available +2009-07-23 ralph@amissah.com +0a0b3e17 +(after all, is usually more interesting than concordance file) + +html scroll left margin +2009-07-23 ralph@amissah.com +abfd15ad + +interim version number 0.71.1-pre +2009-07-23 ralph@amissah.com +2d98793e + +sha256 for 0.71.0 +2009-07-09 ralph@amissah.com +dfcc58f0 + +date for changelog and version +2009-07-09 ralph@amissah.com +62235748 (tag: sisu_0.71.0) + +duplicate changelog updated +2009-07-05 ralph@amissah.com +2052117d + +move lib to version 1 directory, (lib/sisu/v1) and make related changes +2009-07-04 ralph@amissah.com +7372f560 + +changelog, update +2009-07-04 ralph@amissah.com +7e99b8b5 + +xml related minor touches +2009-07-04 ralph@amissah.com +387104a1 + +texpdf mostly minor cleaning +2009-07-04 ralph@amissah.com +e3286ac4 + +html various minor: use suffix provided in constants; module SiSU_HTML_Tune; html promo +2009-07-04 ralph@amissah.com +4e4ce5d3 +html promo, possibility of use of adsense, or other + +dal_numbering, minor regex reduction +2009-07-04 ralph@amissah.com +9cbb974b + +dal_idx, book_idx_html, match sysenv +2009-07-04 ralph@amissah.com +a7774c04 + +make sisu and ruby version info ruby instance methods +2009-07-04 ralph@amissah.com +53a4ec45 + +version number + +2009-07-04 ralph@amissah.com +56c64ee2 + +bin file permissions set to 644 in repo +2009-07-03 ralph@amissah.com +41ab0aaf + +copyright date update and removed some white space +2009-07-02 ralph@amissah.com +627afc99 + +sha256 for 0.70.6 +2009-07-01 ralph@amissah.com +db97e85f + +changelog & version update +2009-07-01 ralph@amissah.com +e00c5485 (tag: sisu_0.70.6) + +cgi generated sample search form, fix +2009-07-01 ralph@amissah.com +1f70e711 + +db dbi, interfaces to sqlite and pgsql, fixes, pass individual sql statements +2009-07-01 ralph@amissah.com +0cdd579c + +minor fixes and touches +2009-07-01 ralph@amissah.com +643cc5c5 + +sha256 for 0.70.5 +2009-01-18 ralph@amissah.com +d372eb61 + +copyright presentation changed, remains substantively the same; minor sisu version bump +2009-01-18 ralph@amissah.com +a9891476 (tag: sisu_0.70.5) +copyright file uses (debian) machine parsable format +use: + - Copyright: (C) 1997 - 2009 Ralph Amissah All Rights Reserved. +to mean: + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009 Ralph Amissah All Rights Reserved. +CHANGELOG updated and minor version bump 0.70.5 + +harvest, other language filenames +2009-01-01 ralph@amissah.com +c0f25024 + +year rollover +2009-01-01 ralph@amissah.com +013140d9 + +sha256 for 0.70.4 +2008-12-31 ralph@amissah.com +80a5b14f + +changelog and version updated +2008-12-31 ralph@amissah.com +3e1a65d5 (tag: sisu_0.70.4) + +latex/pdf tilde mark (bug in texlive, missing (at this instant) provide workaround) +2008-12-31 ralph@amissah.com +7d42c7a0 + +sha256 for 0.70.3 +2008-12-24 ralph@amissah.com +0351a192 + +changelog and version updated +2008-12-24 ralph@amissah.com +73ce7354 (tag: sisu_0.70.3) + +sqlite3 fix, populate do using rb sqlite3 driver directly (rb dbi problematic at present) +2008-12-22 ralph@amissah.com +71223cf6 +sqlite fix, change ruby driver used to populate sisu sqlite3 db to rb sqlite3 +for the time being. Use rb sqlite3 driver directly rather (than more convenient +when working) rb dbi interface to populate content. Used to bypass problems +with rb dbi sqlite3 interface noted in sisu 0.66.2 (2008-04-25) and 0.66.3 +(2008-05-11) that have have persisted (apparently worked at end 2007 (v.0.62.4) +and start of 2008 (v.0.64.0) +- sqlite dropall, fix +- fix to auto-generated sqlite cgi script sample, only works if at least one +existing populated sisu sqlite database is found during the generation process + +SiSU's sqlite module still broken for the time being: inconsistent ruby dbi api for sqlite3, (unable to begin and commit transaction) provide explicit message +2008-12-17 ralph@amissah.com +2f97cf3f +problem noted already in v.0.66.2 (2008-04) and last in v.0.66.3 (2008-05) +module (& rb dbi) apparently worked at end 2007 (v.0.62.4) and start of 2008 +(v.0.64.0) ... (did not expect broken state to last, sorry) +include maintenance mode info with -M flag + +html & css cosmetic changes (index & concordance), run "sisu -CC"; changelog +2008-12-16 ralph@amissah.com +b2d26ed3 + +close html

tag for "letter" class +2008-12-16 ralph@amissah.com +0c4c1608 + +sha256 for 0.70.2 +2008-12-16 ralph@amissah.com +8b4d8117 + +changelog and version updated +2008-12-16 ralph@amissah.com +86be8ced (tag: sisu_0.70.2) + +changelog, now build +2008-12-16 ralph@amissah.com +7f0e4fd4 + +harvest_authors, sort authors works +2008-12-16 ralph@amissah.com +ea4fafff + +i18n, fix related to variable renaming +2008-12-16 ralph@amissah.com +8f87662e +likely bug introduced: fb1e1bf0cb8a2202eda1ab254b01b997df60a6db +(with comment: metadata, variable renaming (requires testing)) + +minor touches +2008-12-16 ralph@amissah.com +8f66f086 + +manpage, help include: sisu --harvest *.ss[tm] +2008-12-16 ralph@amissah.com +d5841faf + +sha256 for 0.70.1 +2008-12-14 ralph@amissah.com +ac1dacca + +changelog and version updated +2008-12-14 ralph@amissah.com +0107793f (tag: sisu_0.70.1) + +changelog synced and man pages, minor updates +2008-12-14 ralph@amissah.com +1deffbef + +emacs syntax highlighting, updated metadata fields +2008-12-14 ralph@amissah.com +1784bcc4 + +param & dal, cosmetic, text placement +2008-12-14 ralph@amissah.com +c27f4dff + +markup samples, minor updates +2008-12-14 ralph@amissah.com +38275568 + +metadata, variable renaming (requires testing) +2008-12-13 ralph@amissah.com +fb1e1bf0 +metadata, variable renaming (dropped use of dc_ to signify dublin core metadata +as is subset of what is used and cumbersome to identify) - testing required +manpage minor touch + +mostly additional metadata fields +2008-12-13 ralph@amissah.com +f20476d3 +additional metadata fields +css minor touch +help minor info touch + +help and changelog update +2008-12-11 ralph@amissah.com +4a660c92 + +sysenv, cosmetic touch +2008-12-11 ralph@amissah.com +a2d74ab5 + +html tables, fix to structure and for (specified) column widths +2008-12-11 ralph@amissah.com +6149eecb + +tex/pdf, bullet mark, workaround current absence from tex-live) +2008-12-11 ralph@amissah.com +5948a4e5 +bug in tex-live, no doubt temporary + +param, enfoorce name formatting rule (recently introduced) across name fields +2008-12-11 ralph@amissah.com +54d88760 + +harvest, better integrated into sisu +2008-12-11 ralph@amissah.com +1b8c2dbf +[note sql module not yet updated to include topic_register, as requires +recreation of all sisu db(s)] + +odf_format, copyright notice consistency +2008-12-11 ralph@amissah.com +0fa51361 + +sha256 for 0.70.0 +2008-12-03 ralph@amissah.com +f6dbb690 + +changelog and version updated +2008-12-03 ralph@amissah.com +b3d3b3f8 (tag: sisu_0.70.0) + +sisu harvest, introduce module along with header syntax addition & modification +2008-12-02 ralph@amissah.com +0e6fc15a +- sisu markup, additional header and new format rule: + - @creator: / @author: header field, introduced author name format rules + for more usable metadata harvesting: surname comma other names, additional + authors separated by semi-colon + - param added meta-tag, @topic_register: formatting topic levels are + separated from sub-levels by a colon, a semi-colon separates main topics + if there are multiple topics at lowest sub-level, a pipe can be used to + create multiple headings +- harvest module, harvests metadata from document set currently extracts: (i) + authors and their writings from document set; (ii) topics and associated + writings from document set (topics use topic_register header). harvest + (when run against documents common to a directory of a site) extracts + metadata and organises the documents on a site by author and topic + information provided (there is a new "topic_register" header, with + formatting rules similar to those of the book index), results are placed in + [output_path]/sisu_site_metadata. + sisu --harvest *.sst + - by author (see change in param @creator: / @author: header field) + - by topic / subject index (see addition in param of @topic_register: + header field) + initially there should be an example samples here: + http://www.jus.uio.no/sisu/sisu_site_metadata/harvest_authors.html + http://www.jus.uio.no/sisu/sisu_site_metadata/harvest_topics.html + together with update markup source files + The authors and their writings list will be made to take on a more + biblographical form, with the use of additional fields as required. + (concept example, suitable for medium sized sites [to remove size + constraint: implement SQL equivalent]) make feature more robust +- css, for harvest output added +- remote placement of sisu_site_metadata (output produced by metadata harvest) +- sisu markup, update document samples accordingly +- tidy copyright marks in program headers, remove repetition of dates +[version bump because formatting rule introduced to author / creator header - +where new site metadata harvest feature is used, (at present changes changes +should not be noticed except when using metadata harvest)] + +sha256 for 0.69.4 +2008-11-03 ralph@amissah.com +51413fd9 + +changelog and version updated +2008-11-03 ralph@amissah.com +edc7d97f (tag: sisu_0.69.4) + +sisu-mode.el make version number match this sisu version where introduced +2008-11-03 ralph@amissah.com +917b58bb + +changelog updated +2008-11-03 ralph@amissah.com +6e5c6c22 + +ruby1.9 some testing minor changes +2008-11-03 ralph@amissah.com +868478a6 +opened to run with ruby1.9, (however not all used libraries ported on system) +continue to use ruby1.8 series >= ruby1.8.4 + +regex match refinement +2008-11-03 ralph@amissah.com +c662fb09 + +dal and param various changes (some affecting other files) +2008-11-03 ralph@amissah.com +9458eedd +dal, minor changes including +related to bold line instruction and, +variable name change affecting other files +param, header tag for document index, create site index of documents +use, add info on document content, harvest info provided from document set for +metadata to create site index of documents (similar sub-sytax to book index) +also variable name +others variable name change, made earlier in dal and param + +software libré, accent +2008-11-03 ralph@amissah.com +454d3b84 + +diakonos editor syntax highilighting, updated conf file from v0.8.6 +2008-11-03 ralph@amissah.com +27d38e54 + +sisu-mode.el, emacs syntax highlighting contributed by Ambrose Kofi Laing +2008-11-03 ralph@amissah.com +c523a513 +based on work by Tong Sun (doc-mode.el) and included with his kind permission + +vim syntax, header, version number updated +2008-10-14 ralph@amissah.com +33016270 + +sha256 for 0.69.3 +2008-10-10 ralph@amissah.com +5744266c + +changelog and version updated +2008-10-10 ralph@amissah.com +bf4d928f (tag: sisu_0.69.3) + +date touch +2008-10-10 ralph@amissah.com +3642ce76 + +book code, minor adjustment; and fix to manifest reporting of the creation of sisupod (zip) +2008-10-10 ralph@amissah.com +bf2a99e8 + +sha256 for 0.69.2 +2008-09-19 ralph@amissah.com +07834082 + +changelog and version updated +2008-09-19 ralph@amissah.com +13e1b36c (tag: sisu_0.69.2) + +sample sisu markup "Free as in Freedom": book index markers included, and; identify markup helpers updated * sample sisu markup "Free as in Freedom": book index markers included * identify markup helpers updated +2008-09-19 ralph@amissah.com +452f2c20 + +sha256 for 0.69.1 +2008-09-17 ralph@amissah.com +a82216e1 + +changelog and version updated +2008-09-17 ralph@amissah.com +7681e3d5 (tag: sisu_0.69.1) + +dal fix, dal_substitutions_and_insertions get skin info +2008-09-17 ralph@amissah.com +cb4f9d5b + +sha256 for 0.69.0 & note on addition to vim syntax included in version +2008-09-16 ralph@amissah.com +8c5ab6b4 + +changelog and version updated +2008-09-16 ralph@amissah.com +b6654602 (tag: sisu_0.69.0) + +fixes: alphabet list (concordance, dal_idx), and file types (dal_expand_insertions) +2008-09-16 ralph@amissah.com +f555e077 + +changelog date, touch +2008-09-15 ralph@amissah.com +a4bc8604 + +various small fixes * html segments, name more accurately * rough description of how book index markup works * clean out book index from these outputs * book markup sample, free as in freedom, start doing book index, only letter "A" done so far * texpdf, url matching, special characters * # Please enter the commit message for your changes. +2008-09-15 ralph@amissah.com +87a7cfcd + +dal_idx, and concordance, letter list for navigation +2008-09-13 ralph@amissah.com +dbde53fb + +dal_idx: capitalize first letter of index lev1 for sort; provide letter a-z navigation +2008-09-13 ralph@amissah.com +b3f2c67f + +dal_idx: strip before sort; fix bug where first lev is range +2008-09-12 ralph@amissah.com +bb1e2142 + +primarily on book index where (markup) provided * book index, html, tex/pdf, xml * texpdf no ocn if ocn is 0 * odf, plaintext, if book index? remove ... do other outputs for which not relevant * concordance, better matches * constants, dal special character for hardspace changed as (ruby) regx bug in replacing it in xml, odd but move on Note: to fix html seg headers for endnotes and for index +2008-09-10 ralph@amissah.com +291080c0 + +book index, sample html file and to screen sisu markup sample added (-M flag) +2008-09-08 ralph@amissah.com +1529e474 + +dal, several modules split into separate files +2008-09-08 ralph@amissah.com +798d710d + +book index (markup adjustment, dal module); dal numbering moved to separate module; version date +2008-09-07 ralph@amissah.com +36559403 + +minor unicode for a type of cross +2008-09-07 ralph@amissah.com +e4626408 + +character given to represent non-break space in internal code (dal, constants and affected downstream code) +2008-09-05 ralph@amissah.com +9432d034 + +dal, bullet footnotes fix (check numbered bullets, should also be ok) +2008-09-05 ralph@amissah.com +7c96df7f + +dal, left and right quotes (single & double) kept; previously converted to ordinary quotes (watch) +2008-09-03 ralph@amissah.com +fc826abe + +xml character encoding adjusted; xml image match; odf issue with '@' symbol in url +2008-09-03 ralph@amissah.com +2a738f52 + +html segments; sql db field lengths increased +2008-09-02 ralph@amissah.com +b2ef4107 + +texpdf: paper use dimensions, tolerance, url matching; removal of dummy headings when not used; manifest presentation * texpdf: paper use dimensions, tolerance, url matching; * removal of dummy headings when not used (html scroll, latex/pdf, odf) * manifest presentation +2008-08-29 ralph@amissah.com +749e0d84 + +texpdf: removed space at beginning of paragraph; grouped text url fix +2008-08-28 ralph@amissah.com +a0012a41 + +texpdf, footnotes align left (ragged), footnote numbers removed from margin +2008-08-27 ralph@amissah.com +c01a2c64 + +texpdf: landscape tables in two column text fixed; footnote margin increased +2008-08-27 ralph@amissah.com +602a7b49 + +texpdf: paper use dimensions url and urlbreaks removal of a maths package gives back typeface changes like bold better representation of tilde changelog update +2008-08-27 ralph@amissah.com +c6d41d93 + +minitoc added, used by manifest and concordance; html css div sorting +2008-08-24 ralph@amissah.com +f1fe4547 +a earlier commit relies on minitoc prior to its addition, this fixes that issue +html css divs, need to be watched across different html output + +minitoc added to concordance and manifest; dal, precision in endnote matching +2008-08-23 ralph@amissah.com +2a93f7b9 + +pass Hash to Format classes; some match tuning in dal +2008-08-23 ralph@amissah.com +08c69d07 + +a bit of a cleanup, and change reference to null to ordinary +2008-08-18 ralph@amissah.com +5787bd8e + +rsync, replace --delete-after with --delete apparently not all versions of rsync accept more specific option +2008-08-17 ralph@amissah.com +d74651a9 + +html document structure, div markers, watch +2008-08-17 ralph@amissah.com +0c15db87 + +html segments structure and info provided (a bit verbose), and css +2008-08-17 ralph@amissah.com +0ec26776 + +html segments, links to concordance file only if made, fix +2008-08-16 ralph@amissah.com +89d5ace0 + +html css and div related +2008-08-16 ralph@amissah.com +afb83150 + +texpdf, fix: image dimension match (for post 0.68.0 changed middle layer representation) +2008-08-14 ralph@amissah.com +e2fb7c37 + +html format, consolidate html_format file, prune later; version number bumped version number bump: is necessary to re-initialize using new css for html presentation sisu -CC +2008-08-14 ralph@amissah.com +6759751b + +html, css and related markup, touch +2008-08-14 ralph@amissah.com +f42c740c + +html, css and related markup +2008-08-14 ralph@amissah.com +e2533559 + +interim version info +2008-08-12 ralph@amissah.com +d2121e12 + +html increased use of css; dal, middle layer, url representation, interim commit +2008-08-12 ralph@amissah.com +d43865fb + +sisu-0.68.0 + sha256 +2008-07-22 ralph@amissah.com +c9ab55b6 + +changelog and version updated +2008-07-22 ralph@amissah.com +a9aba79c (tag: sisu_0.68.0) + +sisu-0.68.0 proposed * middle layer document representation changed, (accounting for substantial patch) * texpdf multiple document sizes as specified in config * numerous small fixes [should on the whole be easier to maintain] +2008-07-22 ralph@amissah.com +d29a3e54 + +action response query fix +2008-07-19 ralph@amissah.com +839d4f18 + +texpdf papersize adjustments primarily for portrait sizes a5 & b5 +2008-07-13 ralph@amissah.com +677885e5 + +sisu-0.67.5 + sha256 +2008-07-12 ralph@amissah.com +59e154d5 + +changelog and version updated +2008-07-12 ralph@amissah.com +d1985f50 (tag: sisu_0.67.5) + +texpdf fixes, xetex and xelatex processing commands, and fix for a5 landscape pdf +2008-07-12 ralph@amissah.com +d7ec8e17 + +sisu-0.67.4 + sha256 +2008-07-12 ralph@amissah.com +22cd1d4e + +changelog and version updated +2008-07-12 ralph@amissah.com +7ffd3583 (tag: sisu_0.67.4) + +minor fixes: remote sourcefile; processing directory; manifest info +2008-07-12 ralph@amissah.com +14d7b8a5 + +sisu-0.67.3 + sha256 packaged urgency="medium" +2008-07-03 ralph@amissah.com +bcf3cef6 + +changelog and version updated +2008-07-03 ralph@amissah.com +c1103fcf (tag: sisu_0.67.3) + +rebuild, "sisu --help env" fix and texpdf papersize re-fixed +2008-07-03 ralph@amissah.com +c28c5943 + +changelog and version updated +2008-07-02 ralph@amissah.com +189c8f05 (tag: sisu_0.67.2) + +sysenv/texpdf, xetex landscape pdf fix +2008-07-02 ralph@amissah.com +f0bfa230 + +sysenv/texpdf, fix required for xetex landscape pdfs +2008-07-02 ralph@amissah.com +36bead6d + +changelog and version updated +2008-06-22 ralph@amissah.com +6fdd6406 + +sisu-0.67.1 + sha2s +2008-05-27 ralph@amissah.com +f0083bff + +changelog and version updated +2008-05-27 ralph@amissah.com +0f9b3024 (tag: sisu_0.67.1) + +syntax highlighting minor adjustments +2008-05-27 ralph@amissah.com +f6bfcead + +update to kate syntax highlighter +2008-05-25 ralph@amissah.com +094a67c6 + +sisu-0.67.0 + sha256 +2008-05-23 ralph@amissah.com +24a4716f + +sisu-0.67.0 + md5s +2008-05-22 ralph@amissah.com +53f876ac + +changelog and version updated +2008-05-22 ralph@amissah.com +c689f2d0 (tag: sisu_0.67.0) + +version update in documentation +2008-05-22 ralph@amissah.com +e1aea639 + +update man pages and version +2008-05-22 ralph@amissah.com +5a62d708 + +simplify syntax for import of external files, e.g.: +2008-05-22 ralph@amissah.com +4cd184d2 +<< filename.sst +minor related syntax changes, automatic version bump +make appropriate additions to vim-syntax +consider use of vim-addon manager + +sisu-0.66.3 + md5s +2008-05-11 ralph@amissah.com +f8e79d11 + +changelog and version updated +2008-05-11 ralph@amissah.com +16727b04 (tag: sisu_0.66.3) + +minor sync +2008-05-11 ralph@amissah.com +6c62ebc7 + +retained existing homepage +2008-05-10 ralph@amissah.com +b470801d + +update changelog +2008-05-10 ralph@amissah.com +654d12a3 + +introduced particulars (rename later) for commonly used document and environment details, and cleaned up some requires +2008-05-10 ralph@amissah.com +34cee014 + +syenv updates, mostly sql related +2008-05-10 ralph@amissah.com +738c2473 + +some re-arrangement related to sqlite3 testing (including a rudimentary sql import file, dbi by-pass) +2008-05-10 ralph@amissah.com +d004875c + +addition of a couple of multiline search tags, and minor rearrangement +2008-05-10 ralph@amissah.com +dc0648fe + +sisu-0.66.2 + md5s +2008-04-25 ralph@amissah.com +29d6ad93 + +changelog and version updated +2008-04-25 ralph@amissah.com +e373b94f (tag: sisu_0.66.2) + +update changelog +2008-04-25 ralph@amissah.com +303107cd + +sqlite3 complete transaction issue not yet resolved +2008-04-24 ralph@amissah.com +a8c78d0c + +move to sqlite3, an issue with finalising transactions (commit, close...) +2008-04-24 ralph@amissah.com +ebda41b0 + +sisu-0.66.1 + md5s +2008-03-30 ralph@amissah.com +16b42d24 + +changelog and version updated +2008-03-30 ralph@amissah.com +c504ed42 (tag: sisu_0.66.1) + +minor fixes, changelog note on debian debhelper compat >=6 +2008-03-30 ralph@amissah.com +cf4ac1d8 + +tex to pdf, xetex (utf8) added as alternative to pdftex +2008-03-22 ralph@amissah.com +bbd1100d + +track a couple of questions +2008-03-14 ralph@amissah.com +cb0a9b1b + +extend semantic shorthand +2008-03-01 ralph@amissah.com +439a0b77 + +sisu-0.66.0 done +2008-02-25 ralph@amissah.com +d79ff267 + +changelog and version updated +2008-02-24 ralph@amissah.com +68114cb6 (tag: sisu_0.66.0) + +clean screen output +2008-02-24 ralph@amissah.com +623b97ad + +CHANGELOG 0.66 and ruby identify program files as utf-8 +2008-02-24 ralph@amissah.com +2ff88bb0 + +information update +2008-02-24 ralph@amissah.com +7de4fcdd + +enable conversion from sst to various forms of input xml and back including 0.66 tags +2008-02-24 ralph@amissah.com +ec9282e2 +sst_to_s_xml (sax/dom/node) semantic xml mockup naive conversion of known abbreviated tags, +in flux, e.g. + sisu --to-sax autonomy_markup0.sst +back to sst markup with: + sisu --from-sxml autonomy_markup0.sxs.xml +sst_to_s_dom fix to footnote/endnote conversion + +make possible to strip 0.66 markup in dal commit +2008-02-24 ralph@amissah.com +db151024 + +for now strip sisu-0.66 semantic markup tags +2008-02-24 ralph@amissah.com +528875ec + +extract identification of use of sisu-0.66 markup tags +2008-02-24 ralph@amissah.com +654d4984 + +identify sisu-0.66 tags +2008-02-24 ralph@amissah.com +5c5510b3 + +vim syntax highlighting for sisu-0.66 +2008-02-24 ralph@amissah.com +b3e9f8db +refinements to semantic tag matching +still no error checking and match wider than likely to be ultimately +check for earlier versions of vim removed +updated to use "hi def link" instead of HiLink + +sisu-0.65.0 +2008-02-16 ralph@amissah.com +2d88e919 + +changelog and version updated +2008-02-16 ralph@amissah.com +b1544cda (tag: sisu_0.65.0) + +regex matches vim syntax hilighting +2008-02-16 ralph@amissah.com +9e789c86 + +markup tag match refinement +2008-02-16 ralph@amissah.com +daf2b7fe + +refinement to semantic tag regex matching +2008-02-15 ralph@amissah.com +2cd36957 + +sisu-0.64.4-1 + md5s +2008-02-14 ralph@amissah.com +34b727d1 + +changelog and version updated +2008-02-14 ralph@amissah.com +ec5e2d9f + +manpage clean +2008-02-14 ralph@amissah.com +d6092833 (tag: sisu_0.64.4) + +changelog and version +2008-02-14 ralph@amissah.com +774847f0 + +for now render new markup syntax inactive +2008-02-14 ralph@amissah.com +7322b33b + +enable identification of new markup +2008-02-14 ralph@amissah.com +6d345eae + +introduce syntax highlighting for new syntax markers +2008-02-14 ralph@amissah.com +40e09659 + +minor information/help (man page) related +2008-02-14 ralph@amissah.com +2aa25d8c + +sisu-0.64.3 +2008-02-06 ralph@amissah.com +df792b86 + +changelog and version updated +2008-02-06 ralph@amissah.com +d9583c54 (tag: sisu_0.64.3) + +date +2008-02-06 ralph@amissah.com +56b4da68 + +minor update +2008-02-05 ralph@amissah.com +e9a250f9 + +version rolled back, not ready to open ruby 1.9 some libraries not yet available +2008-02-05 ralph@amissah.com +8bec16e3 + +comment +2008-02-05 ralph@amissah.com +bcde2dab + +minor info updates +2008-02-05 ralph@amissah.com +65ceda53 + +ruby 1.9 open; future pgsql testing on 8.3; encoding utf-8 checks; version bump 0.65.0 +2008-02-05 ralph@amissah.com +4c36cadd +- ruby 1.9 use opened, testing required +- db sql pgsql future testing on version 8.3 +- encoding utf-8 some compatibility checks + +for update replace LIKE with '=' ; required by pg8.3 bigint +2008-02-02 ralph@amissah.com +a97f505a + +sisu-0.64.2 + md5s +2008-01-19 ralph@amissah.com +199a4ec2 + +changelog and version updated +2008-01-19 ralph@amissah.com +9311a548 (tag: sisu_0.64.2) + +mkdir_p, and again close running of ruby 1.9 +2008-01-19 ralph@amissah.com +d6b580c9 +- mkdir_p, [instead of ftools file.mkpath] +- running against ruby 1.9 closed for now + raise request for use of version 1.8 branch +- manual update version + +permit to run on ruby 1.9, debian unstable requires it +2008-01-18 ralph@amissah.com +48bbce70 + +sisu-0.64.1 + md5s +2008-01-09 ralph@amissah.com +83b61a60 + +changelog and version updated +2008-01-09 ralph@amissah.com +0d88f12f (tag: sisu_0.64.1) + +odf bug (angle brackets) preliminary fix +2008-01-09 ralph@amissah.com +c4cc1e5a +odf bug reported related to use of angle brackets in markup +affects some odf output, preliminary fix + +correct a date +2008-01-03 ralph@amissah.com +f158725f + +sisu-0.64.0 + md5s +2008-01-02 ralph@amissah.com +2362b15e + +changelog and version updated +2008-01-02 ralph@amissah.com +5e4f7f21 (tag: sisu_0.64.0) + +manual download version updated, minor +2008-01-02 ralph@amissah.com +8bc1d842 + +changelog update on packaging bug #454372, on purge, postrm removal of /etc/sisu +2008-01-02 ralph@amissah.com +9a2a8b83 + +bump version number +2008-01-02 ralph@amissah.com +58084d17 + +sql, postgresql allow tcp/ip connections, parameters from rc file, sisurc.yml +2008-01-02 ralph@amissah.com +084433a8 + +year updated to 2008 - happy new year +2007-12-31 ralph@amissah.com +e70f4053 + +adjustments for ruby1.9 (xmas), in sysenv moved default location of processing directory +2007-12-31 ralph@amissah.com +79ec1b33 +sysenv, processing in subdirectory under /tmp/_sisu_processing~ [instead +of within home], (subdirectory) named after owner with permissions +restricted to owner + +change primary key indexes to bigint (requested) +2007-12-31 ralph@amissah.com +1dd09c87 + +sisu-0.63.0 + md5s +2007-12-20 ralph@amissah.com +a34b7c62 + +changelog and version updated +2007-12-20 ralph@amissah.com +67074fe9 (tag: sisu_0.63.0) + +sisupod, bugfixes for rsync placement and for download and processing +2007-12-20 ralph@amissah.com +3535397c + +rsync sisupod, bugfix +2007-12-17 ralph@amissah.com +b1afa422 + +texpdf, generate sisu latex output in a single pass +2007-12-17 ralph@amissah.com +a9d166c6 +implications if additional modules added +e.g. provide dvi file without latex pdf headers +or generate an A6 document by default for e-readers capable of reading pdf +(this would otherwise require a separate pass/loop of content for each +type to be generated) +current shortcoming, images are sized for smaller landscape output by +default, image dimension adjustments not yet made (for different +orientation) + +sisu-0.62.4 + md5s +2007-12-14 ralph@amissah.com +25fca204 + +changelog and version updated +2007-12-14 ralph@amissah.com +2b9542e0 (tag: sisu_0.62.4) + +gpl links etc. +2007-12-14 ralph@amissah.com +1ce7060c + +vim search and replace default set to C-@ +2007-12-08 ralph@amissah.com +a4b2e0c5 + +changelog and version updated +2007-12-08 ralph@amissah.com +084d10a9 + +gpl links updated and added link to plaintext as allows for convenient use of vim gf +2007-12-03 ralph@amissah.com +48318c93 + +vim ftplugin/sisu and colors/slate +2007-12-03 ralph@amissah.com +60ac9183 +ftplugin, added toggle for menu +slate, added cursor line and column color black ... may not provide enough contrast for some, this way i use it though + +sisu-0.62.3-3 + md5s +2007-11-30 ralph@amissah.com +da12ef26 + +changelog and version updated +2007-11-30 ralph@amissah.com +7b51b2f8 + +note made in changelog about need to prefix Dm-Upload-Allowed with -XS +2007-11-30 ralph@amissah.com +158fc754 + +sisu-0.62.3-2 + md5s +2007-11-29 ralph@amissah.com +76e9f80f + +changelog and version updated +2007-11-29 ralph@amissah.com +b2ba824e + +sisu-0.62.3 + md5s +2007-11-27 ralph@amissah.com +5c56af2b + +changelog and version updated +2007-11-27 ralph@amissah.com +8149d722 (tag: sisu_0.62.3) + +html scroll more convenient (code) placement of line separator


+2007-11-27 ralph@amissah.com +c87c41a5 + +Dm-Upload-Allowed: yes +2007-11-26 ralph@amissah.com +61773282 + +0.62.3 version pre-build +2007-11-26 ralph@amissah.com +a0034e64 + +html scroll line separator before document information +2007-11-26 ralph@amissah.com +061ef005 + +html scroll,
line separator before endnotes and metadata +2007-11-26 ralph@amissah.com +6b9b5203 + +sisu_download.ssi version number info +2007-11-26 ralph@amissah.com +99b2f566 + +sysenv, scp provide variable, fix +2007-11-26 ralph@amissah.com +6ce42d65 + +sysenv step in remote images test needs to be retained +2007-11-26 ralph@amissah.com +b0b8fd1f + +various small adjustments for 0.62.3 +2007-11-26 ralph@amissah.com +bee31a90 +- html
follows text, before footnotes (refine later) +- rsync remote images partial fix +- minor bug fix, related to error message passing, in texpdf and url +- sisu_manual version info +- vim ftplugin, status line info on cursor position modified + +sisu-0.62.2 + md5s +2007-11-03 ralph@amissah.com +fa196b1f + +changelog and version updated +2007-11-03 ralph@amissah.com +7b7f6708 (tag: sisu_0.62.2) + +linitan override for homepage field +2007-11-03 ralph@amissah.com +487179ac + +touch +2007-11-03 ralph@amissah.com +f238bd9d + +remote markup source, image download; vim ftplugin sisu.vim status line; vim colors reporting of slate.vim +2007-11-03 ralph@amissah.com +07a81e99 + +generate from remote markup source, image path fix and some cosmetic re-arrangement +2007-11-01 ralph@amissah.com +cfe3d294 + +note on debian/control Homepage header +2007-10-26 ralph@amissah.com +8fa4231c + +db rearranging, create, drop, import (and a renaming: db_dbi from shared_db) +2007-10-26 ralph@amissah.com +96049bf5 + +sisu-0.62.1 + md5s +2007-10-22 ralph@amissah.com +b180201d + +changelog and version updated +2007-10-22 ralph@amissah.com +b9e1e445 + +version change 0.62.1 +2007-10-22 ralph@amissah.com +4f0ea624 (tag: sisu_0.62.1) + +regex to match composite file names in db common and cgi +2007-10-22 ralph@amissah.com +c3254743 + +sisu-0.62.0 + md5s +2007-10-20 ralph@amissah.com +bc35b52f + +changelog and version updated +2007-10-20 ralph@amissah.com +d0231794 (tag: sisu_0.62.0) + +dal, available shared output shortcut, adjustment needed for footnote/endnote +2007-10-20 ralph@amissah.com +f21af4b5 + +dal todo with path to shared source; shared xml cosmetic +2007-10-20 ralph@amissah.com +8f62a8cc + +build most likely after midnight +2007-10-19 ralph@amissah.com +20658d27 + +manifest image paths +2007-10-19 ralph@amissah.com +93777412 + +mostly paths for shared markup source (txt and pod), also... +2007-10-19 ralph@amissah.com +8c67d466 +also current Debian/Sid ruby1.9 upgrade removes a bug, so a related +test/warning in options.rb removed + +mostly adjustment to image paths (for local and remote operations) +2007-10-19 ralph@amissah.com +d41a9542 + +adjust detail for 0.62 build +2007-10-19 ralph@amissah.com +8eceaceb + +first pass at fictionbook output; images posted with document rsync; also ... +2007-10-19 ralph@amissah.com +db15c23a +- first pass at fictionbook output - fictionbook is interesting, (develop over + time or drop support) +- images in document posted with document rsync +- ruby1.9 strip bug re-encountered in debian sid build version, (unless it is + my setup) +see changelog + +minor detail +2007-10-17 ralph@amissah.com +6a95a0e1 + +manpage, todo with rearrangement of conditionals, adjusted and sisu.1 regenerated +2007-10-16 ralph@amissah.com +b0d16176 + +image list, extracting conditions and regex visited +2007-10-16 ralph@amissah.com +45acf3b7 + +mostly the arrangement of conditionals +2007-10-15 ralph@amissah.com +e1ec4bd2 + +regex matching of images, (and rearrangement of conditionals) +2007-10-15 ralph@amissah.com +8e092e0f + +remote_conn, accepting multiple remote hosts, sysenv also beginning of rearrangement of conditionals +2007-10-15 ralph@amissah.com +33adab3a + +remote server configuration info set in sisurc.yml for multiple hosts, sysenv and help +2007-10-15 ralph@amissah.com +4ef892c9 +sisurc.yml remote host settings takes both old and new configuration notation +new being through use of Array for each host '-' separator, [example is provided] + +composite master renaming, and; multiple remote puts (rsync|scp) +2007-10-15 ralph@amissah.com +7c6478d2 +- composite master files: eliminate ._sst, replace with .ssm.sst +- multiple remote hosts ("distributed" rsyncing), yml config files remote now + uses array +with all recent changes (directory shunting) much testing is yet to be done, +state is unstable some things are known not to work this instant, e.g. sisu -V + +default image directories moved, more convenient/logical [test] +2007-10-14 ralph@amissah.com +75d9ef83 + +shared markup source output moved to own common src directory +2007-10-14 ralph@amissah.com +69e8c052 + +remote, (put, get) in single file; embedded content, posted locally and remotely using rsync +2007-10-13 ralph@amissah.com +84666b3d + +start version marking interim releases +2007-10-13 ralph@amissah.com +a35a675f + +man page update +2007-10-13 ralph@amissah.com +7e55cfa8 + +underscore exception requires additional tweaking of regexes, solution not optimal (sisu_markup as basic test) +2007-10-13 ralph@amissah.com +48f57660 + +sisu manual download page, clean +2007-10-12 ralph@amissah.com +a59b3c4f + +sisu-0.61.0 + md5s +2007-10-12 ralph@amissah.com +5564435e + +sisu_vim, manpage issue +2007-10-12 ralph@amissah.com +be7cc72e (tag: sisu_0.61.0) + +special character exceptions, some fixes, primarily underscore +2007-10-12 ralph@amissah.com +6acc0270 + +xml dom extract footnote from grouped text +2007-10-12 ralph@amissah.com +b05af207 + +available outputs shortcut display, description of odf:odt expanded +2007-10-12 ralph@amissah.com +01f5d52b + +for html and latex/pdf permit switch off of object numbering display from within skins +2007-10-12 ralph@amissah.com +c6090f3f + +minor cleaning, note that object character numbering for html and pdf can be changed within skin +2007-10-12 ralph@amissah.com +6867253e + +sisu manual and man page update +2007-10-12 ralph@amissah.com +640d12c3 + +start readying for 0.61 +2007-10-12 ralph@amissah.com +eacca80e + +changelog bring forward release; sisu_manual, small things +2007-10-11 ralph@amissah.com +38d0e06f + +sisupod_make, composite file is an exception +2007-10-11 ralph@amissah.com +39bf7a71 + +shared markup source, composite documents, fix look to processing directory for: text share source and binary sisupod (make) +2007-10-11 ralph@amissah.com +2178c097 + +sisu_manual right column, use absolute url paths and some url fixes +2007-10-11 ralph@amissah.com +4a8968d1 + +sysenv, extra check for sisurc search info (and a cosmetic change (quotes)) +2007-10-10 ralph@amissah.com +c07cf366 + +changelog update +2007-10-09 ralph@amissah.com +e2a0ca35 + +markup header, cleaning of obsoleted url_png marker +2007-10-09 ralph@amissah.com +74de5591 + +texpdf, when not to output numbers on text objects +2007-10-09 ralph@amissah.com +55e57fd8 + +dal_syntax, relative links changed to absolute, may wish to reconsider +2007-10-09 ralph@amissah.com +b93fb15a +relative links primarily of interest for html output, for which may wish to retain + +command line processing shortcuts changed +2007-10-09 ralph@amissah.com +73ab0fc4 +-1 does only -hwpoyv and (obsoleted) -A changed in sysenv with -a + +dal, permit writing of note before and after autogen of available outputs shortcut +2007-10-09 ralph@amissah.com +e834150d + +manual, change source links to archive rather than transient repo +2007-10-08 ralph@amissah.com +3c2c67ec + +dal, shortcut for available outputs, present as grouped text object +2007-10-08 ralph@amissah.com +37f81bc4 +this makes more sense for search results - matches all available versions of a +document +[affects document objects and numbering where used, hence version number bump] + +sisu-0.60.1 + md5s +2007-10-07 ralph@amissah.com +e9a6c2f6 + +changelog and version updated +2007-10-07 ralph@amissah.com +d0c52566 (tag: sisu_0.60.1) + +touch download version +2007-10-07 ralph@amissah.com +88b536c9 + +cleaning, and make sure in xml   rather than   is used +2007-10-07 ralph@amissah.com +3804f096 + +dal, fix shortcult for listing available generated output (without source); html, keep ocn id where no visible ocn +2007-10-06 ralph@amissah.com +2386d74a + +document header, link to markup and book examples +2007-10-06 ralph@amissah.com +3be4b9a5 + +param, multi-line parse, fixing @link: header +2007-10-06 ralph@amissah.com +17dfb02b + +0.60.0 debian package rebuilt (-2) with debian/control reference to "sisu-doc" removed +2007-10-04 ralph@amissah.com +c59ad12e + +changelog and version updated +2007-10-04 ralph@amissah.com +9f872ec2 + +changelog mention 0.60.0-2 debian build, debian/control remove mention of sisu-doc +2007-10-04 ralph@amissah.com +1c4972bd + +sisu_download, keep changing version? +2007-10-04 ralph@amissah.com +431c8958 + +sisu-0.60.0 + md5s +2007-10-03 ralph@amissah.com +268d38f7 + +changelog and version updated +2007-10-03 ralph@amissah.com +e29c178b (tag: sisu_0.60.0) + +0.60, build and post +2007-10-03 ralph@amissah.com +92e09d39 + +minor changes for 0.60, hub removes -A -e -E, all under -a; termsheet make path instead of dir +2007-10-03 ralph@amissah.com +652e850d + +set /tmp/_sisu_processing directory permissions to 777, (each user has a sub-directory thereunder) +2007-10-01 ralph@amissah.com +9c1de41b + +sitemaps touch commented out +2007-10-01 ralph@amissah.com +63212d19 + +proposed as sisu-0.60.0, see updated CHANGELOG +2007-10-01 ralph@amissah.com +ad5fbbc1 +- parameter reading on first run of file, (initialization of parameters) +- composite files (.ssm) building moved to processing directory, to overcome + problem of non-writable sisu-source document directories, perhaps also + cleaner (management of files) +- latex/pdf minor cleaning, + - caret '^' is latex special character, additional match for escaping + - clean major headings of markup heading tag with tilde and name + e.g. '1~meta' +- param / metadata, hash sums now returns has sum and file-name only even for + sisu-skin + +small update and fix +2007-09-30 ralph@amissah.com +d0081f94 + +changelog, minor edit +2007-09-29 ralph@amissah.com +b00fd983 + +hash test now will return only filename, no path, man page and man2html update +2007-09-29 ralph@amissah.com +d71ead0c + +man2html regenerated +2007-09-29 ralph@amissah.com +064ca6df + +minor adjustment for man-pages pdf, postgresql, sqlite, as primarily used there +2007-09-29 ralph@amissah.com +f5cc951f + +start preparing sisu-auto-generated man pages for 0.60 release +2007-09-29 ralph@amissah.com +c5e3e37e + +prepare documentation for use ... +2007-09-29 ralph@amissah.com +7b09e652 + +sisu documentation related +2007-09-29 ralph@amissah.com +7d9fced3 + +reorganising documentation +2007-09-29 ralph@amissah.com +761f2323 + +defaults & configuration of suggested manpage generating/viewing tool/display +2007-09-28 ralph@amissah.com +5240532e + +removal of auto-generated manpages +2007-09-28 ralph@amissah.com +7903fdb6 + +remove additional (auto-generated) manpages, re-evaluate each addition +2007-09-28 ralph@amissah.com +8efb2177 + +param parsing changed to multi-line (affects regex matching, watch); manpage related changes, manpage header @man: added in param and used in manpage +2007-09-28 ralph@amissah.com +7475e34f + +hub, help info provided on typing sisu change +2007-09-28 ralph@amissah.com +d0b04c36 + +for now remove (sphinx or robot) images, obtain compatible copyright permission from author, likely not to be a problem, but clarify +2007-09-28 ralph@amissah.com +162fe2a5 + +matches to take account of internal new naming/tagging of "document information" heading 1~meta +2007-09-26 ralph@amissah.com +3f282d76 + +sisu-0.60 intruduces separate sisu-doc package, rationale in CHANGELOG +2007-09-26 ralph@amissah.com +8d5f29f4 + +gen manual pages alone for testing +2007-09-26 ralph@amissah.com +594d7bb0 + +make "rant" document generation possible without copying of files into sisu package +2007-09-26 ralph@amissah.com +2a391443 + +changelog info updated +2007-09-26 ralph@amissah.com +7ca12a4b + +segmented html fix for batch processing placement of heading :A-:C footnotes in first segment +2007-09-26 ralph@amissah.com +9f52af3d + +dal, make metaverse heading :A (represented internally as 1~) easily distinguishable, (tagged 1~meta) +2007-09-26 ralph@amissah.com +b49c8cdc + +help, (hub), minor reorganisation and a change in response for typing 'sisu' without options +2007-09-26 ralph@amissah.com +a36b83da + +sysenv, sisurc.yml allow use of relative output paths, expand to absolute +2007-09-26 ralph@amissah.com +0770dd95 + +document gen rantfile, use relative path, (cleaning) +2007-09-26 ralph@amissah.com +b04ac0d9 + +changelog explains rational behind sisu-0.60 removal of generated document output from the main sisu +2007-09-26 ralph@amissah.com +15e330dc +- changelog explains rational behind sisu-0.60 removal of generated document output from the main (sisu) source tarball +- configuration files changed to output generated content to sisu-doc tarball directory tree + +remove generated output from main package +2007-09-25 ralph@amissah.com +a72e66db + +move generated output out of main package +2007-09-25 ralph@amissah.com +3282dbf3 + +regen +2007-09-25 ralph@amissah.com +beb6cfdf + +sisu-0.59.1 + md5s +2007-09-25 ralph@amissah.com +aa8f20b5 + +changelog and version updated +2007-09-25 ralph@amissah.com +d549a9a8 (tag: sisu_0.59.1) + +documentation regenerated +2007-09-25 ralph@amissah.com +3d67c3ba + +manual homepage for now +2007-09-25 ralph@amissah.com +be92fd0e + +sisu documentation minor updates +2007-09-25 ralph@amissah.com +2c9d9472 + +document generation Rantifle config fix, and config file path change +2007-09-25 ralph@amissah.com +f63e4194 + +cosmetic: html table of contents; urls html output +2007-09-25 ralph@amissah.com +9208f711 + +documentation regenerated, large diff +2007-09-24 ralph@amissah.com +a6d72d82 + +changelog update +2007-09-24 ralph@amissah.com +a25e6dc1 + +toc, css, distinguish "Document Information (metadata)" link from other links, made smaller +2007-09-24 ralph@amissah.com +57486aeb + +html toc, css, cosmetic fix for rights and prefix in toc +2007-09-24 ralph@amissah.com +7a77fb05 + +html table of contents, cosmetic fix for rights and prefix appearing with toc +2007-09-24 ralph@amissah.com +d345aacb + +changelog update +2007-09-24 ralph@amissah.com +ff9fc025 + +plaintext, space between endnotes where --endnote option selected +2007-09-24 ralph@amissah.com +9ce8e0c7 + +manpage, special character fixes +2007-09-24 ralph@amissah.com +341e92ed + +minor cleaning of documentation source, headers +2007-09-24 ralph@amissah.com +0c414e38 + +documentation, sisu_download.ssi maintenance NOTE: +2007-09-24 ralph@amissah.com +eb0175ca +for version of document insert kept within packge: +- update sisu version numbers to build to be created, and +- keep stripped of package version hashes + (which are only available subsequent to build) + +sisu-0.59.0 + md5s uploaded to sisudoc.org debian repo 2007-09-23 (Accra @ Uncle Jack's) +2007-09-24 ralph@amissah.com +a558d2e6 + +changelog and version updated +2007-09-23 ralph@amissah.com +5fd7eb0a (tag: sisu_0.59.0) + +minor cleaning +2007-09-23 ralph@amissah.com +4ac76c46 + +primarily todo with sisu documentation, changelog reproduced below: +2007-09-23 ralph@amissah.com +50d45c6d +- start documenting sisu using sisu + - sisu markup source files in + data/doc/sisu/sisu_markup_samples/sisu_manual/ + /usr/share/doc/sisu/sisu_markup_samples/sisu_manual/ + - default output [sisu -3] in + data/doc/manuals_generated/sisu_manual/ + /usr/share/doc/manuals_generated/sisu_manual/ + (adds substantially to the size of sisu package!) +- help related edits +- manpage, work on ability to generate manpages, improved +- param, exclude footnote mark count when occurs within code block +- plaintext changes made +- shared_txt, line wrap visited +- file:// link option introduced (in addition to existing https?:// and + ftp://) a bit arbitrarily, diff here, [double check changes in sysenv and + hub] +- minor adjustments + - html url match refinement + - css added tiny_center +- plaintext + - endnotes fix + - footnote adjustment to make more easily distinguishable from substantive + text + - flag -a only [flags -A -e -E dropped] + controlled by modifiers --unix/msdos --footnote/endnote +- defaults, homepage + - renamed homepage (instead of index) implications for modifying skins, + which need likewise to have any homepage entry renamed + - added link to sisu_manual in homepage +- css the css for the default homepage is renamed homepage.css (instead of + index.css) [consider removing this and relying on html.css] +- ruby version < ruby1.9 + - place stop on installation and working with for now [ruby String.strip + broken in ruby 1.9.0 (2007-09-10 patchlevel 0) [i486-linux], + 2007-09-18:38/2] + - debian/control restrict use to ruby > 1.8.4 and ruby < 1.9 +- debian + - debian/control restrict use to ruby > 1.8.4 and ruby < 1.9 + - sisu-doc new sub-package for sisu documentation + debian/control and sisu-doc.install + +sisu-0.58.3 + md5s +2007-09-06 ralph@amissah.com +b98abcba + +changelog and version updated +2007-09-06 ralph@amissah.com +380c2aa4 (tag: sisu_0.58.3) + +cosmetic output fixes related to 'Copy @' default note +2007-09-06 ralph@amissah.com +d11d4c51 + +distinguish param's markup type identifier module from standalone +2007-09-06 ralph@amissah.com +e483f855 + +sisu-0.58.2 + md5s +2007-09-05 ralph@amissah.com +1234561b + +changelog and version updated +2007-09-05 ralph@amissah.com +0020fb24 (tag: sisu_0.58.2) + +code-block exceptions for composite documents sisu-0.58.2 +2007-09-05 ralph@amissah.com +459119df + +sisu-0.58.1 + md5s +2007-09-04 ralph@amissah.com +dd3fb566 + +changelog and version updated +2007-09-04 ralph@amissah.com +8d5cf231 (tag: sisu_0.58.1) + +dal detail, code-block exception to header markup of bold and italics +2007-09-04 ralph@amissah.com +cd0649bf + +comment +2007-09-04 ralph@amissah.com +ea4deaae + +grouped text, pdf indents and size +2007-09-04 ralph@amissah.com +f153bba3 + +code-block exceptions +2007-09-04 ralph@amissah.com +f7a6194c + +sisu-0.58.0 + md5s +2007-09-04 ralph@amissah.com +8d66ef70 + +changelog and version updated +2007-09-03 ralph@amissah.com +70ec44da (tag: sisu_0.58.0) + +changelog note on minor change to debian/control +2007-09-03 ralph@amissah.com +74e49e21 + +sisu-0.58 work towards making it possible to describe sisu and sisu markup within sisu +2007-09-03 ralph@amissah.com +2cd558f6 + +sisu-0.57.0 md5s +2007-08-23 ralph@amissah.com +f3387d9b + +changelog and version updated +2007-08-23 ralph@amissah.com +94eed15f (tag: sisu_0.57.0) + +recognise .ssm filetype in hup, make sisu --identify parse .ssm files without complaining, (check for kockon) +2007-08-23 ralph@amissah.com +9721c3a4 + +version bump to 0.57, minor addition to markup (a header to heading shortcut) and sisurc.yml update for additional search form option (hyperestraier) +2007-08-22 ralph@amissah.com +91f5be6f + - markup addition, headings, shortcut for top level title (and author) + :A~ @title @author (also available for level 2 (or 3) author) [version bump] + - param markup identifier (and identifier) updated to identify markup + addition in 0.57, :A~ @title + - html search form in navigation band/banner and promo, adjustments, + hyperestraier option offered in promo, requires change in sisurc.yml + - sisurc.yml requires changes to make use search form options, [version + bump] sample updated and commented out + +small fixes to manifest and html_scroll, and adjustment to html navigation band use in concordance and manifest +2007-08-21 ralph@amissah.com +7ef4f9a3 +- manifest + - use relative link by default + - in absence of configured url_root (http://) use info on location on local + filesystem (file://) +- html outputs, navigation band/banner adjustment, in concordance and manifest +- html scroll, fix to document information link in table of contents + +0.56.3 md5s +2007-08-21 ralph@amissah.com +5bacb121 + +changelog and version updated +2007-08-19 ralph@amissah.com +a15a426a (tag: sisu_0.56.3) + +sisu-0.56.3 minor update, small fixes +2007-08-19 ralph@amissah.com +a19b7494 + - manifest make file-type descriptions simpler to understand + - copyright restricted to rights tag, unless none, in which case rights tag + gets creator information + - copyright mark picked up in rights if 'Copyright (C)' is used + - tex/pdf url matching semi-colon following url + - endnote heading, apply tag to exclude numbering and segment heading where + there is no segment + - html scroll endnote text minor fix + - initialize site structure, make copy site images default (sisu -CC) + +sisu-0.56.2 + md5s +2007-07-31 ralph@amissah.com +0e5ffbf0 + +changelog and version updated +2007-07-31 ralph@amissah.com +807964d7 + +odf regex matches, 0.56.2 +2007-07-31 ralph@amissah.com +5aa5fb54 + +changelog and version updated +2007-07-31 ralph@amissah.com +b34082b8 + +info related to match change +2007-07-31 ralph@amissah.com +65ddb9b6 (tag: sisu_0.56.1) + +endnote,url regex matching, refinement - still a limitation in mixed use of shortcut +2007-07-31 ralph@amissah.com +c54fc5e3 + +sisu 0.56.0 + md5s +2007-07-31 ralph@amissah.com +9c64fde5 + +changelog and version updated +2007-07-31 ralph@amissah.com +cde0c4c1 (tag: sisu_0.56.0) + +note on new version number +2007-07-31 ralph@amissah.com +380ff9c4 + +rebuild with new version number +2007-07-31 ralph@amissah.com +e7b1b0c6 + +sisu-0.55.7 + md5s +2007-07-31 ralph@amissah.com +6b8574fc + +changelog and version updated +2007-07-31 ralph@amissah.com +6e97528e (tag: sisu_0.55.7) + +changelog date +2007-07-31 ralph@amissah.com +76a97e3b + +man page date minor +2007-07-30 ralph@amissah.com +cdf35004 + +-0 no longer produces output without numbering (ocn), help info updated +2007-07-30 ralph@amissah.com +b5c601bd + +replace tabs with spaces +2007-07-30 ralph@amissah.com +b44d71f6 + +replace unintended tabs with spaces +2007-07-30 ralph@amissah.com +f17c8b94 + +processed number added for urls and remote placement +2007-07-30 ralph@amissah.com +8643893b + +mention need to rebuild database +2007-07-30 ralph@amissah.com +4ab55930 + +increase size of identifier in db, url (identifier) automatically constructed in param +2007-07-30 ralph@amissah.com +3725ec08 + +url matching, semi-colon as possible terminator, in dal match https +2007-07-30 ralph@amissah.com +a99e0de5 + +using postive lookahead for url matching, test if to change +2007-07-28 ralph@amissah.com +31745ffc + +sisu-0.55.6 urgency=medium +md5s +2007-07-28 ralph@amissah.com +262ae3c5 + +changelog and version updated +2007-07-28 ralph@amissah.com +a85bbc6a (tag: sisu_0.55.6) + +url matching, refinement necessary, use of positive lookahead not avoided, correction and rebuilt +2007-07-28 ralph@amissah.com +a407aff4 + +changelog touch +2007-07-28 ralph@amissah.com +97b20df5 + +mention of rake +2007-07-28 ralph@amissah.com +adf89025 + +dir names changed +2007-07-28 ralph@amissah.com +30733c44 + +commit rbuild as common rake rant build file +2007-07-27 ralph@amissah.com +580a36e5 + +maintain rinstall as a common rant (Rantfile), rake (Rakefile) +2007-07-27 ralph@amissah.com +01777d7a + +rant installer adjustments +2007-07-27 ralph@amissah.com +b4946f88 + +multiple url matching refinements, open archive initiative +2007-07-26 ralph@amissah.com +a1fd226e + +changelog, info touch +2007-07-24 ralph@amissah.com +d91b99e2 + +changelog, info touch +2007-07-24 ralph@amissah.com +169af668 + +open archive initiative for metadata harvesting, initial implementation, decide use later -O +2007-07-24 ralph@amissah.com +b0481de5 + +matching of multiple urls within paragraph, fix +2007-07-24 ralph@amissah.com +55d54980 + +note on debian vim dealings +2007-07-23 ralph@amissah.com +93089756 + +vim syntax copy posted to bram, time stamped +2007-07-23 ralph@amissah.com +a6e080d3 + +copyright tidy +2007-07-22 ralph@amissah.com +5167ede3 + +vim directory moved from within addons +2007-07-22 ralph@amissah.com +55132691 + +sisu-0.55.5 + md5s urgency medium, Closes: #434168, vim syntax and ftplugin moved to vim-scripts directory +2007-07-22 ralph@amissah.com +d307da76 + +changelog and version updated +2007-07-22 ralph@amissah.com +5588c376 (tag: sisu_0.55.5) + +comment on moving of vim syntax and ftplugin to /usr/share/vim-scripts +2007-07-22 ralph@amissah.com +546b06cb + +refinement to underscore match for single word in dal +2007-07-22 ralph@amissah.com +566a186f + +changelog update to reflect recent changes +2007-07-22 ralph@amissah.com +379f5183 + +output note on software libre +2007-07-22 ralph@amissah.com +d4a27daa + +dal, matching of underscore so as not to be too greedy +2007-07-22 ralph@amissah.com +43897469 + +vim syntax, matching of url with escape url decoration tag (_url) +2007-07-22 ralph@amissah.com +0bc57c34 + +comment on open standards, qualification +2007-07-21 ralph@amissah.com +91cfdd0b + +init output dir fix, and comment on open standards +2007-07-21 ralph@amissah.com +06275fe7 + +sisu-0.55.4 + md5s +2007-07-20 ralph@amissah.com +8d97ca06 + +changelog and version updated +2007-07-20 ralph@amissah.com +24ab90e5 (tag: sisu_0.55.4) + +output comment on better reliance on standards and being software libre +2007-07-20 ralph@amissah.com +54e91dad + +scope in matches of individual documents where AND is used as text matching criteria +2007-07-16 ralph@amissah.com +1aac76e1 + +cgi_sql_common, generated sample search form, indentation +2007-07-16 ralph@amissah.com +7b15f4d0 + +refactoring, tidy +2007-07-16 ralph@amissah.com +3993be7d + +changelog and version updated +2007-07-14 ralph@amissah.com +4f009ef7 (tag: sisu_0.55.3) + +better name for method in sample search; nedit syntax does not work +2007-07-14 ralph@amissah.com +8b3fd2d1 + +sample search form, previous next arrows +2007-07-14 ralph@amissah.com +4b26d5da + +clean +2007-07-13 ralph@amissah.com +eefb75b9 + +syntax hilighting (gedit), sisu rights and other info in outputs, cgi sample search improvements, see changelog +2007-07-13 ralph@amissah.com +546ea64f + +various fixes: cgi search for, manifest, concordance, diakonos syntax highlghting +2007-07-11 ralph@amissah.com +214c1b72 +- cgi search subtitle and odf link +- manifest and concordance, subtitle and author info +- diakonos syntax highligthing; + +cgi search form worked on and presentation, (an info button added and used) +2007-07-10 ralph@amissah.com +22fab950 +- cgi, generated sample search form, rearranged presentation +- editor syntax highlighting, kate, kwrite visited + +improved url matching, and texpdf tolerance and indentation levels set +2007-07-09 ralph@amissah.com +fdd1489c + +sisu-0.55.2 + md5s +2007-07-07 ralph@amissah.com +70949c60 + +changelog and version updated +2007-07-07 ralph@amissah.com +3a76bfa8 (tag: sisu_0.55.2) + +cgi-sample search form; texinfo fix; xml scaffold; help, man pages etc. visited; screen output, color set to true; docbook entries removed +2007-07-07 ralph@amissah.com +52f8b9c0 +- cgi generated sample search form + - order results on files of the same title, in multiple files (with + different filenames) + - postgresql, character case sensitivity, control, on/off + - tail decoration, gplv3 & sisu info +- texinfo/info (pinfo) module starts to do something vaguely useful again + [not a much used module, testing required] +- print XML rendition of document structure to screen -T +- sisurc.yml default, color set to true + [apologies if this causes anyone any inconvenience, it is configurable in + sisurc.yml] +- help, man pages, README (man(8) related and env, 'sisu -V') +- docbook entries removed for the present time +- sisu-install (install ruby rant script renamed) and permissions set to + executable + +0.55.1 sync +2007-07-04 ralph@amissah.com +765c40e5 + +sisu-0.55.1 + md5s +2007-07-02 ralph@amissah.com +8b75f58a + +version yml ! +2007-07-02 ralph@amissah.com +c20ebc52 (tag: sisu_0.55.1) + +version.yml fix and changelog update +2007-07-02 ralph@amissah.com +aecab590 + +odf problem where project name not included in conf dir +2007-07-02 ralph@amissah.com +98e238d8 + +- dal, auto-numbering (minor) fix for segments/headings * cosmetic fixes, * screen output of project name * screen output when generating tex pdf * debian documents skins * html indent levels, regular and bulleted text +2007-07-02 ralph@amissah.com +7432be8d + +sisu-0.55.0, gpl3 md5s +2007-07-01 ralph@amissah.com +c2f1de99 + +rant sisu installer +2007-07-01 ralph@amissah.com +dc57a4e6 (tag: sisu_0.55.0) + +Rantfile header info +2007-07-01 ralph@amissah.com +35f42b01 + +additions, gpl text and images +2007-07-01 ralph@amissah.com +e7ae14fb + +primarily gpl3 changes, license changed, license included, images added +2007-07-01 ralph@amissah.com +074d3109 +skins cleaned a bit and output info on sisu modified, esp. in html +html no link to concordance if generated on document above word count 260k +odf url match bug fix +dal text block fix for dealing with url to be followed by
+minor cosmetic stuff + +minor cleaning of rant file +2007-06-25 ralph@amissah.com +6d4d5978 + +sisu-0.54.1 + md5s +2007-06-15 ralph.amissah@gmail.com +130aca11 + +cgi search script fix, related to highlighting matches, changelog update, rest removal of hanging whitespace +2007-06-15 ralph.amissah@gmail.com +6be61200 (tag: sisu_0.54.1) + +sisu-0.54.0 (minor additions to syntax, indent range extended) +2007-06-14 ralph.amissah@gmail.com +4c11eebf (tag: sisu_0.54.0) +- indent levels (1-9) added [previously two levels] done for plaintext, html, + xml, odf, latex/pdf [minor syntax addition (_3 - _9), version number + change] +- bullet indent levels (1-9) added [previously two levels] done for + plaintext, html, odf, latex/pdf [minor syntax addition (_3* - _9*), version + number change] +- url decoration, open close, default angle brackets +- fixes, some line-breaking for plaintext (and text groups for) odf and xml +- css, modifications for extended indents in html and xml [sisu -CC (for + update)] +- vim syntax highlighter updated to take account of extended indent range +- rant installer minor changes for future ruby +- conversion script in data/sisu/conf/convert/sisu_convert + +0.53.0, pre-build, see changelog, library naming changed for scm, placed under v0 (instead of 0.53) +2007-06-02 ralph.amissah@gmail.com +26767cc8 (tag: upstream/0.53.0, tag: sisu_0.53.0) + +restrict use to ruby1.8 branch, i.e. < 1.9 +2007-05-24 ralph.amissah@gmail.com +d1221f43 + +restrict use to ruby1.8, plus some minor housekeeping changes file exist? instead of exists? +2007-05-23 ralph.amissah@gmail.com +c94f5919 + +sisu-0.52.7 + md5s +2007-05-22 ralph.amissah@gmail.com +49840705 + +Imported upstream version 0.52.7 +2007-05-22 ralph.amissah@gmail.com +65477054 (tag: upstream/0.52.7, tag: sisu_0.52.7) diff --git a/lib/sisu/sisu_thor_lib.rb b/lib/sisu/sisu_thor_lib.rb index 3212e923..80ad6fe2 100644 --- a/lib/sisu/sisu_thor_lib.rb +++ b/lib/sisu/sisu_thor_lib.rb @@ -1,3 +1,55 @@ +# encoding: utf-8 +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sisu build +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Po4a_Actions require_relative 'utils_response' # utils_response.rb include SiSU_Response diff --git a/nix/pkglst/packages.nix b/nix/pkglst/packages.nix new file mode 100644 index 00000000..1c623afc --- /dev/null +++ b/nix/pkglst/packages.nix @@ -0,0 +1,13 @@ +{ pkgs ? import {} }: +with pkgs; [ + + ruby_2_7 + rubyPackages_2_7.rake + rubyPackages_2_7.sqlite3 + rubyPackages_2_7.thor + sqlite + unzip + xz + zip + #texlive-combined-full +] diff --git a/nix/pkglst/packages_rauby_2_6.nix b/nix/pkglst/packages_rauby_2_6.nix new file mode 100644 index 00000000..1c623afc --- /dev/null +++ b/nix/pkglst/packages_rauby_2_6.nix @@ -0,0 +1,13 @@ +{ pkgs ? import {} }: +with pkgs; [ + + ruby_2_7 + rubyPackages_2_7.rake + rubyPackages_2_7.sqlite3 + rubyPackages_2_7.thor + sqlite + unzip + xz + zip + #texlive-combined-full +] diff --git a/nix/pkglst/packages_rauby_2_7.nix b/nix/pkglst/packages_rauby_2_7.nix new file mode 100644 index 00000000..1c623afc --- /dev/null +++ b/nix/pkglst/packages_rauby_2_7.nix @@ -0,0 +1,13 @@ +{ pkgs ? import {} }: +with pkgs; [ + + ruby_2_7 + rubyPackages_2_7.rake + rubyPackages_2_7.sqlite3 + rubyPackages_2_7.thor + sqlite + unzip + xz + zip + #texlive-combined-full +] diff --git a/org/sisu_build.org b/org/sisu_build.org new file mode 100644 index 00000000..0380a5ee --- /dev/null +++ b/org/sisu_build.org @@ -0,0 +1,6000 @@ +-*- mode: org -*- +#+TITLE: SiSU +#+DESCRIPTION: sisu build +#+FILETAGS: :sisu:build: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2020 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* sisu git CHANGELOG TODO +** git used TODO + +#+BEGIN_SRC sh +CHL="data/doc/sisu/CHANGELOG" +git log --pretty=format:'-_-%+s %+as %ae%+h%d%+b' --no-merges \ +| sed "/^\\s*$/d" | sed "s/^\([ ]\)*\*/\1-/" | sed "s/ \+$//" | sed "s/^-_-$//" \ +> ${CHL} +#+END_SRC + +** alt + +#+BEGIN_SRC sh +CHL="data/doc/sisu/CHANGELOG" +git log --pretty=format:"-_-_%+s %+as %ae%+h%d%+b" --no-merges \ +> ${CHL} && sed -i '/^$/d; s/^\([ ]\)*\*/\1-/; s/ \+$//; s/^-_-_//' ${CHL} +#+END_SRC + +** +considered+ + +#+BEGIN_SRC sh +LOG_0="changelog_0_" +git log --decorate --sparse --date=short --no-merges --abbrev-commit --format=medium \ +> ${LOG_0} && sed -i 's/^[ ]\+$//; /^$/d' ${LOG_0} +#+END_SRC + +#+BEGIN_SRC sh +LOG_1="changelog_1_" +git log --pretty=format:"%h %as - %s%d <%ae> %+b" --no-merges \ +> ${LOG_1} && sed -i '/^$/d; s/^\([ ]\)*\*/\1-/; s/ \+$//' ${LOG_1} +#+END_SRC + +#+BEGIN_SRC sh +LOG_2="data/doc/sisu/CHANGELOG_1_" +git log --pretty=format:"%h %ad - %s%d [%an]" --graph --date=short --no-merges > ${LOG_2} +#+END_SRC + +* sisu version TODO + +#+BEGIN_SRC ruby :tangle ../setup/sisu_version.rb +#% constants +module SiSUversion + SiSU_version = '7.2.1' +end +module Dev + GPGpubKey = '1BB4B289' +end +#+END_SRC + +* +makefile+ :makefile: + +#+BEGIN_SRC makefile :NO-tangle ../makefile +#+END_SRC + +* qi (quick install) +** bin + +#+BEGIN_SRC ruby :tangle ../qi :tangle-mode (identity #o755) :shebang #!/usr/bin/env ruby +=begin + +- Description: + +- Homepage: + +- Download: + +- Copyright: (C) 2015, 2020 Ralph Amissah + +- License: + +- Ralph Amissah + +=end +#% manual settings, edit/update as required (note current default settings are obtained from sisu version yml file) +begin + require 'thor' +rescue LoadError + puts 'thor (package ruby-thor) not found' +end +begin + require './setup/sisu_version' # ./setup/sisu_version.rb + include SiSUversion +rescue LoadError + puts 'this does not appear to be a SiSU development directory' + exit +end +require_relative 'setup/qi_libs' # setup/qi_libs.rb +require 'find' +require 'fileutils' + include FileUtils +require 'pathname' +require 'rbconfig.rb' +require 'yaml' +module SiSUconf + class Configure < Thor + class_option :verbose, :type => :boolean + desc 'setup --all --bin --lib --conf --data --alt --dryrun', + 'setup sisu' + options \ + :all => :boolean, + :bin => :boolean, + :lib => :boolean, + :conf => :boolean, + :data => :boolean, + :share => :boolean, + :man => :boolean, + :vim => :boolean, + :alt => :boolean, + :dryrun => :boolean, + :is => :boolean + def setup + unless options.length >= 1 \ + and not (options[:bin] \ + or options[:lib] \ + or options[:conf] \ + or options[:data] \ + or options[:share] \ + or options[:man] \ + or options[:vim]) + puts 'setup --all --bin --lib --conf --data --share --man --vim' + end + act=(options[:dryrun]) ? (:dryrun) : (:action) + if options[:is] + puts Version_info.version_number_info_stable + end + if not options[:alt] + if options[:all] \ + or options[:bin] + exclude_files=['sisugem'] + Install.setup_find_create( + 'bin', + Project_details.dir.bin, + exclude_files, + act + ) if File.directory?('bin') + end + if options[:all] \ + or options[:lib] + Install.setup_find_create( + 'lib', + Project_details.dir.lib, + act + ) if File.directory?('lib') + end + if options[:all] \ + or options[:conf] + Install.setup_find_create( + 'conf', + Project_details.dir.conf, + act + ) if File.directory?('conf') + end + if options[:all] \ + or options[:data] + Install.setup_find_create( + 'data', + Project_details.dir.data, + act + ) if File.directory?('data') + end + if options[:all] \ + or options[:share] + Install.setup_find_create( + 'data/sisu', + Project_details.dir.share, + act + ) if File.directory?('data/sisu') + end + if options[:all] \ + or options[:man] + Install.setup_find_create( + 'man', + Project_details.dir.man, + act + ) if File.directory?('man') + end + if options[:all] \ + or options[:vim] + Install.setup_find_create( + 'data/vim', + Project_details.dir.vim, + act + ) if File.directory?('data/vim') + end + else + if options[:all] \ + or options[:bin] + Install.setup_find_cp_r( + 'bin', + Project_details.dir.bin, + act + ) if File.directory?('bin') + end + if options[:all] \ + or options[:bin] + Install.setup_find_cp_r( + 'lib', + Project_details.dir.lib, + act + ) if File.directory?('lib') + end + if options[:all] \ + or options[:conf] + Install.setup_find_cp_r( + 'conf', + Project_details.dir.conf, + act + ) if File.directory?('conf') + end + if options[:all] \ + or options[:data] + Install.setup_find_cp_r( + 'data', + Project_details.dir.data, + act + ) if File.directory?('data') + end + if options[:all] \ + or options[:share] + Install.setup_find_cp_r( + 'data/sisu', + Project_details.dir.share, + act + ) if File.directory?('data/sisu') # + end + if options[:all] \ + or options[:man] + Install.setup_find_cp_r( + 'man', + Project_details.dir.man, + act + ) if File.directory?('man') + end + #if options[:all] \ + #or options[:vim] + # Install.setup_find_cp_r('data/vim',"#{Project_details.dir.data}/vim") \ + # if File.directory?('data/vim') + #end + end + end + desc 'pkg', + 'package maintenance tasks, ' \ + + 'of no general interest ' \ + + '(maintainer specific for package maintainer\'s convenience)' + options \ + :open_version=> :boolean, + :version_and_tag_for_release=> :boolean, + :tip => :boolean, + :is => :boolean + def pkg + if options[:is] + puts Version_info.version_number_info_stable + end + if options[:tip] + Package.sequence + end + if options[:open_version] + Version_info::Update.update_documentation + Version_info::Update.update_stable(:pre_release) + Version_info::Update.update_pkgbuild_stable(:pre_release) + Version_info::Update.changelog_header_stable_pre_release + Version_info::Update.changelog_header_commit(:pre_release) + end + if options[:version_and_tag_for_release] + Version_info::Update.update_documentation + Version_info::Update.update_stable(:release) + Version_info::Update.update_pkgbuild_stable(:release) + Version_info::Update.changelog_header_stable + Version_info::Update.changelog_header_commit_tag_upstream(:release) + end + if options.length == 0 + system("#{$called_as} help pkg") + system("#{$called_as} pkg --tip") + end + end + desc 'gem --create --build --install', + 'gem create build and install' + options \ + :create => :boolean, + :build => :boolean, + :install => :boolean, + :git_version_number => :boolean, + :is => :boolean + def gem + if options[:is] + puts Version_info.version_number_info_stable + end + if options[:create] + version=(options[:git_version_number]) \ + ? :version_git + : :version_standard + Gemspecs::Current.create_stable(version) + puts 'created gemspec' \ + if options[:verbose] + end + if options[:build] + Gemspecs::Current.build_stable + puts 'built gem' \ + if options[:verbose] + end + if options[:install] + version=(options[:git_version_number]) \ + ? :version_git + : :version_standard + Gemspecs::Current.install_stable(version) + puts 'installed gem, version: stable' \ + if options[:verbose] + end + unless options.length > 0 + system("#{$called_as} help gem") + end + end + end +end +begin + $called_as,$argv=$0,$* + SiSUconf::Configure.start(ARGV) +rescue +end +__END__ +#+END_SRC + +** qi_lib + +#+BEGIN_SRC ruby :tangle ../setup/qi_libs.rb +require_relative 'sisu_version' +module Project_details + include SiSUversion + def self.name + 'SiSU' + end + def self.summary + 'documents - structuring, publishing in multiple formats & search' + end + def self.description + 'documents - structuring, publishing in multiple formats & search' + end + def self.homepage + 'http://www.sisudoc.org' + end + def self.thor + "ruby-thor files for the installation/setup of #{name}" + end + def self.platform_notice + "[#{name} is for Linux/Unix Platforms]" + end + def self.env + RbConfig::CONFIG + end + def self.host + env['host'] + end + def self.dir + def self.proj + Project_details.name.downcase + end + def self.arch + env['archdir'] + end + def self.sitearch + env['sitearchdir'] + end + def self.bin + env['bindir'] + end + def self.lib + env['sitelibdir'] + end + def self.data + env['datadir'] + end + def self.share + "#{env['datadir']}/sisu" + end + def self.conf + env['sysconfdir'] + end + def self.man + env['mandir'] + end + def self.vim + "#{env['datadir']}/sisu/vim" + end + def self.out + "#{env['localstatedir']}/#{proj}" + end + def self.rubylib + env['LIBRUBYARG_SHARED'] + end + def self.pwd + Dir.pwd #ENV['PWD'] + end + self + end + def self.version + stamp={} + v="#{dir.pwd}/data/sisu/version.yml" + if File.exist?(v) + stamp=YAML::load(File::open(v)) + stamp[:version] + else '' + end + end + def self.system_info + ##{Project_details.platform_notice} + puts <<-WOK + Host + host: #{Project_details.host} + arch: #{Project_details.dir.arch} + sitearch: #{Project_details.dir.sitearch} + Directories for installation + bin: #{Project_details.dir.bin} + lib (site-ruby): #{Project_details.dir.lib}/#{Project_details.dir.proj}/v* + conf [etc]: #{Project_details.dir.conf}/#{Project_details.dir.proj} + data (odf, shared images): #{Project_details.dir.share} + vim (vim syntax, highlighting, ftplugin): #{Project_details.dir.data}/sisu/vim + data (README, version_manifest): #{Project_details.dir.data}/doc/#{Project_details.dir.proj} + man (manual pages): #{Project_details.dir.man} + output: #{Project_details.dir.out} + processing: #{Project_details.dir.out}/processing + www: #{Project_details.dir.out}/www + rubylib: #{Project_details.dir.rubylib} + + WOK + end + def self.gem_env + system("gem env") + end +end +module Utils + def self.answer?(ask) + resp='redo' + print ask + " ['yes', 'no' or 'quit']: " + resp=File.new('/dev/tty').gets.strip #resp=gets.strip + if resp == 'yes' then true + elsif resp == 'no' then false + elsif resp =~/^quit|exit$/ then exit + else puts "[please type: 'yes', 'no' or 'quit']" + answer?(ask) + end + end + def self.default_notice # local help not implemented description incorrect + ans= %{#{Project_details.thor} + Information on alternative actions is available using: + [if ruby-thor is installed:] + "#{$called_as} help") + Default action selected - "install #{Project_details.name}" proceed? } + resp=answer?(ans) + exit unless resp + end + def self.chmod_file(place) + if place =~/\/bin/; File.chmod(0755,place) + else File.chmod(0644,place) + end + end + def self.chmod_util(place) + if place =~/\/bin/; chmod(0755,place) + else chmod(0644,place) + end + end + def self.system_date + `date "+%Y-%m-%d"`.strip + end + def self.system_date_stamp + `date "+%Yw%W/%u"`.strip + end + def self.program_found?(prog) + found=`which #{prog}` #`whereis #{make}` + (found =~/bin\/#{prog}\b/) ? :true : :false + end +end +module Install + #%% using a directory and its mapping + def self.setup_find_create(dir_get,dir_put,exclude_files=['\*'],act) #primary, + begin + Find.find("#{Project_details.dir.pwd}/#{dir_get}") do |f| + stub=f.scan(/#{Project_details.dir.pwd}\/#{dir_get}\/(\S+)/).join + place="#{dir_put}/#{stub}" + action=case + when File.file?(f) + unless f =~/#{exclude_files.join("|")}/ + unless act==:dryrun + cp(f,place) + Utils.chmod_file(place) + end + "-> #{dir_put}/" + end + when File.directory?(f) + if not FileTest.directory?(place) \ + and not act==:dryrun + FileUtils.mkpath(place) + end + "./#{dir_get}/" + else '?' + end + puts "#{action}#{stub}" + end + rescue + puts "\n\n[ are you root? required for install ]" + end + end + def self.setup_find_cp_r(dir_get,dir_put,act) #secondary, using recursive copy + begin + Find.find("#{Project_details.dir.pwd}/#{dir_get}") do |f| + stub=f.scan(/#{Project_details.dir.pwd}\/#{dir_get}\/(\S+)/).join + place="#{dir_put}/#{stub}" + case + when File.file?(f) + unless act==:dryrun + cp_r(f,place) + Utils.chmod_util(place) + else + puts "--> #{place}" + end + when File.directory?(f) + unless FileTest.directory?(place) + unless act==:dryrun + mkdir(place) + else + puts "mkdir -p #{place}" + end + end + end + end + rescue + puts "\n\n[ are you root? required for install ]" + end + end +end +module Version_info + def self.contents(vi,rel=:release) + release=rel ==:pre_release \ + ? '_pre_rel' + : '' + <<-WOK +--- +:project: #{vi[:project]} +:version: #{vi[:version]}#{release} +:date_stamp: #{vi[:date_stamp]} +:date: "#{vi[:date]}" + WOK + end + def self.git_version_extract + if FileTest.file?('/usr/bin/git') + x=`git describe --long --tags 2>&1`.strip. + gsub(/^[a-z_-]*([0-9.]+)/,'\1'). + gsub(/([^-]*-g)/,'r\1'). + gsub(/-/,'.') + x=(x=~/^[0-9]+\.[0-9]+\.[0-9]+\.r[0-9]+\.g[0-9a-f]{7}/) \ + ? x + : nil + else nil + end + end + def self.version_number(vi) + vi[:version] + end + def self.version_number_use(vi) + (git_version_extract.nil?) \ + ? (vi[:version]) + : git_version_extract + end + def self.version_number_info(vi) + (Version_info.version_number_use(vi) != vi[:version_number]) \ + ? (%{#{vi[:version_number]} from git #{Version_info.version_number_use(vi)}}) + : vi[:version_number] + end + def self.version_number_info_stable + vi=Version_info::Current.setting_stable + (Version_info.version_number_use(vi) != vi[:version_number]) \ + ? (%{#{vi[:version_number]} from git #{Version_info.version_number_use(vi)}}) + : vi[:version_number] + end + module Current + def self.yml_file_path + 'data/sisu/version.yml' + end + def self.settings(file) + v="#{Dir.pwd}/#{file}" + if File.exist?(v) + YAML::load(File::open(v)) + else '' + end + end + def self.changelog_file_stable + 'data/doc/sisu/CHANGELOG_v7' + end + def self.file_stable + yml_file_path + end + def self.setting_stable + hsh=settings(file_stable) + hsh[:version_number]=/([0-9]+\.[0-9]+\.[0-9]+)/. + match(hsh[:version])[1] + hsh + end + def self.version_number + Version_info::Current.setting_stable[:version_number] + end + def self.content_stable + Version_info.contents(setting_stable) + end + end + module Next + def self.settings(v) + { + project: "#{Project_details.name}", + version: "#{v}", + date: "#{Utils.system_date}", + date_stamp: "#{Utils.system_date_stamp}", + } + end + def self.setting_stable + settings(SiSU_version) + end + def self.content_stable(rel) + Version_info.contents(setting_stable,rel) + end + end + module Update + def self.version_number(vi) + /([0-9]+\.[0-9]+\.[0-9]+)/.match(vi[:version])[1] + end + def self.version_number_stable + vi=Version_info::Current.setting_stable + /([0-9]+\.[0-9]+\.[0-9]+)/.match(vi[:version])[1] + end + def self.version_info_update_commit(filename,vi_hash_current,vi_content_current,vi_hash_next,vi_content_next) + ans=%{update #{Project_details.name.downcase} version info replacing: + #{vi_hash_current.sort} +with: + #{vi_hash_next.sort} + +#{vi_content_current} +becoming: +#{vi_content_next} +proceed? } + resp=Utils.answer?(ans) + if resp + fn="#{Dir.pwd}/#{filename}" + if File.writable?("#{Dir.pwd}/.") + file_version=File.new(fn,'w+') + file_version << vi_content_next + file_version.close + else + puts %{*WARN* is the file or directory writable? could not create #{filename}} + end + end + end + def self.update_documentation + fn="#{Dir.pwd}/data/doc/sisu/markup-samples/manual/_sisu/sisu_document_make" + if File.file?(fn) \ + and File.writable?(fn) + ver_no_stable=Version_info::Current.setting_stable[:version_number] + debian_stable='Jessie' + debian_testing='Stretch' + sisu_doc_make = IO.readlines(fn) + sisu_doc_make_next=sisu_doc_make.each.map do |line| + line=line.gsub(/(\/$\{sisu_stable\}\/,)'[0-9]+\.[0-9]+\.[0-9]+'/,"\\1'#{ver_no_stable}'"). + gsub(/(\/$\{debian_stable\}\/,)'\*\{[A-Z][a-z]+\}\*'/, + "\\1'*{#{debian_stable}}*'"). + gsub(/(\/$\{debian_testing\}\/,)'\*\{[A-Z][a-z]+\}\*'/, + "\\1'*{#{debian_testing}}*'") + line + end + if sisu_doc_make_next.length == sisu_doc_make.length + sisu_doc_make_file=File.new(fn,'w+') + sisu_doc_make_next.flatten.each do |line| + sisu_doc_make_file << line + end + sisu_doc_make_file.close + else puts "expected changelog arrays to have same length, in: #{pkgbuild.length}, out: #{pkgbuild_next.length}" + end + end + end + def self.update_stable(rel=:release) + version_info_update_commit( + Version_info::Current.file_stable, + Version_info::Current.setting_stable, + Version_info::Current.content_stable, + Version_info::Next.setting_stable, + Version_info::Next.content_stable(rel), + ) + end + def self.update_pkgbuild_stable(rel=:release) + vn=version_number_stable + ans=%{update PKGBUILD version info: +pkgver=#{vn} + +proceed? } + resp=Utils.answer?(ans) + if resp + filename='PKGBUILD_tar_xz' + fn="#{Dir.pwd}/setup/#{filename}" + if File.writable?(fn) + pkgbuild = IO.readlines(fn) + pkgbuild_next=pkgbuild.each.map do |line| + if line =~/^\s*pkgver=/ + line=line.gsub(/^\s*(pkgver=)[0-9.]+/,"\\1#{vn}") + else line + end + end + if pkgbuild.length == pkgbuild_next.length + pkgbuild_file=File.new(fn,'w+') + pkgbuild_next.flatten.each do |line| + pkgbuild_file << line + end + pkgbuild_file.close + else puts "expected changelog arrays to have same length, in: #{pkgbuild.length}, out: #{pkgbuild_next.length}" + end + end + end + end + def self.changelog_header(vi) + vn=version_number(vi) + <<-WOK +- sisu_#{vn}.orig.tar.xz (#{vi[:date]}:#{vi[:date_stamp].gsub(/20\d\dw/,'')}) + http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_#{vn} + WOK + end + def self.changelog_header_release(filename,ch,vi) + ans=%{update #{Project_details.name.downcase} changelog header, open version: + + #{ch} +proceed? } + resp=Utils.answer?(ans) + if resp + fn="#{Dir.pwd}/#{filename}" + if File.writable?(fn) + changelog_arr_current = IO.readlines(fn) + changelog_arr_next=changelog_arr_current.each.map do |line| + if line =~/^\*\s+sisu_[0-9]+\.[0-9]+\.[0-9]+(?:_pre_rel)?\.orig\.tar\.xz \(Open commit window: [0-9]{4}-[0-9]{2}-[0-9]{2}; Pre-Release\)$/ + "* sisu_#{vi[:version]}.orig.tar.xz " \ + + "(#{vi[:date]}:#{vi[:date_stamp].gsub(/20\d\dw/,'')})\n" + else line + end + end + if changelog_arr_current.length == changelog_arr_next.length + changelog_file=File.new(fn,'w+') + changelog_arr_next.flatten.each do |line| + changelog_file << line + end + changelog_file.close + else puts "expected changelog arrays to have same length, in: #{changelog_arr_current.length}, out: #{changelog_arr_next.length}" + end + else + puts %{*WARN* is the file or directory writable? could not create #{filename}} + end + end + end + def self.changelog_header_stable_filename + Version_info::Current.changelog_file_stable + end + def self.changelog_header_stable + ch=changelog_header(Version_info::Current.setting_stable) + changelog_header_release( + changelog_header_stable_filename, + ch, + Version_info::Current.setting_stable + ) + end + def self.changelog_header_pre_release(vi) + vn=version_number(vi) + <<-WOK +- sisu_#{vn}.orig.tar.xz (Open commit window: #{vi[:date]}; Pre-Release) + http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_#{vn} + WOK + end + def self.changelog_header_pre_release_write(filename,ch) + ans=%{update #{Project_details.name.downcase} changelog header, open version: + + #{ch} +proceed? } + resp=Utils.answer?(ans) + if resp + fn="#{Dir.pwd}/#{filename}" + if File.writable?(fn) + changelog_arr_current = IO.readlines(fn) + changelog_arr_next=changelog_arr_current.each.map do |line| + if line =~/^--- HEAD ---$/ + line << ("\n" + ch) + else line + end + end + if changelog_arr_current.length == changelog_arr_next.length + changelog_file=File.new(fn,'w+') + changelog_arr_next.flatten.each do |line| + changelog_file << line + end + changelog_file.close + else puts "expected changelog arrays to have same length, in: #{changelog_arr_current.length}, out: #{changelog_arr_next.length}" + end + else + puts %{*WARN* is the file or directory writable? could not create #{filename}} + end + end + end + def self.changelog_header_stable_pre_release + ch=changelog_header_pre_release(Version_info::Current.setting_stable) + changelog_header_pre_release_write(changelog_header_stable_filename,ch) + end + def self.commit_changelog(rel=:release,msg) + system(%{ + git commit -a -m"#{msg}" + git commit --amend + }) + end + def self.tag_upstream + system(%{ + git tag -af sisu_#{SiSU_version} -m"SiSU #{SiSU_version}" + }) + end + def self.changelog_header_commit(rel=:release) + msg=(rel == :pre_release) \ + ? "version & changelog, open commit window" + : "version & changelog, tag for release" + ans=%{commit #{msg}:\n\nproceed? } + resp=Utils.answer?(ans) + if resp + commit_changelog(rel,msg) + end + end + def self.changelog_header_commit_tag_upstream(rel=:release) + msg=(rel == :pre_release) \ + ? "version & changelog, open commit window" + : "version & changelog, tag for release" + ans=%{commit #{msg}:\n\nproceed? } + resp=Utils.answer?(ans) + if resp + commit_changelog(rel,msg) + tag_upstream + end + end + end + self +end +module GitExtractTaggedVersionBuild + def upstream + system(%{ git checkout upstream }) + end + def self.git_tagged_versions(tag=nil) + if tag + v=if tag =~/sisu_[0-9](?:\.[0-9]){0,2}$/ then tag + elsif tag =~/^[0-9](?:\.[0-9]){0,2}$/ then 'sisu_' + tag + else 'sisu_' + end + system(%{ git tag -l | ag --nocolor '^#{v}' }) + end + end + def self.git_checkout_and_build_and_install_version(tag,options) + begin + ver=if tag =~/sisu_[0-9]\.[0-9]+\.[0-9]+/ then tag + elsif tag =~/^[0-9]\.[0-9]+\.[0-9]+/ then 'sisu_' + tag + else branch + end + create=options[:create] ? '--create ' : '' + build=options[:build] ? '--build ' : '' + install=options[:install] ? '--install ' : '' + commands =<<-WOK + git checkout #{ver} && + #{$called_as} gem #{ver} #{create}#{build}#{install}; + WOK + puts commands + begin + system(commands) + rescue + end + rescue + ensure + system(%{ + git checkout upstream + }) + end + end +end +module Gemspecs + def self.info(vi) + puts <<-WOK +-- +name: #{vi[:project].downcase} +version: #{vi[:version_number]} +date: #{vi[:date]} +summary: #{vi[:project]} + WOK + end + def self.contents(vi) + <<-WOK +Gem::Specification.new do |s| + s.name = '#{vi[:project].downcase}' + s.version = '#{vi[:version_number]}' + s.date = '#{vi[:date]}' + s.summary = '#{Project_details.summary} (linux calls)' + s.description = '#{Project_details.description} [#{Version_info.version_number_info(vi)}] (linux calls & without external dependencies)' + s.homepage = '#{Project_details.homepage}' + s.authors = ["Ralph Amissah"] + s.email = 'ralph.amissah@gmail.com' + s.license = 'GPL-3.0-or-later' + s.files = Dir['lib/#{Project_details.name.downcase}.rb'] + + Dir['lib/#{Project_details.name.downcase}/*.rb'] + + Dir['data/#{Project_details.name.downcase}/version.yml'] + + Dir['data/#{Project_details.name.downcase}/image/*'] + + Dir['bin/#{Project_details.name.downcase}gem'] + + Dir['bin/#{Project_details.name.downcase}'] + s.executables << '#{Project_details.name.downcase}gem' << '#{Project_details.name.downcase}' + s.has_rdoc = false +end + WOK + end + def self.contents_git(vi) + <<-WOK +Gem::Specification.new do |s| + s.name = '#{vi[:project].downcase}' + s.version = '#{Version_info.version_number_use(vi)}' + s.date = '#{vi[:date]}' + s.summary = '#{Project_details.summary} (linux calls)' + s.description = '#{Project_details.description} [#{Version_info.version_number_info(vi)}] (linux calls & without external dependencies)' + s.homepage = '#{Project_details.homepage}' + s.authors = ["Ralph Amissah"] + s.email = 'ralph.amissah@gmail.com' + s.license = 'GPL-3.0-or-later' + s.files = `git ls-files -z lib`.split("\x0") + + Dir['data/#{Project_details.name.downcase}/version.yml'] + + Dir['data/#{Project_details.name.downcase}/image/*'] + + Dir['bin/#{Project_details.name.downcase}gem'] + + Dir['bin/#{Project_details.name.downcase}'] + s.executables << '#{Project_details.name.downcase}gem' << '#{Project_details.name.downcase}' + s.has_rdoc = false +end + WOK + end + def self.create(filename,gemspec) + fn="#{Dir.pwd}/#{filename}.gemspec" + if File.writable?("#{Dir.pwd}/.") + file_sisu_gemspec=File.new(fn,'w+') + file_sisu_gemspec << gemspec + file_sisu_gemspec.close + else + puts %{*WARN* is the file or directory writable? could not create #{filename}} + end + end + def self.build(fn) + system(%{ gem build #{fn}.gemspec }) + end + def self.install(vn) + system(%{ + sudo gem install --local --no-document --verbose sisu-#{vn}.gem + }) + end + module Current + def self.filename + Project_details.name.downcase + end + def self.filename_stable + Project_details.name.downcase \ + + '-' \ + + Version_info::Current.setting_stable[:version_number] + end + def self.info_stable + Gemspecs.info(Version_info::Current.setting_stable) + end + def self.current_stable + Gemspecs.contents( + Version_info::Current.setting_stable, + ) + end + def self.current_git_version + Gemspecs.contents_git( + Version_info::Current.setting_stable, + ) + end + def self.create_stable(version=:version_standard) + (version==:version_git) \ + ? (Gemspecs.create(filename,current_git_version)) + : (Gemspecs.create(filename,current_stable)) + end + def self.build_stable + Gemspecs.build(filename) + end + def self.install_stable(version=:version_standard) + vi=Version_info::Current.setting_stable + vn=((version==:version_git) \ + && (Version_info.version_number_use(vi) != vi[:version_number])) \ + ? (Version_info.version_number_use(vi)) + : (vi[:version_number]) + Gemspecs.install(vn) + end + end +end +module Package + def self.sequence + puts <<-WOK + --open-version # update package version + --version-and-tag-for-release # git tags upstream version + # not included: + # --merge # git merge upstream tag into debian/sid + # --dch # dch create and edit + # --dch-commit # dch commit + # --build # git-buildpackage + # --git_push # git push changes + # --dput # dput package + # --reprepro_update # reprepro update + # --reprepro_push # reprepro rsync changes + WOK + end +end +__END__ +#+END_SRC + +* sisu thor lib + +#+BEGIN_SRC ruby :tangle ../lib/sisu/sisu_thor_lib.rb +# <> +module SiSU_Po4a_Actions + require_relative 'utils_response' # utils_response.rb + include SiSU_Response + @@source=@@targets=nil + def project_details + def name + 'SiSU translations under po4a management' + end + def name_warning + <<-WOK +#{name} + +WARNING all sisu markup files (.ssm, .sst, .ssi) in languages other than #{language.source_language_selected} +are managed by po4a, through translations of the source language to other languages. + +#{language.info_on_selection} + WOK + end + def setup_project + "Setup file for placing #{name}" + end + self + end + def notice + def warn_and_proceed? + '*WARNING* this software module creates, destroys, overwrites directories' + "\n" \ + + '*WARNING*: Use this Software at your own risk!' + end + def default(selection=nil) + selections=:strict #selections=:short + ans=if selection + case selection + when selection.is_a?(String) + selections=:strict + <<-WOK + #{project_details.setup_project} + Default action selected - "#{selection} #{project_details.name}" +#{warn_and_proceed?} + WOK + when :make + selections=:strict + <<-WOK + #{project_details.setup_project} + "--#{selection}" selected - #{selection} #{project_details.name} + selected (or configured) languages to be used + source language: #{language.source_language_available_str} + target languages: #{language.translation_languages_selected_that_are_available.inspect} + + WARNING: this action assumes (and places) this project is under po4a + (translation) management. It will create sub-directories for the + selected (or configured) target languages: + #{language.translation_languages_selected_that_are_available.inspect} + & the po4a configuration file: #{filename.po4a_cfg} + in the current directory: + #{Dir.pwd} + It will populate the sub-directories with translation files created from + the pot and po files found under the corresponding language + sub-directories, (under #{dir.pot}/ & #{dir.po}/). + (OVERWRITING any existing translated .ssm .sst .ssi files + in language subdirectories that are not under po4a management). + + You should backup the current directory: + #{Dir.pwd} + +#{warn_and_proceed?} + WOK + when :clean + selections=:strict + <<-WOK + #{project_details.setup_project} + "--#{selection}" selected - #{selection} #{project_details.name} +#{warn_and_proceed?} + WOK + when :distclean + selections=:strict + <<-WOK + #{project_details.setup_project} + "--#{selection}" selected - #{selection} #{project_details.name} + WARNING: this action assumes (and places) this project is under po4a + (translation) management. It will remove the sub-directories (if they exist): + #{language.possible_translations.inspect} + + #{language.translation_languages_selected_that_are_available.inspect} + & file: #{filename.po4a_cfg} + in the current directory: + #{Dir.pwd} + Note: these sub-directories & the config file #{filename.po4a_cfg} + should be auto-generated from pot and po files if this project translation + is under po4a management. + This query is to give you the chance to make sure you know what you are doing. +#{warn_and_proceed?} + WOK + when :rebuild + selections=:strict + <<-WOK + #{project_details.setup_project} + "--#{selection}" selected - #{selection} #{project_details.name} + WARNING: this action assumes (and places) this project is under po4a + (translation) management. It will destroy/clobber and then create again the + sub-directories: + #{language.translation_languages_selected_that_are_available.inspect} + populating them with translation files created from the pot and po files + found under the corresponding language sub-directories in (#{dir.pot}/ + & #{dir.po}/). + It will also generate the file: #{filename.po4a_cfg} + These actions will be taken in the current directory: + #{Dir.pwd} + This query is to give you the chance to make sure you know what you are doing. +#{warn_and_proceed?} + WOK + else + selections=:strict + <<-WOK + #{project_details.setup_project} + Default action selected - "#{selection} #{project_details.name}" +#{warn_and_proceed?} + WOK + end + else + selections=:strict + <<-WOK + #{project_details.setup_project} + Default action selected - "install and to setup #{project_details.name}" +#{warn_and_proceed?} + WOK + end + exit unless query.answer?(ans) + end + def project_help + puts <<-WOK +#{project_details.name} +#{project_details.setup_project} + +This setup file is primarily to assist with having sisu markup files under po4a +translation management. It assumes that the source language files are placed +under the sub-directory identifying the source language set, which is currently +#{language.source_language_selected} +The files there are used to make the source translation file in the directory #{dir.pot}/ +Which is then used to create files for translation under the directory #{dir.po}/ +in sub-directories bearing the translation languages ISO code. + +The current language translation selection is: #{translation_languages_selected_str} +The languages selected are located in the file: #{filename.languages_src_tgt} + +sisu available language list: #{sisu_languages_available_str} + + WOK + end + self + end + def generate + def readme + system(%{ruby ../../../../../bin/sisu6 --txt -v --no-manifest --dump='../../../../../..' en/README.ssm}) + end + def manpage + system(%{ruby ../../../../../bin/sisu6 --manpage -v --no-manifest --dump='../../../../../../man/man1' en/sisu.ssm}) + end + self + end + def filename + def languages_src_tgt + #'translation_languages' + 'languages_source_and_targets' + end + def po4a_cfg + 'po4a.cfg' + end + self + end + def dir + def pwd + Dir.pwd + end + def po4a_ + 'po4a/' # '' + end + def pot + po4a_ + 'pot' + end + def po + po4a_ + 'po' + end + self + end + def dir_mk(dir) + FileUtils::mkdir_p(dir) unless FileTest.directory?(dir) + end + def po4a_flags + def debug + '-d -v' + end + def normal + '' + end + def quiet + '-q' + end + self + end + def languages_from_file + def language_source + if @@source.is_a?(String) \ + and @@source =~ /w{2,4}/ + else languages_extract_from_file + end + @@source + end + def language_targets + if @@targets.is_a?(Array) \ + and @@targets.length > 0 + else languages_extract_from_file + end + @@targets + end + def languages_extract_from_file + if (@@source.is_a?(String) \ + and @@source =~/\w{2,4}/) \ + and (@@targets.is_a?(Array) \ + and @@targets.length > 0) + else + if FileTest.file?(filename.languages_src_tgt) + puts 'file: "' + filename.languages_src_tgt + '" found and used (unless overridden)' + langs=IO.read(filename.languages_src_tgt, mode: 'r:utf-8').scan(/source:\s+\w+|target:\s+\w.+/) + langs.each do |sel| + case sel + when /source:/ + source=sel.split(/source:\s*|\s+/).join + source=(source =~/\w{2,4}/) ? source : nil + @@source=unless @@source.is_a?(String) \ + and @@source =~/\w{2,4}/ + source + else @@source + end + when /target:/ + @@targets=unless @@targets.is_a?(Array) + sel.split(/targets?:\s*|\s+/) - [''] + else @@targets + end + end + end + else + puts %{(create) missing instruction file: "#{filename.languages_src_tgt}"\n contents e.g.:\n source: en\n target: de fr es ja ru zh\n no po target languages found} + exit + end + end + end + self + end + def language + def source_language_selected(src=nil) + @@source=if not @@source.nil? \ + and @@source.is_a?(String) \ + and @@source =~/\w{2,4}/ + @@source + elsif (src \ + && src.is_a?(String) \ + && src.length > 1) + src + else + src=languages_from_file.language_source + end + end + def translation_languages_selected(targets=nil) #translation_languages + @@targets=if not @@targets.nil? \ + and @@targets.is_a?(Array) \ + and @@targets.length > 0 + @@targets + elsif (targets \ + && targets.is_a?(Array) \ + && targets.length > 0) + targets + else + targets=languages_from_file.language_targets + end + end + def source_language_available + [source_language_selected] & sisu_languages_available + end + def translation_languages_selected_that_are_available + translation_languages_selected & sisu_languages_available + end + def info_on_selection + if translation_languages_selected != translation_languages_selected_that_are_available + <<-WOK +WARNING: language selections mismatch + +The current language translation selection appears to be: #{translation_languages_selected_str} +Of which the following are valid (available) selections: #{translation_languages_selected_that_are_available_str} + +sisu available language list: #{sisu_languages_available_str} + +the following will be used: #{translation_languages_selected_that_are_available_str} +The languages selected are located in the file: #{filename.languages_src_tgt} + WOK + else + <<-WOK +The current language translation selection is: #{translation_languages_selected_str} +The languages selected are located in the file: #{filename.languages_src_tgt} + +sisu available language list: #{sisu_languages_available_str} + WOK + end + end + def sisu_languages_available + $SiSU_Language_Codes.language_list.codes + end + def possible_translations + sisu_languages_available - [source_language_selected] + end + def translation_languages_selected_str + language.translation_languages_selected.join(' ') + end + def source_language_available_str + source_language_available.join + end + def translation_languages_selected_that_are_available_str + language.translation_languages_selected_that_are_available.join(' ') + end + def sisu_languages_available_str + language.sisu_languages_available.join(' ') + end + def posible_translations_str + language.posible_translations.join(' ') + end + self + end + def files_src + def ssm + Dir.glob("#{language.source_language_selected}/*.ssm").sort + end + def sst + Dir.glob("#{language.source_language_selected}/*.sst").sort + end + def ssi + Dir.glob("#{language.source_language_selected}/*.ssi").sort + end + def all + Dir.glob("#{language.source_language_selected}/*{.ssm,.sst,.ssi}").sort + end + self + end + def po4a_cfg_file + File.open("#{Dir.pwd}/#{filename.po4a_cfg}",'w') + end + def po4a_create + def configure #po4a_cfg + po4a_cfg_arr=[] + po4a_cfg_arr \ + << "[po4a_langs] #{language.translation_languages_selected_that_are_available_str}" + po4a_cfg_arr \ + << "[po4a_paths] #{dir.pot}/$master.pot $lang:#{dir.po}/$lang/$master.po" + files_src.ssm.each do |file_src| + file_src_fn=file_src.gsub(/#{language.source_language_selected}\//,'') + po4a_cfg_arr \ + << "[type: text] #{file_src} $lang:$lang/#{file_src_fn}" + end + files_src.sst.each do |file_src| + file_src_fn=file_src.gsub(/#{language.source_language_selected}\//,'') + po4a_cfg_arr \ + << "[type: text] #{file_src} $lang:$lang/#{file_src_fn}" + end + files_src.ssi.each do |file_src| + file_src_fn=file_src.gsub(/#{language.source_language_selected}\//,'') + po4a_cfg_arr \ + << "[type: text] #{file_src} $lang:$lang/#{file_src_fn}" + end + file=po4a_cfg_file + po4a_cfg_arr.each do |txt| + puts txt + file << txt << "\n" + end + file.close + cmd='po4a --keep 0 ' \ + + po4a_flags.normal + ' ' \ + + filename.po4a_cfg + #cmd='po4a --keep 0 --no-backups --package-name ' \ + ,#+ 'sisu-manual' + ' ' \ + ,#+ po4a_flags.normal + ' ' \ + ,#+ filename.po4a_cfg + system(cmd); puts cmd + end + self + end + def project + def make + dir_mk(dir.pot) + language.translation_languages_selected_that_are_available.each do |lang_dir| + dir_lang="#{Dir.pwd}/#{dir.po}/#{lang_dir}" + dir_mk(dir_lang) + end + po4a_create.configure + end + def clean + #rm -f po/*/*.po~ + #rm -rf ../build + FileUtils.rm_f Dir.glob("./#{dir.po}/*/*.po~") + end + def distclean + #rm -f po4a.cfg + #rm -rf $(LANGUAGES) + FileUtils::rm_f(filename.po4a_cfg) + FileUtils::rm_r(language.possible_translations,:force => true) + end + self + end +end +__END__ +#+END_SRC + +* Rake & Rant +** Rake & Rant + +#+BEGIN_SRC ruby :tangle ../setup/rbuild :tangle-mode (identity #o755) :shebang #!/usr/bin/env ruby +=begin + Common Rakefile, Rantfile installer for SiSU + softlink Rakefile and Rantfile to this file + + - Homepage: + - Download: + + Copyright (C) 2007 Ralph Amissah + + - License: LGPL - GNU Lesser General Public License + [same license as Rant provided within the Rant package] + + - Ralph Amissah + + Rake is a Ruby build program by Jim Weirich + - Rake may be downloaded and installed from: + + + Rant is a Ruby build program by Stefan Lang + - Rant may be downloaded and installed from: + + + Notes on use: + [if rake is preferred and installed] + rake -T + [if rant is preferred and installed] + rant -T + + SiSU can also be Setup/Installation using: + * Minero Aoki's setup.rb, provided along with SiSU, or + +=end +#%% produce a makefile suitable for the target platform +#require 'mkmf' +#create_makefile("sisu") +#% manual settings, edit/update as required (note current default settings are obtained from sisu version yml file) +require 'find' +require 'fileutils' +#require 'ftools' +require 'rbconfig.rb' +require 'yaml' +include FileUtils +require_relative 'sisu_version' # sisu_version.rb + include SiSUversion +require_relative 'rbuild_libs' # rbuild_libs.rb + include Project_details + include Utils + include Version_info + include Gemspecs + include GitExtractTaggedVersionBuild +require_relative 'rbuild_help' # rbuild_help.rb + include Help +#% tasks +desc "show rake/rant tasks for sisu install, and sisu gem (create spec, build &) install" +task :default => + [:note_sources,:tasks,:note_installation] #[:default_notice,:setup_base] +desc "Setup/Install #{Project_details.name}" +task :setup_project=> + [:setup_bin_,:setup_lib_,:setup_conf_,:setup_share_,:setup_data_,:setup_man_,:setup_vim_,:src_note] +task :project=> \ + [:setup_project] +desc "Setup/Install #{Project_details.name}" +task :setup=> + [:setup_bin_, :setup_lib_,:setup_conf_,:setup_share_,:setup_data_] #, :help] +desc "Setup/Install #{Project_details.name}: bin, lib and conf (no data)" +task :setup_base=> + [:setup_bin_,:setup_lib_,:setup_conf_,:setup_share_,:setup_man_,:setup_vim_,:note_sources] +task :base=> + [:setup_base] +desc "Setup/Install #{Project_details.name}: bin, lib, conf & data" +task :setup_with_data=> + [:setup_base,:setup_data] +desc "check package version" +task :sisuversion => + [:sisu_version] +task :version => + [:sisu_version] +#desc "set package version" +task :sisuversionset => + [:sisu_version_set,:changelog_headers] +desc "check gemspec info" +task :gem_spec => + [:gemspec_info] +desc "create sisu v_stable gemspec" +task :gem_create_spec_stable => + [:gemspecs_stable_create_default_version] +task :gem5cs => + [:gem_create_spec_stable] +task :gem5createspecs => + [:gemspecs_stable_create_default_version] +desc "create gemspec" +task :gem_create_spec => + [:gemspecs_create_default_version] +task :gem_create => + [:gemspecs_create_default_version] +task :gemc => + [:gemspecs_create_default_version] +#--- +desc "build gem" +task :gem_build => + [:gem_build_] +task :gemb => + [:gem_build] +task :gembuild => + [:gem_build] +desc "build sisu v_stable gem" +task :gem_build_stable => + [:gem_stable_build] +task :gem5b => + [:gem_build_stable] +task :gem5build => + [:gem_build_stable] +#--- +desc "create, build & install sisu v_stable gem" + task :gem_create_build_install_stable => + [:gemspecs_stable_create_default_version,:gem_stable_build,:gem_stable_install] +task :gem5cbi => + [:gem_create_build_install_stable] +desc "create, build & install sisu gem" +task :gem_create_build_install => + [:gemspecs_create_default_version,:gem_build_,:gem_install_] +task :gemcbi => + [:gem_create_build_install] +#--- +desc "install gem" +task :gem_install => + [:gem_install_] +task :gemi => + [:gem_install] +task :geminstall => + [:gem_install] +desc "build & install sisu v_stable gem" +task :gem_build_install_stable => + [:gem_stable_build,:gem_install_] +task :gem5bi => + [:gem_build_install_stable] +desc "build & install gem" +task :gem_build_install => + [:gem_build,:gem_install_] +task :gembi => + [:gem_build_install] +#-- manually set next version +#desc "create sisu v_stable gemspec, manually set next version" +task :gem5csn => + [:gemspecs_stable_create_next_version] +#desc "create gemspec, manually set next version" +task :gemcsn => + [:gemspecs_create_next_version] +task :gemcn => + [:gemspecs_create_next_version] +#desc "build gem, manually set next version" +task :gembn => + [:gem_build_next_version] +#desc "build sisu v_stable gem, manually set next version" +task :gem5bn => + [:gem_stable_build_next_version] +#desc "install gem, manually set next version" +task :gemin => + [:gem_install_next_version] +#desc "build & install sisu v_stable gem, manually set next version" +task :gem5bin => + [:gem_stable_build_next_version,:gem_install_next_version] +#desc "build & install gem, manually set next version" +task :gembin => + [:gem_build_next_version,:gem_install_next_version] +#desc "create, build & install sisu v_stable gem, manually set next version" +task :gem5cbin => + [:gemspecs_stable_create_next_version,:gem_stable_build_next_version,:gem_stable_install_next_version] +#desc "create, build & install sisu gem, manually set next version" +task :gemcbin => + [:gemspecs_create_next_version,:gem_build_next_version,:gem_install_next_version] +#--- +#desc "check changelog headers" +task :changelogheaders => + [:changelog_headers] +task :dev => + [:note_developer] +task :developer_note => + [:note_developer] +if File.directory?('bin') + desc "Setup #{Project_details.name} bin only, synonym :bin" + task :setup_bin => + [:setup_bin_] + task :bin => + [:setup_bin] +end +if File.directory?('lib') + desc "Setup #{Project_details.name} lib only, synonym :lib" + task :setup_lib => + [:setup_lib_] + task :lib => + [:setup_lib] +end +if File.directory?('conf') + desc "Setup #{Project_details.name} conf only, synonyms :conf & :etc" + task :setup_conf => + [:setup_conf_] + task :conf => + [:setup_conf] + task :setup_etc => + [:setup_conf] + task :etc => + [:setup_conf] +end +if File.directory?('data') + desc "Setup #{Project_details.name} data only, synonyms :data & :examples" + task :setup_data => + [:setup_data_] + task :data => + [:setup_data] + task :setup_examples => + [:setup_data] + task :examples => + [:setup_data] +end +if File.directory?('data/sisu') + #desc "Setup #{Project_details.name} shared data only (odf & shared images)" + task :setup_share => + [:setup_share_] + task :share => + [:setup_share] +end +if File.directory?('man') + desc "Setup #{Project_details.name} man pages only, synonyms :man" + task :setup_man => + [:setup_man_] + task :man => + [:setup_man] +end +if File.directory?('data/vim') + desc "Setup #{Project_details.name} vim config files only, synonyms :vim" + task :setup_vim => + [:setup_vim_] + task :vim => + [:setup_vim] +end +desc "Remove #{Project_details.name} (all versions)" +task :remove_package => + [:remove_bin, :remove_lib, :remove_conf] +if File.directory?('bin') + #desc "Remove #{Project_details.name} bin only" + task :remove_bin => + [:remove_bin] +end +if File.directory?('lib') + #desc "Remove #{Project_details.name} lib only" + task :remove_lib => + [:remove_lib] +end +if File.directory?('conf') + #desc "Remove #{Project_details.name} conf only" + task :remove_conf => + [:remove_conf] +end +desc "Re-setup #{Project_details.name}, synonym :reinstall" +task :resetup => + [:remove, :setup] +task :reinstall => + [:remove, :setup] +#desc "Re-setup #{Project_details.name}: bin, lib, conf (ignore data), synonym :reinstall" +task :resetup_base => + [:remove, :setup_base_] +task :reinstall_base => + [:remove, :setup_base_] +if File.directory?('bin') + #desc "Re-setup #{Project_details.name} bin, synonym :reinstall" + task :resetup_bin => + [:remove_bin, :setup_bin_] + task :reinstall_bin => + [:remove_bin, :setup_bin_] +end +if File.directory?('lib') + #desc "Re-setup #{Project_details.name} lib, synonym :reinstall_lib" + task :resetup_lib => + [:remove_lib, :setup_lib_] + task :reinstall_lib => + [:remove_lib, :setup_lib_] +end +if File.directory?('conf') + #desc "Re-setup #{Project_details.name} conf, synonyms :reinstall_conf & :resetup_etc" + task :resetup_conf => + [:remove_conf, :setup_conf_] + task :reinstall_conf => + [:remove_conf, :setup_conf_] + task :resetup_etc => + [:remove_conf, :setup_conf_] + task :reinstall_etc => + [:remove_conf, :setup_conf_] +end +if File.directory?('data/sisu') + #desc "Re-setup #{Project_details.name} shared data, (odf & images)" + task :resetup_share => + [:remove_share, :setup_share_] + task :reinstall_share => + [:remove_share, :setup_share_] +end +if File.directory?('man') + #desc "Re-setup #{Project_details.name} man, synonym :reinstall_man" + task :resetup_man => + [:remove_man, :setup_man_] + task :reinstall_man => + [:remove_man, :setup_man_] +end +desc 'Setup Note' +task :setup_note => + [:help] +desc "System information used by #{Project_details.name}" +task :system => + [:system_info,:project_help,:note_sources] +desc "show all system info available - parameters found" +task :system_param => + [:system_param_] +desc "Gem environment information used ruby gems for #{Project_details.name}" +task :gem_env => + [:gem_env_] +desc 'Help' +task :help => + [:project_help,:system_info,:tasks] +#desc "Setup/Install #{Project_details.name} (uses filelist)" +task :install => + [:default_notice,:project] +task :install_bin => + [:setup_bin_] +#desc "search for a version tag e.g. 'tag[5.6.0]'" +task :tag, [:tag] do |t, args| + args.with_defaults(:tag => Version_info::Next.setting_stable[:version]) + puts "Check for Version Tag: #{args.tag}" + print "Version Tag: " + GitExtractTaggedVersionBuild::git_tagged_versions(args) +end +#desc "build and install a specific git tagged version of sisu, e.g. 'build[5.6.0]'" +task :build, [:tag, :branch] => :done do |t, args| + args.with_defaults(:tag => '5.6.0', :branch => 'stable') + puts "Version Tag: #{args.tag}" + puts "Branch: #{args.branch}" + GitExtractTaggedVersionBuild::git_tagged_versions(args.tag) + ans= <<-WOK +Gem Install SiSU Version + WOK + resp=Utils.answer?(ans) + exit unless resp + GitExtractTaggedVersionBuild::git_checkout_and_build_version(args) +end +task :done do + puts 'done' +end + #%% setup/install tasks +task :rant_independence do #notice + resp='' + while resp.length < 4 + resp='sisu-install' #default name install + print %{#{Project_details.rake_rant} + Create a rant dependency independent file + provide filename default name is "install" + [Warning, will overwrite file of name provided + provide name or "quit" to exit]: } + exit if resp =~/^(?:n|quit|exit)$/ + end + remove='y' #remove='n' + if remove =~/y/ + system("rant-import --force --auto #{resp}; + chmod 755 #{resp} + ") + else #puts "#{resp} not replaced" + end +end + +task :default_notice do #notice + Utils.default_notice +end +task :default2 do #secondary + setup_find_cp_r('bin',Project_details.dir.bin) \ + if File.directory?('bin') + setup_find_cp_r('lib',Project_details.dir.lib) \ + if File.directory?('lib') + setup_find_cp_r('conf',Project_details.dir.conf) \ + if File.directory?('conf') + setup_find_cp_r('data/sisu',Project_details.dir.share) \ + if File.directory?('data/sisu') # + setup_find_cp_r('data',Project_details.dir.data) \ + if File.directory?('data') + setup_find_cp_r('data/vim',"#{Project_details.dir.data}/vim") \ + if File.directory?('data/vim') + setup_find_cp_r('man',Project_details.dir.man) \ + if File.directory?('man') +end +task :setup_bin_ do + exclude_files=['sisugem'] + Install.setup_find_create('bin',Project_details.dir.bin,exclude_files) \ + if File.directory?('bin') +end +task :setup_lib_ do + Install.setup_find_create('lib',Project_details.dir.lib) \ + if File.directory?('lib') +end +task :setup_conf_ do + Install.setup_find_create('conf',Project_details.dir.conf) \ + if File.directory?('conf') +end +task :setup_share_ do + Install.setup_find_create('data/sisu',Project_details.dir.share) \ + if File.directory?('data/sisu') +end +task :setup_data_ do + Install.setup_find_create('data',Project_details.dir.data) \ + if File.directory?('data') +end +task :setup_man_ do + Install.setup_find_create('man',Project_details.dir.man) \ + if File.directory?('man') + Install.setup_find_create('man.deb/man',Project_details.dir.man) \ + if File.directory?('man.deb/man') +end +task :setup_vim_ do + Install.setup_find_create('data/vim',Project_details.dir.vim) \ + if File.directory?('data/vim') +end +task :gemspec_info do + Gemspecs.info_stable +end +task :gemspecs_stable_create_default_version do + Gemspecs::Current.create_stable +end +task :gemspecs_create_default_version do + Gemspecs::Current.create_stable +end +task :gemspecs_stable_create_next_version do + Gemspecs::Next.create_stable +end +task :gemspecs_create_next_version do + Gemspecs::Next.create_stable +end +task :gem_stable_build do + Gemspecs::Current.build_stable +end +task :gem_build_ do + Gemspecs::Current.build_stable +end +task :gem_stable_build_next_version do + Gemspecs::Next.build_stable +end +task :gem_build_next_version do + Gemspecs::Next.build_stable +end +task :gem_stable_install do + Gemspecs::Current.install_stable +end +task :gem_install_ do + Gemspecs::Current.install_stable +end +task :gem_stable_install_next_version do + Gemspecs::Next.install_stable +end +task :gem_install_next_version do + Gemspecs::Next.install_stable +end +task :changelog_headers do + puts '---' + puts Version_info::Update.changelog_header_stable +end +task :sisu_version do + puts Version_info::Next.setting_stable + puts '---' + puts Version_info::Current.setting_stable[:project] + puts Version_info::Current.setting_stable[:version] + puts Version_info::Current.setting_stable[:date] + puts Version_info::Current.setting_stable[:date_stamp] +end +task :sisu_version_set do + Version_info::Update.update_stable +end + #%% post install + #%% clobber/remove tasks +task :remove_bin do + rm_r "#{Project_details.dir.bin}/#{Project_details.dir.proj}" \ + if FileTest.file?("#{Project_details.dir.bin}/#{Project_details.dir.proj}") +end +task :remove_lib do + rm_r "#{Project_details.dir.lib}/#{Project_details.dir.proj}" \ + if FileTest.directory?("#{Project_details.dir.lib}/#{Project_details.dir.proj}") +end +task :remove_conf do + rm_r "#{Project_details.dir.conf}/#{Project_details.dir.proj}" \ + if FileTest.directory?("#{Project_details.dir.conf}/#{Project_details.dir.proj}") +end +task :remove_man do + rm_r "#{Project_details.dir.man}/**/#{Project_details.dir.proj}" \ + if FileTest.directory?("#{Project_details.dir.man}/man1/#{Project_details.dir.proj}") +end +task :remove_version do + rm_r "#{Project_details.dir.bin}/#{Project_details.dir.proj}" \ + if FileTest.file?("#{Project_details.dir.bin}/#{Project_details.dir.proj}") + rm_r "#{Project_details.dir.lib}/#{Project_details.dir.proj}/#{Project_details.version}" \ + if FileTest.directory?("#{Project_details.dir.lib}/#{Project_details.dir.proj}/#{Project_details.version}") + rm_r "#{Project_details.dir.conf}/#{Project_details.dir.proj} \ + if FileTest.directory?("#{Project_details.dir.conf}/#{Project_details.dir.proj}") +end +task :remove_package do + rm_r "#{Project_details.dir.bin}/#{Project_details.dir.proj}" \ + if FileTest.file?("#{Project_details.dir.bin}/#{Project_details.dir.proj}") + rm_r "#{Project_details.dir.lib}/#{Project_details.dir.proj}" \ + if FileTest.directory?("#{Project_details.dir.lib}/#{Project_details.dir.proj}") + rm_r "#{Project_details.dir.conf}/#{Project_details.dir.proj}" \ + if FileTest.directory?("#{Project_details.dir.conf}/#{Project_details.dir.proj}") +end +task :note_sources do + puts <<-WOK + + SiSU project: + + + sisu source code is available at: + + + sisu markup samples are provided/packaged separately as sisu-markup-samples: + + WOK +end +task :note_installation do + puts <<-WOK + alternative 0: distribution install, rather than this Rakefile + a distribution install pulls in the many dependencies used by sisu after + initial processing to generate and store output, significant amongst these are + XeTeX & databases (sqlite3 and postgresql) + + alternative 1: gem install, you need to: + create the gemspec; build the gem (from the gemspec); install the gem + which can be done with the single command: + rake gem_create_build_install # (to build and install sisu v5 & sisu v6, alias gemcbi) + separate gems are made/installed for sisu v5 & sisu v6 contained in source: + rake gem_create_build_install_stable # (to build and install sisu v5, alias gem5cbi) + for individual steps (create, build, install) see rake options, rake -T + to specify sisu version for sisu installed via gem + sisu _#{Version_info::Current.setting_stable[:version]}_ --version + to uninstall sisu installed via gem + sudo gem uninstall --verbose sisu + WOK +end +task :note_developer do + puts <<-WOK + + changelogheaders + + sisuversion + sisuversionset + + gemcsn gem5csn gem6csn + gembn gem5bn gem6bn + gemin gem5in gem6in + gembin gem5bin gem6bin + gemcbin gem5cbin gem6cbin + WOK +end + #%% help & system info +task :system_info do + Project_details.system_info +end +task :system_param_ do + Project_details.env.each {|c| puts c.inspect } +end +task :gem_env_ do + Project_details.gem_env +end +task :project_help do + Help.project_help +end +task :tasks do + Help.tasks +end +#+END_SRC + +** Rake & Rant libs + +#+BEGIN_SRC ruby :tangle ../setup/rbuild_libs.rb +module Project_details + require_relative 'sisu_version' + include SiSUversion + def self.name + 'SiSU' + end + def self.thor + "ruby-thor files for the installation/setup of #{name}" + end + def self.platform_notice + "[#{name} is for Linux/Unix Platforms]" + end + def self.env + RbConfig::CONFIG + end + def self.host + env['host'] + end + def self.dir + def self.proj + Project_details.name.downcase + end + def self.arch + env['archdir'] + end + def self.sitearch + env['sitearchdir'] + end + def self.bin + env['bindir'] + end + def self.lib + env['sitelibdir'] + end + def self.data + env['datadir'] + end + def self.share + "#{env['datadir']}/sisu" + end + def self.conf + env['sysconfdir'] + end + def self.man + env['mandir'] + end + def self.vim + "#{env['datadir']}/sisu/vim" + end + def self.out + "#{env['localstatedir']}/#{proj}" + end + def self.rubylib + env['LIBRUBYARG_SHARED'] + end + def self.pwd + Dir.pwd #ENV['PWD'] + end + self + end + def self.version + stamp={} + v="#{dir.pwd}/data/sisu/version.yml" + if File.exist?(v) + stamp=YAML::load(File::open(v)) + stamp[:version] + else '' + end + end + def self.system_info + ##{Project_details.platform_notice} + puts <<-WOK + Host + host: #{Project_details.host} + arch: #{Project_details.dir.arch} + sitearch: #{Project_details.dir.sitearch} + Directories for installation + bin: #{Project_details.dir.bin} + lib (site-ruby): #{Project_details.dir.lib}/#{Project_details.dir.proj}/v* + conf [etc]: #{Project_details.dir.conf}/#{Project_details.dir.proj} + data (odf, shared images): #{Project_details.dir.share} + vim (vim syntax, highlighting, ftplugin): #{Project_details.dir.data}/sisu/vim + data (README, version_manifest): #{Project_details.dir.data}/doc/#{Project_details.dir.proj} + man (manual pages): #{Project_details.dir.man} + output: #{Project_details.dir.out} + processing: #{Project_details.dir.out}/processing + www: #{Project_details.dir.out}/www + rubylib: #{Project_details.dir.rubylib} + + WOK + end + def self.gem_env + system("gem env") + end +end +module Utils + def self.answer?(ask) + resp='redo' + print ask + " ['yes', 'no' or 'quit']: " + resp=File.new('/dev/tty').gets.strip #resp=gets.strip + if resp == 'yes' then true + elsif resp == 'no' then false + elsif resp =~/^quit|exit$/ then exit + else puts "[please type: 'yes', 'no' or 'quit']" + answer?(ask) + end + end + def self.default_notice # local help not implemented description incorrect + ans= %{#{Project_details.thor} + Information on alternative actions is available using: + [if ruby-thor is installed:] + "rake help") + Default action selected - "install #{Project_details.name}" proceed? } + resp=answer?(ans) + exit unless resp + end + def self.chmod_file(place) + if place =~/\/bin/; File.chmod(0755,place) + else File.chmod(0644,place) + end + end + def self.chmod_util(place) + if place =~/\/bin/; chmod(0755,place) + else chmod(0644,place) + end + end + def self.system_date + `date "+%Y-%m-%d"`.strip + end + def self.system_date_stamp + `date "+%Yw%W/%u"`.strip + end + def self.program_found?(prog) + found=`which #{prog}` #`whereis #{make}` + (found =~/bin\/#{prog}\b/) ? :true : :false + end +end +module Install + #%% using a directory and its mapping + def self.setup_find_create(dir_get,dir_put,exclude_files=['\*'],act) #primary, + begin + Find.find("#{Project_details.dir.pwd}/#{dir_get}") do |f| + stub=f.scan(/#{Project_details.dir.pwd}\/#{dir_get}\/(\S+)/).join + place="#{dir_put}/#{stub}" + action=case + when File.file?(f) + unless f =~/#{exclude_files.join("|")}/ + cp(f,place) + Utils.chmod_file(place) + "-> #{dir_put}/" + end + when File.directory?(f) + FileUtils.mkpath(place) \ + unless FileTest.directory?(place) + "./#{dir_get}/" + else '?' + end + puts "#{action}#{stub}" + end + rescue + puts "\n\n<< are you root? required for install >>" + end + end + def self.setup_find_cp_r(dir_get,dir_put) #secondary, using recursive copy + begin + Find.find("#{Project_details.dir.pwd}/#{dir_get}") do |f| + stub=f.scan(/#{Project_details.dir.pwd}\/#{dir_get}\/(\S+)/).join + place="#{dir_put}/#{stub}" + case + when File.file?(f) + cp_r(f,place) + Utils.chmod_util(place) + when File.directory?(f) + mkdir(place) \ + unless FileTest.directory?(place) + end + end + rescue + puts "\n\n<< are you root? required for install >>" + end + end +end +module Version_info + def self.contents(vi) + <<-WOK +--- +:project: #{vi[:project]} +:version: #{vi[:version]} +:date_stamp: #{vi[:date_stamp]} +:date: "#{vi[:date]}" + WOK + end + def self.git_version_extract + if FileTest.file?('/usr/bin/git') + x=`git describe --long --tags 2>&1`.strip. + gsub(/^[a-z_-]*([0-9.]+)/,'\1'). + gsub(/([^-]*-g)/,'r\1'). + gsub(/-/,'.') + x=(x=~/^[0-9]+\.[0-9]+\.[0-9]+\.r[0-9]+\.g[0-9a-f]{7}/) \ + ? x + : nil + else nil + end + end + def self.version_number_use(vi) + (git_version_extract.nil?) \ + ? (vi[:version]) + : git_version_extract + end + def self.version_number_info(vi) + (Version_info.version_number_use(vi) != vi[:version_number]) \ + ? (%{#{vi[:version_number]} from git #{Version_info.version_number_use(vi)}}) + : vi[:version_number] + end + def self.version_number_info_stable + vi=Version_info::Current.setting_stable + (Version_info.version_number_use(vi) != vi[:version_number]) \ + ? (%{#{vi[:version_number]} from git #{Version_info.version_number_use(vi)}}) + : vi[:version_number] + end + module Current + def self.yml_file_path + 'data/sisu/version.yml' + end + def self.settings(file) + v="#{Dir.pwd}/#{file}" + if File.exist?(v) + YAML::load(File::open(v)) + else '' + end + end + def self.file_stable + yml_file_path + end + def self.setting_stable + hsh=settings(file_stable) + hsh[:version_number]=/([0-9]+\.[0-9]+\.[0-9]+)/. + match(hsh[:version])[1] + hsh + end + def self.content_stable + Version_info.contents(setting_stable) + end + end + module Next + def self.settings(v) + { + project: "#{Project_details.name}", + version: "#{v}", + date: "#{Utils.system_date}", + date_stamp: "#{Utils.system_date_stamp}", + } + end + def self.setting_stable + settings(SiSU_version) + end + def self.content_stable + Version_info.contents(setting_stable) + end + end + module Update + def self.version_info_update_commit(filename,vi_hash_current,vi_content_current,vi_hash_next,vi_content_next) + ans=%{update #{Project_details.name.downcase} version info replacing: + #{vi_hash_current.sort} +with: + #{vi_hash_next.sort} + +#{vi_content_current} becoming: +#{vi_content_next} +proceed? } + resp=Utils.answer?(ans) + if resp + fn="#{Dir.pwd}/#{filename}" + if File.writable?("#{Dir.pwd}/.") + file_version=File.new(fn,'w+') + file_version << vi_content_next + file_version.close + else + puts %{*WARN* is the file or directory writable? could not create #{filename}} + end + end + end + def self.update_stable + version_info_update_commit( + Version_info::Current.file_stable, + Version_info::Current.setting_stable, + Version_info::Current.content_stable, + Version_info::Next.setting_stable, + Version_info::Next.content_stable + ) + end + def self.changelog_header(vi) + <<-WOK +-- #{vi[:version]}.orig.tar.xz (#{vi[:date]}:#{vi[:date_stamp].gsub(/20\d\dw/,'')}) +http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_#{vi[:version]} +http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_#{vi[:version]}-1 +http://www.jus.uio.no/sisu/pkg/src/sisu_#{vi[:version]}.orig.tar.xz + sisu_#{vi[:version]}.orig.tar.xz + sisu_#{vi[:version]}-1.dsc + WOK + end + def self.changelog_header_stable + changelog_header(Version_info::Current.setting_stable) + end + end + self +end +module GitExtractTaggedVersionBuild + def upstream + system(%{ git checkout upstream }) + end + def self.git_tagged_versions(vb=nil) + if vb.tag + v=if vb.tag =~/sisu_[0-9](?:\.[0-9]){0,2}$/ then vb.tag + elsif vb.tag =~/^[0-9](?:\.[0-9]){0,2}$/ then 'sisu_' + vb.tag + else 'sisu_' + end + system(%{ git tag -l | ag --nocolor '^#{v}' }) + end + end + def self.git_checkout_and_build_version(vb) + begin + ver=if vb.tag =~/sisu_[0-9]\.[0-9]+\.[0-9]+/ then vb.tag + elsif vb.tag =~/^[0-9]\.[0-9]+\.[0-9]+/ then 'sisu_' + vb.tag + else vb.branch + end + install_branch='gem_create_build_stable' + commands =<<-WOK + git checkout #{ver} && + rake #{install_branch}; + WOK + puts commands + system(commands) + ensure + system(%{ + git checkout upstream + }) + end + end + def self.git_checkout_and_build_and_install_version(vb) + begin + ver=if vb.tag =~/sisu_[0-9]\.[0-9]+\.[0-9]+/ then vb.tag + elsif vb.tag =~/^[0-9]\.[0-9]+\.[0-9]+/ then 'sisu_' + vb.tag + else vb.branch + end + install_branch='gem_create_build_install_stable' + commands =<<-WOK + git checkout #{ver} && + rake #{install_branch}; + WOK + puts commands + system(commands) + ensure + system(%{ + git checkout upstream + }) + end + end +end +module Gemspecs + def self.info(vi) + puts <<-WOK +-- +name: #{vi[:project].downcase} +version: #{vi[:version_number]} +date: #{vi[:date]} +summary: #{vi[:project]} + WOK + end + def self.contents(vi) + #s.summary = '#{vi[:project]}' + <<-WOK +Gem::Specification.new do |s| + s.name = '#{vi[:project].downcase}' + s.version = '#{vi[:version_number]}' + s.date = '#{vi[:date]}' + s.summary = '#{Version_info.version_number_info(vi)}' + s.description = 'documents - structuring, publishing in multiple formats and search' + s.authors = ["Ralph Amissah"] + s.email = 'ralph.amissah@gmail.com' + s.files = Dir['lib/#{Project_details.name.downcase}/*.rb'] + + Dir['data/#{Project_details.name.downcase}/version.yml'] + + Dir['data/#{Project_details.name.downcase}/image/*'] + + Dir['bin/#{Project_details.name.downcase}gem'] + + Dir['bin/#{Project_details.name.downcase}'] + s.license = 'GPL-3.0-or-later' + s.executables << '#{Project_details.name.downcase}gem' << '#{Project_details.name.downcase}' +end + WOK + end + def self.create(filename,gemspec) + fn="#{Dir.pwd}/#{filename}.gemspec" + if File.writable?("#{Dir.pwd}/.") + file_sisu_gemspec=File.new(fn,'w+') + file_sisu_gemspec << gemspec + file_sisu_gemspec.close + else + puts %{*WARN* is the file or directory writable? could not create #{filename}} + end + end + def self.build(fn) + system(%{ gem build #{fn}.gemspec }) + end + def self.install(fn) + system(%{ + sudo gem install --no-document --verbose #{fn}.gem + }) + end + module Current + def self.filename_stable + Project_details.name.downcase \ + + '-' \ + + Version_info::Current.setting_stable[:version_number] + end + def self.info_stable + Gemspecs.info(Version_info::Current.setting_stable) + end + def self.current_stable + Gemspecs.contents( + Version_info::Current.setting_stable, + ) + end + def self.create_stable + Gemspecs.create(filename_stable,current_stable) + Gemspecs.create( + "#{Project_details.name.downcase}-stable", + current_stable + ) + end + def self.build_stable + Gemspecs.build(filename_stable) + end + def self.install_stable + Gemspecs.install(filename_stable) + end + end + module Next + def self.filename_stable + Project_details.name.downcase \ + + '-' \ + + Version_info::Next.setting_stable[:version_number] + end + def self.setting_stable + Gemspecs.contents( + Version_info::Next.setting_stable, + ) + end + def self.create_stable + Gemspecs.create(filename_stable,setting_stable) + end + def self.build_stable + Gemspecs.build(filename_stable) + end + def self.install_stable + Gemspecs.install(filename_stable) + end + end +end +#+END_SRC + +** Rake & Rant help + +#+BEGIN_SRC ruby :tangle ../setup/rbuild_help.rb +module Help + def self.project_help + puts </dev/null; then + echo "direnv: using lorri from PATH ($(type -p lorri))" + eval "$(lorri direnv)" +else + # fall back to using direnv's builtin nix support + # to prevent bootstrapping problems. + use nix + NIX_ENFORCE_PURITY=0 +fi +# source an additional user-specific .envrc in ./.envrc-local +if [ -e .envrc-local ]; then + source .envrc-local +fi +#+END_SRC + +** shell.nix + +*** shell.nix TODO + +#+BEGIN_SRC nix :tangle ../shell.nix +{ pkgs ? import {} }: +pkgs.mkShell { + buildInputs = [ + (import ./nix/pkglst/packages.nix { inherit pkgs; }) + ]; +} +#+END_SRC + +#+BEGIN_SRC nix :NO-tangle ../shell.nix +{ pkgs ? import {} }: +let +in pkgs.mkShell { + buildInputs = with pkgs; [ + nix + bundler + bundix + <> + sqlite + unzip + xz + zip + #texlive-combined-full + ]; +} +#+END_SRC + +*** packages.nix +**** default + +#+BEGIN_SRC nix :tangle ../nix/pkglst/packages.nix +{ pkgs ? import {} }: +with pkgs; [ + <> + <> + <> +] +#+END_SRC + +**** ruby 2.7 + +#+BEGIN_SRC nix :tangle ../nix/pkglst/packages_rauby_2_7.nix +{ pkgs ? import {} }: +with pkgs; [ + <> + <> + <> +] +#+END_SRC + +**** ruby 2.6 + +#+BEGIN_SRC nix :tangle ../nix/pkglst/packages_rauby_2_6.nix +{ pkgs ? import {} }: +with pkgs; [ + <> + <> + <> +] +#+END_SRC + +*** ruby legacy + +#+NAME: ruby_legacy +#+BEGIN_SRC nix +<> +#+END_SRC +*** ruby current + +#+NAME: ruby_current +#+BEGIN_SRC nix +<> +#+END_SRC + +*** ruby next + +#+NAME: ruby_next +#+BEGIN_SRC nix +<> +#+END_SRC + +*** ruby 2.5 - ruby_version_2_5 + +#+NAME: ruby_version_2_5 +#+BEGIN_SRC nix +ruby_2_5 +rubyPackages_2_5.rake +rubyPackages_2_5.sqlite3 +rubyPackages_2_5.thor +#+END_SRC + +*** ruby 2.6 - ruby_version_2_6 + +#+NAME: ruby_version_2_6 +#+BEGIN_SRC nix +ruby +rubyPackages.rake +rubyPackages.sqlite3 +rubyPackages.thor +#+END_SRC + +*** ruby 2.7 - ruby_version_2_7 + +#+NAME: ruby_version_2_7 +#+BEGIN_SRC nix +ruby_2_7 +rubyPackages_2_7.rake +rubyPackages_2_7.sqlite3 +rubyPackages_2_7.thor +#+END_SRC + +*** nix related packages + +#+NAME: nix_packages +#+BEGIN_SRC nix +nix +bundler +bundix +#+END_SRC + +*** project relevant packages + +#+NAME: packages_project_relevant +#+BEGIN_SRC nix + sqlite + unzip + xz + zip + #texlive-combined-full +#+END_SRC + +* descriptions +** README + +#+BEGIN_SRC md :tangle ../README +SISU - README +============= + +INTRODUCTION +************ + +INTRODUCTION - WHAT IS SISU? +---------------------------- + +*SiSU* is a lightweight markup based document creation and publishing framework +that is controlled from the command line. Prepare documents for *SiSU* using +your text editor of choice, then use *SiSU* to generate various output document +formats. + +From a single lightly prepared document (plain-text /UTF-8/) sisu custom builds +several standard output formats which share a common (text object) numbering +system for citation of content within a document (that also has implications +for search). The sisu engine works with an abstraction of the document's +structure and content from which it is possible to generate different forms of +representation of the document. *SiSU* produces: plain-text, /HTML/, /XHTML/, +/XML/, /EPUB/, /ODF/: /ODT/ (Opendocument), /LaTeX/, /PDF/, and populates an +/SQL/ database (/PostgreSQL/ or /SQLite/) with text objects, roughly, paragraph +sized chunks so that document searches are done at this level of granularity. + +Outputs share a common citation numbering system, associated with text objects +and any semantic meta-data provided about the document. + +*SiSU* also provides concordance files, document content certificates and +manifests of generated output. Book indexes may be made. + +Some document markup samples are provided in the package sisu -markup-samples. + +Homepages: +- + +INSTALL OR RUN WITHOUT INSTALLATION +*********************************** + +SOURCE TREE +----------- + +RUN OFF SOURCE PACKAGE DIRECTORY TREE (WITHOUT INSTALLING) +.......................................................... + +Download & unpack the latest source tarball + +or + +Git clone the latest source, to clone the latest source without the repo +history: + +git clone --depth 1 git://git.sisudoc.org/git/code/sisu.git --branch upstream + +Provided you have *Ruby*, *SiSU* can be run without installation straight from +the source package directory tree. Run ruby against the full path to bin/sisu +(in the unzipped source package directory tree) + +Note however, that additional external package dependencies, such as texlive +(for pdfs), sqlite3 or postgresql (for search) should you desire to use them +are not taken care of for you. + +GEM INSTALL +........... + +Gem install, you need to: + +(i) create the gemspec; (ii) build the gem (from the gemspec); (iii) install +the gem + + +---------------------------------------- + +GEM INSTALL WITH QI (QUICK INSTALL) SCRIPT +.......................................... + +(This requires that ruby -thor is installed). + +qi (quick install) can go through the steps required to install the gem: + + qi gem --create --build --install --stable + +or + + qi gem --create --build --install --unstable + + +---------------------------------------- + +GEM INSTALL WITH RAKE +..................... + +Provided you have ruby & rake, this can be done with the single command: + + rake gem_create_build_install # (to build and install, alias gemcbi) + +for individual steps (create, build, install) see rake options, rake -T to +specify sisu version for sisu installed via gem + +For a list of alternative actions you may type: + + rake help + + rake -T + +Rake: + + +---------------------------------------- + +MISC GEM +........ + +gem search sisu + + sisu _7.0.0_ --version + + sisu _7.0.0_ --version + +to uninstall sisu installed via gem + + sudo gem uninstall --verbose sisu + +DIRECT INSTALLATION WITH QI (QUICK INSTALL) SCRIPT +.................................................. + +(This requires that ruby -thor is installed). + +Root will be requested as required: + + qi setup --bin --lib --conf --data --share --man + +or + + qi setup --all + +You may wish to do a dryrun to see where files would be installed without +copying them, to do so add the flag --dryrun + +INSTALLATION WITH SETUP.RB +.......................... + +It should also be possible to install sisu using setup.rb + +this is a three step process, in the root directory of the unpacked *SiSU* as +root type: + +ruby setup.rb config +ruby setup.rb setup +#[as root:] +ruby setup.rb install + +further information: + + + + ruby setup.rb config && ruby setup.rb setup && sudo ruby setup.rb install + +UNIX/LINUX DISTRIBUTION +----------------------- + +A distribution install should take care of the dependencies of sisu for +producing various outputs. + +DEBIAN +...... + +*SiSU* is available off the *Debian* archives. It should necessary only to run +as root, Using apt-get: + + apt-get update + + apt get install sisu-complete + +(all sisu dependencies should be taken care of) + +If there are newer versions of *SiSU* upstream, they will be available by +adding the following to your sources list /etc/apt/sources.list + +#/etc/apt/sources.list + +deb http://www.jus.uio.no/sisu/archive unstable main non-free +deb-src http://www.jus.uio.no/sisu/archive unstable main non-free + +The non-free section is for sisu markup samples provided, which contain +authored works the substantive text of which cannot be changed, and which as a +result do not meet the debian free software guidelines. + +*SiSU* is developed on *Debian*, and packages are available for *Debian* that +take care of the dependencies encountered on installation. + +The package is divided into the following components: + + *sisu*, the base code, (the main package on which the others depend), without + any dependencies other than ruby (and for convenience the ruby webrick web + server), this generates a number of types of output on its own, other + packages provide additional functionality, and have their dependencies + + *sisu-complete*, a dummy package that installs the whole of greater sisu as + described below, apart from sisu -examples + + *sisu-pdf*, dependencies used by sisu to produce pdf from /LaTeX/ generated + + *sisu-postgresql*, dependencies used by sisu to populate postgresql database + (further configuration is necessary) + + *sisu-sqlite*, dependencies used by sisu to populate sqlite database + + *sisu-markup-samples*, sisu markup samples and other miscellany (under + *Debian* Free Software Guidelines non-free) + +*SiSU* is available off Debian Unstable and Testing [link: +] +[^1] install it using apt-get, aptitude or alternative *Debian* install tools. + +DEPENDENCIES +------------ + +Here is a list of sisu' s current dependencies,[^2] which depend on such +factors as whether you want to generate pdf, whether you will be using *SiSU* +with or without a database, ...). sisu_markup-samples may also be of interest. + +Package: sisu +Depends: ruby | ruby-interpreter, openssl, rsync, unzip, zip +Recommends: sisu-pdf, sisu-sqlite, sisu-postgresql, imagemagick | +graphicsmagick, keychain, openssh-client | lsh-client, po4a, qrencode, rake, +ruby-rmagick, tidy, tree, vim-addon-manager +Suggests: lv, calibre, pinfo, poedit, texinfo, trang + +Package: sisu-complete +Depends: ruby | ruby-interpreter, sisu (= ${source:Version}), sisu-pdf (= +${source:Version}), sisu-postgresql (= ${source:Version}), sisu-sqlite (= +${source:Version}) +Description-en: installs all SiSU related packages + +Package: sisu-pdf +Depends: ruby | ruby-interpreter, sisu (= ${source:Version}), +texlive-latex-base, texlive-fonts-recommended, texlive-generic-recommended, +texlive-latex-recommended, texlive-latex-extra, texlive-math-extra, +texlive-xetex, fonts-liberation, lmodern, latex-cjk-all, texlive-lang-cjk +Suggests: evince | pdf-viewer + +Package: sisu-postgresql +Depends: ruby | ruby-interpreter, sisu (= ${source:Version}), postgresql, +ruby-dbd-pg, ruby-dbi, ruby-fcgi +Suggests: postgresql-contrib + +Package: sisu-sqlite +Depends: ruby | ruby-interpreter, sisu (= ${source:Version}), sqlite3, +ruby-sqlite3, ruby-dbd-sqlite3, ruby-dbi, ruby-fcgi + +Package: sisu-markup-samples +Depends: sisu + +COMMANDS +******** + +COMMANDS SUMMARY +---------------- + +DESCRIPTION +........... + +*SiSU* is a document publishing system, that from a simple single marked-up +document, produces multiple output formats including: /plaintext/, /HTML/, +/XHTML/, /XML/, /EPUB/, /ODT/ (/OpenDocument/ (/ODF/) text), /LaTeX/, /PDF/, +info, and /SQL/ (/PostgreSQL/ and /SQLite/) , which share text object numbers +("object citation numbering") and the same document structure information. For +more see: or + +DOCUMENT PROCESSING COMMAND FLAGS +................................. + +*-[0-9] [filename/wildcard]* +see --act + +*--ao [filename/wildcard/url]* +assumed for most other flags, creates new intermediate files for processing +(abstract objects, document abstraction) that is used in all subsequent +processing of other output. This step is assumed for most processing flags. To +skip it see -n. Alias -m. + +*--act[s0-9] [filename/wildcard]* +--act0 to --act9 configurable shortcuts for multiple flags, -0 to -9 synonyms, +configure in sisurc.yml; sisu default action on a specified file where no flag +is provided is --act0; --act or --acts for information on current actions +ascribed to --act0 to --act9 + +*--asciidoc [filename/wildcard]* +asciidoc, smart text (not available) + +*-b [filename/wildcard]* +see --xhtml + +*--by-** +see --output-by-* + +*-C* +configure/initialise shared output directory files initialize shared output +directory (config files such as css and dtd files are not updated if they +already exist unless modifier is used). -C --init-site configure/initialise +site more extensive than -C on its own, shared output directory files/force +update, existing shared output config files such as css and dtd files are +updated if this modifier is used. + +*-c [filename/wildcard]* +see --color-toggle + +*--color* +see --color-on + +*--color-off* +turn off color in output to terminal + +*--color-on* +turn on color in output to terminal + +*--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 + +*--configure* +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). The equivalent of: -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 -CC is used. + +*--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 + +*-d [filename/wildcard/url]* +see --docbook + +*--dal [filename/wildcard/url]* +(abstract objects, document abstraction renamed abstract objects in sisu5) see +--ao + +*--delete [filename/wildcard]* +see --zap + +*--digests [filename/wildcard/url]* +document digest or document content certificate ( DCC ) as sha 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). --digests -V for verbose digest output to +screen. + +*--docbook [filename/wildcard/url]* +docbook xml + +*--dom [filename/wildcard/url]* +see --xml-dom + +*--dump[=directory_path] [filename/wildcard]* +places output in directory specified, if none is specified in the current +directory (pwd). Unlike using default settings /HTML/ files have embedded css. +Compare --redirect + +*-e [filename/wildcard]* +see --epub + +*--epub [filename/wildcard]* +produces an epub document, [sisu version >=2 ] (filename.epub). Alias -e + +*--errors-as-warnings* +override stop processing on error. Alias --no-stop + +*--exc-** +exclude output feature, overrides configuration settings --exc-numbering, see +--exc-ocn; --exc-ocn, (exclude "object citation numbering", (switches off +object citation numbers), affects html (seg, scroll), epub, xhtml, xml, pdf) ; +--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 + +*-f [optional string part of filename]* +see --find + +*--fictionbook [filename/wildcard/url]* +fictionbook xml (not available) + +*--find [optional string part of filename]* +see --glob + +*-G [optional string part of filename]* +see --glob + +*-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]* +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 -G, -f, --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. + +*--html [filename/wildcard]* +produces html output, in two forms (i) segmented text with table of contents +(toc.html and index.html) and (ii) the document in a single file (scroll.html). +Alias -h + +*--html-scroll [filename/wildcard]* +produces html output, the document in a single file (scroll.html) only. Compare +--html-seg and --html + +*--html-seg [filename/wildcard]* +produces html output, segmented text with table of contents (toc.html and +index.html). Compare --html-scroll and --html + +*--html-strict [filename/wildcard]* +produces html with --strict option. see --strict + +*-I [filename/wildcard]* +see --texinfo + +*-i [filename/wildcard]* +see --manpage + +*--i18n-** +these flags affect output by filetype and filename): --i18n-mono +(--monolingual) output filenames without language code for default language +('en' or as set); --i18n-multi (--multilingual) language code provided as part +of the output filename, this is the default. Where output is in one language +only the language code may not be desired. see also --output-by-* + +*--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). + +*-k* +see --color-off + +*--keep-processing-files [filename/wildcard/url]* +see --maintenance + +*-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) + +*--maintenance [filename/wildcard/url]* +maintenance mode, interim processing files are preserved and their locations +indicated. (also see -V). Aliases -M and --keep-processing-files. + +*--manifest [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. + +*--manpage [filename/wildcard]* +produces man page of file, not suitable for all outputs. Alias -i + +*--markdown [filename/wildcard/url]* +markdown smart text (not available) + +*--monolingual* +see --i18n-* + +*--multilingual* +see --i18n-* + +*-N [filename/wildcard/url]* +see --digests + +*-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-stop* +override stop processing on error. Alias --erros-as-warnings + +*--numbering* +turn on "object citation numbers". See --inc-ocn and --exc-ocn + +*-o [filename/wildcard/url]* +see --odt + +*--ocn* +"object citation numbers". See --inc-ocn and --exc-ocn + +*--odf [filename/wildcard/url]* +see --odt + +*--odt [filename/wildcard/url]* +output basic document in opendocument file format (opendocument.odt). Alias -o + +*--output-by-** +select output directory structure from 3 alternatives: --output-by-language, +(language directory (based on language code) with filetype (html, epub, pdf +etc.) subdirectories); --output-by-filetype, (filetype directories with +language code as part of filename); --output-by-filename, (filename directories +with language code as part of filename). This is configurable. Alias --by-* + +*-P [language_directory/filename language_directory]* +see --po4a + +*-p [filename/wildcard]* +see --pdf + +*--papersize-(a4|a5|b5|letter|legal)* +in conjunction with --pdf set pdf papersize, overriding any configuration +settings, to set more than one papersize repeat the option --pdf --papersize-a4 +--papersize-letter. See also --papersize=* + +*--papersize=a4,a5,b5,letter,legal* in conjunction with --pdf set pdf +papersize, overriding any configuration settings, to set more than one +papersize list after the equal sign with a comma separator +--papersize=a4,letter. See also --papersize-* + +*--pdf [filename/wildcard]* +produces /LaTeX/ pdf (portrait.pdf & landscape.pdf). Orientation and papersize +may be set on the command-line. 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), and; --landscape or --portrait, +so: e.g. "sisu --pdf-a4 --pdf-letter --landscape --verbose [filename/wildcard]" +or "sisu --pdf --landscape --a4 --letter --verbose [filename/wildcard]". --pdf +defaults to both landscape & portrait output, and a4 if no other papersizes are +configured. Related options --pdf-landscape --pdf-portrait --pdf-papersize-* +--pdf-papersize=[list]. Alias -p + +*--pdf-l [filename/wildcard]* +See --pdf-landscape + +*--pdf-landscape [filename/wildcard]* +sets orientation, produces /LaTeX/ 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). Related options +--pdf --pdf-portrait. See also --papersize-* or --papersize=[list]. Alias +--pdf-l or in conjunction with --pdf --landscape + +*--pdf-p [filename/wildcard]* +See --pdf-portrait + +*--pdf-portrait [filename/wildcard]* +sets orientation, produces /LaTeX/ pdf portrait.pdf.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). Related +options --pdf --pdf-landscape. See also --papersize-* or --papersize=[list]. +Alias --pdf-p or in conjunction with --pdf --portrait + +*--pg-[instruction] [filename]* +database /PostgreSQL/ ( --pgsql may be used instead) possible instructions, +include: --pg-createdb; --pg-create; --pg-dropall; --pg-import [filename]; +--pg-update [filename]; --pg-remove [filename]; see database section below. + +*--po [language_directory/filename language_directory]* +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 + +*-Q [filename/wildcard]* +see --qrcode + +*-q [filename/wildcard]* +see --quiet + +*--qrcode [filename/wildcard]* +generate QR code image of metadata (used in manifest). + +*--quiet [filename/wildcard]* +quiet less output to screen. + +*-R [filename/wildcard]* +see --rsync + +*-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). Unlike using default settings +/HTML/ files have embedded css. Compare --dump + +*--rst [filename/wildcard/url]* +ReST (rST restructured text) smart text (not available) + +*--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 + +*-S* +see --sisupod + +*-S [filename/wildcard]* +see --sisupod + +*-s [filename/wildcard]* +see --source + +*--sample-search-form [--db-(pg|sqlite)]* +generate examples of (naive) cgi search form for /SQLite/ or PgSQL depends on +your already having used sisu to populate an /SQLite/ or PgSQL database, (the +/SQLite/ version scans the output directories for existing sisu_sqlite +databases, so it is first necessary to create them, before generating the +search form) see --sqlite & --pg and the database section below. Optional +additional parameters: --db-user='www-data'. The samples are dumped in the +present work directory which must be writable, (with screen instructions given +that they be copied to the cgi-bin directory). Alias -F + +*--sax [filename/wildcard/url]* +see --xml-sax + +*--scp [filename/wildcard]* +copies sisu output files to remote host using scp. This requires that +sisurc.yml has been provided with information on hostname and username, and +that you have your "keys" and ssh agent in place. Also see --rsync. Alias -r + +*--sha256* +set hash digest where used to sha256 + +*--sha512* +set hash digest where used to sha512 + +*--sqlite-[instruction] [filename]* +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: --sqlite-createdb; +--sqlite-create; --sqlite-dropall; --sqlite-import [filename]; --sqlite-update +[filename]; --sqlite-remove [filename]); see database section below. + +*--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 + +*--sisupod [filename/wildcard]* +produces a zipped file of the prepared document specified along with associated +images, by default named sisupod.zip they may alternatively be named with the +filename extension .ssp This provides a quick way of gathering the relevant +parts of a sisu document which can then for example be emailed. A sisupod +includes sisu markup source file, (along with associated documents if a master +file, or available in multilingual versions), together with related images and +skin. *SiSU* commands can be run directly against a sisupod contained in a +local directory, or provided as a url on a remote site. As there is a security +issue with skins provided by other users, they are not applied unless the flag +--trust or --trusted is added to the command instruction, it is recommended +that file that are not your own are treated as untrusted. The directory +structure of the unzipped file is understood by sisu, and sisu commands can be +run within it. Note: if you wish to send multiple files, it quickly becomes +more space efficient to zip the sisu markup directory, rather than the +individual files for sending). See the -S option without [filename/wildcard]. +Alias -S + +*--source [filename/wildcard]* +copies sisu markup file to output directory. Alias -s + +*--strict* +together with --html, produces more w3c compliant html, for example not having +purely numeric identifiers for text, the location object url#33 becomes url#o33 + +*-T [filename/wildcard (*.termsheet.rb)]* +standard form document builder, preprocessing feature + +*-t [filename/wildcard]* +see --txt + +*--texinfo [filename/wildcard]* +produces texinfo and info file, (view with pinfo). Alias -I + +*--textile [filename/wildcard/url]* +textile smart text (not available) + +*--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 + +*--txt-asciidoc [filename/wildcard]* +see --asciidoc + +*--txt-markdown [filename/wildcard]* +see --markdown + +*--txt-rst [filename/wildcard]* +see --rst + +*--txt-textile [filename/wildcard]* +see --textile + +*-U [filename/wildcard]* +see --urls + +*-u [filename/wildcard]* +provides url mapping of output files for the flags requested for processing, +also see -U + +*--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) + +*-V [filename/wildcard]* +even more verbose than the -v flag. + +*-v* +on its own, provides *SiSU* version information + +*-v [filename/wildcard]* +see --verbose + +*--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 + +*--very-verbose [filename/wildcard]* +provides more verbose output of what is being generated. See --verbose. Alias +-V + +*--version* +sisu version + +*-W* +see --webrick + +*-w [filename/wildcard]* +see --concordance + +*--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]* +produces xhtml//XML/ output for browser viewing (sax parsing). Alias -b + +*--xml-dom [filename/wildcard]* +produces /XML/ output with deep document structure, in the nature of dom. Alias +-X + +*--xml-sax [filename/wildcard]* +produces /XML/ output shallow structure (sax parsing). Alias -x + +*-X [filename/wildcard]* +see --xml-dom + +*-x [filename/wildcard]* +see --xml-sax + +*-Y [filename/wildcard]* +produces a short sitemap entry for the document, based on html output and the +sisu_manifest. --sitemaps generates/updates the sitemap index of existing +sitemaps. (Experimental, [g,y,m announcement this week]) + +*-y [filename/wildcard]* +see --manifest + +*-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 + +COMMAND LINE MODIFIERS +---------------------- + +*--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. + +*--no-annotate* +strips output text of editor endnotes[^*1] denoted by asterisk or dagger/plus +sign + +*--no-asterisk* +strips output text of editor endnotes[^*2] denoted by asterisk sign + +*--no-dagger* +strips output text of editor endnotes[^+1] denoted by dagger/plus sign + +DATABASE COMMANDS +----------------- + +*dbi - database interface* + +*--pg or --pgsql* set for /PostgreSQL/ *--sqlite* default set for /SQLite/ -d +is modifiable with --db=[database type (PgSQL or /SQLite/) ] + +*--pg -v --createall* +initial step, creates required relations (tables, indexes) in existing +/PostgreSQL/ database (a database should be created manually and given the same +name as working directory, as requested) (rb.dbi) [ -dv --createall /SQLite/ +equivalent] it may be necessary to run sisu -Dv --createdb initially NOTE: at +the present time for /PostgreSQL/ it may be necessary to manually create the +database. The command would be 'createdb [database name]' where database name +would be SiSU_[present working directory name (without path)]. Please use only +alphanumerics and underscores. + +*--pg -v --import* +[filename/wildcard] imports data specified to /PostgreSQL/ db (rb.dbi) [ -dv +--import /SQLite/ equivalent] + +*--pg -v --update* +[filename/wildcard] updates/imports specified data to /PostgreSQL/ db (rb.dbi) +[ -dv --update /SQLite/ equivalent] + +*--pg --remove* +[filename/wildcard] removes specified data to /PostgreSQL/ db (rb.dbi) [ -d +--remove /SQLite/ equivalent] + +*--pg --dropall* +kills data" and drops (/PostgreSQL/ or /SQLite/) db, tables & indexes [ -d +--dropall /SQLite/ equivalent] + +The -v is for verbose output. + +COMMAND LINE WITH FLAGS - BATCH PROCESSING +.......................................... + +In the data directory run sisu -mh filename or wildcard eg. "sisu -h cisg.sst" +or "sisu -h *.{sst,ssm}" to produce html version of all documents. + +Running sisu (alone without any flags, filenames or wildcards) brings up the +interactive help, as does any sisu command that is not recognised. Enter to +escape. + +INTRODUCTION TO SISU MARKUP[^3] +------------------------------- + +SUMMARY +....... + +*SiSU* source documents are /plaintext/ (/UTF-8/)[^4] files + +All paragraphs are separated by an empty line. + +Markup is comprised of: + +- at the top of a document, the document header made up of semantic meta-data +about the document and if desired additional processing instructions (such an +instruction to automatically number headings from a particular level down) + +- followed by the prepared substantive text of which the most important single +characteristic is the markup of different heading levels, which define the +primary outline of the document structure. Markup of substantive text includes: + + * heading levels defines document structure + + * text basic attributes, italics, bold etc. + + * grouped text (objects), which are to be treated differently, such as code + blocks or poems. + + * footnotes/endnotes + + * linked text and images + + * paragraph actions, such as indent, bulleted, numbered-lists, etc. + +MARKUP RULES, DOCUMENT STRUCTURE AND METADATA REQUIREMENTS +.......................................................... + +minimal content/structure requirement: + +[metadata] + +A~ (level A [title]) + +1~ (at least one level 1 [segment/(chapter)]) + +structure rules (document heirarchy, heading levels): + +there are two sets of heading levels ABCD (title & parts if any) and 123 +(segment & subsegments if any) + +sisu has the fllowing levels: + +A~ [title] . + required (== 1) followed by B~ or 1~ +B~ [part] * + followed by C~ or 1~ +C~ [subpart] * + followed by D~ or 1~ +D~ [subsubpart] * + followed by 1~ +1~ [segment (chapter)] + + required (>= 1) followed by text or 2~ +text * + followed by more text or 1~, 2~ + or relevant part *() +2~ [subsegment] * + followed by text or 3~ +text * + followed by more text or 1~, 2~ or 3~ + or relevant part, see *() +3~ [subsubsegment] * + followed by text +text * + followed by more text or 1~, 2~ or 3~ or relevant part, see *() + +*(B~ if none other used; + if C~ is last used: C~ or B~; + if D~ is used: D~, C~ or B~) + +- level A~ is the tile and is mandatory +- there can only be one level A~ +- heading levels BCD, are optional and there may be several of each + (where all three are used corresponding to e.g. Book Part Section) + * sublevels that are used must follow each other sequentially + (alphabetically), +- heading levels A~ B~ C~ D~ are followed by other heading levels rather + than substantive text + which may be the subsequent sequential (alphabetic) heading part level + or a heading (segment) level 1~ +- there must be at least one heading (segment) level 1~ + (the level on which the text is segmented, in a book would correspond + to the Chapter level) +- additional heading levels 1~ 2~ 3~ are optional and there may be several + of each +- heading levels 1~ 2~ 3~ are followed by text (which may be followed by + the same heading level) + and/or the next lower numeric heading level (followed by text) + or indeed return to the relevant part level + (as a corollary to the rules above substantive text/ content + must be preceded by a level 1~ (2~ or 3~) heading) + +MARKUP EXAMPLES +............... + + +---------------------------------------- + +ONLINE +...... + +Online markup examples are available together with the respective outputs +produced from or from + + +There is of course this document, which provides a cursory overview of sisu +markup and the respective output produced: + + +an alternative presentation of markup syntax: +/usr/share/doc/sisu/on_markup.txt.gz + + +---------------------------------------- + +INSTALLED +......... + +With *SiSU* installed sample skins may be found in: +/usr/share/doc/sisu/markup-samples (or equivalent directory) and if sisu +-markup-samples is installed also under: +/usr/share/doc/sisu/markup-samples-non-free + +MARKUP OF HEADERS +----------------- + +Headers contain either: semantic meta-data about a document, which can be used +by any output module of the program, or; processing instructions. + +Note: the first line of a document may include information on the markup +version used in the form of a comment. Comments are a percentage mark at the +start of a paragraph (and as the first character in a line of text) followed by +a space and the comment: + +% this would be a comment + +SAMPLE HEADER +............. + +This current document is loaded by a master document that has a header similar +to this one: + +% SiSU master 4.0 + +@title: SiSU + :subtitle: Manual + +@creator: + :author: Amissah, Ralph + +@publisher: [publisher name] + +@rights: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 + +@classify: + :topic_register: SiSU:manual;electronic documents:SiSU:manual + :subject: ebook, epublishing, electronic book, electronic publishing, + electronic document, electronic citation, data structure, + citation systems, search + +% used_by: manual + +@date: + :published: 2008-05-22 + :created: 2002-08-28 + :issued: 2002-08-28 + :available: 2002-08-28 + :modified: 2010-03-03 + +@make: + :num_top: 1 + :breaks: new=C; break=1 + :bold: /Gnu|Debian|Ruby|SiSU/ + :home_button_text: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org + :footer: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org + :manpage: name=sisu - documents: markup, structuring, publishing in multiple standard formats, and search; + synopsis=sisu [-abcDdeFhIiMmNnopqRrSsTtUuVvwXxYyZz0-9] [filename/wildcard ] + . sisu [-Ddcv] [instruction] + . sisu [-CcFLSVvW] + +@links: + { SiSU Homepage }http://www.sisudoc.org/ + { SiSU Manual }http://www.sisudoc.org/sisu/sisu_manual/ + { Book Samples & Markup Examples }http://www.jus.uio.no/sisu/SiSU/examples.html + { SiSU Download }http://www.jus.uio.no/sisu/SiSU/download.html + { SiSU Changelog }http://www.jus.uio.no/sisu/SiSU/changelog.html + { SiSU Git repo }http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary + { SiSU List Archives }http://lists.sisudoc.org/pipermail/sisu/ + { SiSU @ Debian }http://packages.qa.debian.org/s/sisu.html + { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org + { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU + +AVAILABLE HEADERS +................. + +Header tags appear at the beginning of a document and provide meta information +on the document (such as the /Dublin Core/) , or information as to how the +document as a whole is to be processed. All header instructions take the form +@headername: or on the next line and indented by once space :subheadername: All +/Dublin Core/ meta tags are available + +*@identifier:* information or instructions + +where the "identifier" is a tag recognised by the program, and the +"information" or "instructions" belong to the tag/identifier specified + +Note: a header where used should only be used once; all headers apart from +@title: are optional; the @structure: header is used to describe document +structure, and can be useful to know. + +This is a sample header + +% SiSU 2.0 [declared file-type identifier with markup version] + +@title: [title text] [this header is the only one that is mandatory] + :subtitle: [subtitle if any] + :language: English + +@creator: + :author: [Lastname, First names] + :illustrator: [Lastname, First names] + :translator: [Lastname, First names] + :prepared_by: [Lastname, First names] + +@date: + :published: [year or yyyy-mm-dd] + :created: [year or yyyy-mm-dd] + :issued: [year or yyyy-mm-dd] + :available: [year or yyyy-mm-dd] + :modified: [year or yyyy-mm-dd] + :valid: [year or yyyy-mm-dd] + :added_to_site: [year or yyyy-mm-dd] + :translated: [year or yyyy-mm-dd] + +@rights: + :copyright: Copyright (C) [Year and Holder] + :license: [Use License granted] + :text: [Year and Holder] + :translation: [Name, Year] + :illustrations: [Name, Year] + +@classify: + :topic_register: SiSU:markup sample:book;book:novel:fantasy + :type: + :subject: + :description: + :keywords: + :abstract: + :loc: [Library of Congress classification] + :dewey: [Dewey classification + +@identify: + :isbn: [ISBN] + :oclc: + +@links: { SiSU }http://www.sisudoc.org + { FSF }http://www.fsf.org + +@make: + :num_top: 1 + :headings: [text to match for each level + (e.g. PART; Chapter; Section; Article; or another: none; BOOK|FIRST|SECOND; none; CHAPTER;) + :breaks: new=:C; break=1 + :promo: sisu, ruby, sisu_search_libre, open_society + :bold: [regular expression of words/phrases to be made bold] + :italics: [regular expression of words/phrases to italicise] + :home_button_text: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org + :footer: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org + +@original: + :language: [language] + +@notes: + :comment: + :prefix: [prefix is placed just after table of contents] + +MARKUP OF SUBSTANTIVE TEXT +-------------------------- + +HEADING LEVELS +.............. + +Heading levels are :A~ ,:B~ ,:C~ ,1~ ,2~ ,3~ ... :A - :C being part / section +headings, followed by other heading levels, and 1 -6 being headings followed by +substantive text or sub-headings. :A~ usually the title :A~? conditional level +1 heading (used where a stand-alone document may be imported into another) + +*:A~ [heading text]* Top level heading [this usually has similar content to the +title @title: ] NOTE: the heading levels described here are in 0.38 notation, +see heading + +*:B~ [heading text]* Second level heading [this is a heading level divider] + +*:C~ [heading text]* Third level heading [this is a heading level divider] + +*1~ [heading text]* Top level heading preceding substantive text of document or +sub-heading 2, the heading level that would normally be marked 1. or 2. or 3. +etc. in a document, and the level on which sisu by default would break html +output into named segments, names are provided automatically if none are given +(a number), otherwise takes the form 1~my_filename_for_this_segment + +*2~ [heading text]* Second level heading preceding substantive text of document +or sub-heading 3 , the heading level that would normally be marked 1.1 or 1.2 +or 1.3 or 2.1 etc. in a document. + +*3~ [heading text]* Third level heading preceding substantive text of document, +that would normally be marked 1.1.1 or 1.1.2 or 1.2.1 or 2.1.1 etc. in a +document + +1~filename level 1 heading, + +% the primary division such as Chapter that is followed by substantive text, and may be further subdivided (this is the level on which by default html segments are made) + +FONT ATTRIBUTES +............... + +*markup example:* + +normal text, *{emphasis}*, !{bold text}!, /{italics}/, _{underscore}_, "{citation}", +^{superscript}^, ,{subscript},, +{inserted text}+, -{strikethrough}-, #{monospace}# + +normal text + +*{emphasis}* [note: can be configured to be represented by bold, italics or underscore] + +!{bold text}! + +/{italics}/ + +_{underscore}_ + +"{citation}" + +^{superscript}^ + +,{subscript}, + ++{inserted text}+ + +-{strikethrough}- + +#{monospace}# + +*resulting output:* + +normal text, *emphasis*, *bold text*, /italics/, _underscore_, "citation", +^superscript^, [subscript], +inserted text+, -strikethrough-, #monospace# + +normal text + +*emphasis* [note: can be configured to be represented by bold, italics or +underscore] + +*bold text* + +/italics/ + +_underscore_ + +"citation" + +^superscript^ + +[subscript] + ++inserted text+ + +-strikethrough- + +#monospace# + +INDENTATION AND BULLETS +....................... + +*markup example:* + +ordinary paragraph + +_1 indent paragraph one step + +_2 indent paragraph two steps + +_9 indent paragraph nine steps + +*resulting output:* + +ordinary paragraph + + indent paragraph one step + + indent paragraph two steps + + indent paragraph nine steps + +*markup example:* + +_* bullet text + +_1* bullet text, first indent + +_2* bullet text, two step indent + +*resulting output:* + +- bullet text + + * bullet text, first indent + + * bullet text, two step indent + +Numbered List (not to be confused with headings/titles, (document structure)) + +*markup example:* + +# numbered list numbered list 1., 2., 3, etc. + +_# numbered list numbered list indented a., b., c., d., etc. + +HANGING INDENTS +............... + +*markup example:* + +_0_1 first line no indent, +rest of paragraph indented one step + +_1_0 first line indented, +rest of paragraph no indent + +in each case level may be 0-9 + +*resulting output:* + +first line no indent, rest of paragraph indented one step; first line no + indent, rest of paragraph indented one step; first line no indent, rest of + paragraph indented one step; first line no indent, rest of paragraph indented + one step; first line no indent, rest of paragraph indented one step; first + line no indent, rest of paragraph indented one step; first line no indent, + rest of paragraph indented one step; first line no indent, rest of paragraph + indented one step; first line no indent, rest of paragraph indented one step; + +A regular paragraph. + + first line indented, rest of paragraph no indent first line indented, rest of +paragraph no indent first line indented, rest of paragraph no indent first line +indented, rest of paragraph no indent first line indented, rest of paragraph no +indent first line indented, rest of paragraph no indent first line indented, +rest of paragraph no indent first line indented, rest of paragraph no indent +first line indented, rest of paragraph no indent first line indented, rest of +paragraph no indent first line indented, rest of paragraph no indent + +in each case level may be 0-9 + +*live-build* A collection of scripts used to build customized *Debian* + Livesystems. /live-build/ was formerly known as live-helper, and even earlier + known as live-package. + +*live-build* + A collection of scripts used to build customized *Debian* Livesystems. + /live-build/ was formerly known as live-helper, and even earlier known as + live-package. + +FOOTNOTES / ENDNOTES +.................... + +Footnotes and endnotes are marked up at the location where they would be +indicated within a text. They are automatically numbered. The output type +determines whether footnotes or endnotes will be produced + +*markup example:* + +~{ a footnote or endnote }~ + +*resulting output:* + +[^5] + +*markup example:* + +normal text~{ self contained endnote marker & endnote in one }~ continues + +*resulting output:* + +normal text[^6] continues + +*markup example:* + +normal text ~{* unnumbered asterisk footnote/endnote, insert multiple asterisks if required }~ continues + +normal text ~{** another unnumbered asterisk footnote/endnote }~ continues + +*resulting output:* + +normal text [^*] continues + +normal text [^**] continues + +*markup example:* + +normal text ~[* editors notes, numbered asterisk footnote/endnote series ]~ continues + +normal text ~[+ editors notes, numbered plus symbol footnote/endnote series ]~ continues + +*resulting output:* + +normal text [^*3] continues + +normal text [^+2] continues + +*Alternative endnote pair notation for footnotes/endnotes:* + +% note the endnote marker "~^" + +normal text~^ continues + +^~ endnote text following the paragraph in which the marker occurs + +the standard and pair notation cannot be mixed in the same document + +LINKS +..... + + +---------------------------------------- + +NAKED URLS WITHIN TEXT, DEALING WITH URLS +......................................... + +urls found within text are marked up automatically. A url within text is +automatically hyperlinked to itself and by default decorated with angled +braces, unless they are contained within a code block (in which case they are +passed as normal text), or escaped by a preceding underscore (in which case the +decoration is omitted). + +*markup example:* + +normal text http://www.sisudoc.org/ continues + +*resulting output:* + +normal text continues + +An escaped url without decoration + +*markup example:* + +normal text _http://www.sisudoc.org/ continues + +deb _http://www.jus.uio.no/sisu/archive unstable main non-free + +*resulting output:* + +normal text http://www.sisudoc.org/ continues + +deb http://www.jus.uio.no/sisu/archive unstable main non-free + +where a code block is used there is neither decoration nor hyperlinking, code +blocks are discussed later in this document + +*resulting output:* + +deb http://www.jus.uio.no/sisu/archive unstable main non-free +deb-src http://www.jus.uio.no/sisu/archive unstable main non-free + + +---------------------------------------- + +LINKING TEXT +............ + +To link text or an image to a url the markup is as follows + +*markup example:* + +about { SiSU }http://url.org markup + +*resulting output:* + +about SiSU [link: ] markup + +A shortcut notation is available so the url link may also be provided +automatically as a footnote + +*markup example:* + +about {~^ SiSU }http://url.org markup + +*resulting output:* + +about SiSU [link: ] [^7] markup + +Internal document links to a tagged location, including an ocn + +*markup example:* + +about { text links }#link_text + +*resulting output:* + +about text links + +Shared document collection link + +*markup example:* + +about { SiSU book markup examples }:SiSU/examples.html + +*resulting output:* + +about *SiSU* book markup examples + + +---------------------------------------- + +LINKING IMAGES +.............. + +*markup example:* + +{ tux.png 64x80 }image + +% various url linked images +[image: "a better way"] + [image: "Way Better - with Gnu/Linux, Debian and Ruby"] + +{~^ ruby_logo.png "Ruby" }http://www.ruby-lang.org/en/ + +*resulting output:* + +tux.png 64x80 [link: local image] + +tux.png 64x80 "Gnu/Linux - a better way" [link: ] + +GnuDebianLinuxRubyBetterWay.png 100x101 "Way Better - with Gnu/Linux, Debian +and Ruby" [link: ] + +ruby_logo.png 70x90 "Ruby" [link: ] [^8] + +*linked url footnote shortcut* + +{~^ [text to link] }http://url.org + +% maps to: { [text to link] }http://url.org ~{ http://url.org }~ + +% which produces hyper-linked text within a document/paragraph, with an endnote providing the url for the text location used in the hyperlink + +text marker *~name + +note at a heading level the same is automatically achieved by providing names +to headings 1, 2 and 3 i.e. 2~[name] and 3~[name] or in the case of +auto-heading numbering, without further intervention. + + +---------------------------------------- + +LINK SHORTCUT FOR MULTIPLE VERSIONS OF A SISU DOCUMENT IN THE SAME DIRECTORY +TREE +.............................................................................. + +*markup example:* + +!_ /{"Viral Spiral"}/, David Bollier + +{ "Viral Spiral", David Bollier [3sS]}viral_spiral.david_bollier.sst + +*/"Viral Spiral"/, David Bollier* + +"Viral Spiral", David Bollier [link: ] + document manifest [link: ] + html, segmented text [link: ] + html, scroll, document in one [link: ] + epub [link: ] + pdf, landscape [link: ] + pdf, portrait [link: ] + odf: odt, open document text [link: ] + xhtml scroll [link: ] + xml, sax [link: ] + xml, dom [link: ] + concordance [link: ] + dcc, document content certificate (digests) [link: ] + markup source text [link: ] + markup source (zipped) pod [link: ] + +GROUPED TEXT / BLOCKED TEXT +........................... + +There are two markup syntaxes for blocked text, using curly braces or using +tics + + +---------------------------------------- + +BLOCKED TEXT CURLY BRACE SYNTAX +............................... + +at the start of a line on its own use name of block type with an opening curly +brace, follow with the content of the block, and close with a closing curly +brace and the name of the block type, e.g. + +code{ +this is a code block + +}code + +poem{ + +this here is a poem + +}poem + + +---------------------------------------- + +BLOCKED TEXT TIC SYNTAX +....................... + +``` code +this is a code block + +``` + +``` poem + +this here is a poem + +``` + +start a line with three backtics, a space followed by the name of the name of +block type, follow with the content of the block, and close with three back +ticks on a line of their own, e.g. + + +---------------------------------------- + +TABLES +...... + +Tables may be prepared in two either of two forms + +*markup example:* + +table{ c3; 40; 30; 30; + +This is a table +this would become column two of row one +column three of row one is here + +And here begins another row +column two of row two +column three of row two, and so on + +}table + +*resulting output:* + +This is a table┆this would become column two of row one┆column three of row one is here』And here begins another row┆column two of row two┆column three of row two, and so on』 + +a second form may be easier to work with in cases where there is not much +information in each column + +*markup example:*[^9] + +!_ Table 3.1: Contributors to Wikipedia, January 2001 - June 2005 + +{table~h 24; 12; 12; 12; 12; 12; 12;} + |Jan. 2001|Jan. 2002|Jan. 2003|Jan. 2004|July 2004|June 2006 +Contributors* | 10| 472| 2,188| 9,653| 25,011| 48,721 +Active contributors** | 9| 212| 846| 3,228| 8,442| 16,945 +Very active contributors*** | 0| 31| 190| 692| 1,639| 3,016 +No. of English language articles| 25| 16,000| 101,000| 190,000| 320,000| 630,000 +No. of articles, all languages | 25| 19,000| 138,000| 490,000| 862,000|1,600,000 + +- Contributed at least ten times; ** at least 5 times in last month; *** more than 100 times in last month. + +*resulting output:* + +*Table 3.1: Contributors to Wikipedia, January 2001 - June 2005* + +┆Jan. 2001┆Jan. 2002┆Jan. 2003┆Jan. 2004┆July 2004┆June 2006』Contributors*┆10┆472┆2,188┆9,653┆25,011┆48,721』Active contributors**┆9┆212┆846┆3,228┆8,442┆16,945』Very active contributors***┆0┆31┆190┆692┆1,639┆3,016』No. of English language articles┆25┆16,000┆101,000┆190,000┆320,000┆630,000』No. of articles, all languages┆25┆19,000┆138,000┆490,000┆862,000┆1,600,000』 + +- Contributed at least ten times; ** at least 5 times in last month; *** more +than 100 times in last month. + + +---------------------------------------- + +POEM +.... + +*basic markup:* + +poem{ + + Your poem here + +}poem + +Each verse in a poem is given an object number. + +*markup example:* + +poem{ + + `Fury said to a + mouse, That he + met in the + house, + "Let us + both go to + law: I will + prosecute + YOU. --Come, + I'll take no + denial; We + must have a + trial: For + really this + morning I've + nothing + to do." + Said the + mouse to the + cur, "Such + a trial, + dear Sir, + With + no jury + or judge, + would be + wasting + our + breath." + "I'll be + judge, I'll + be jury," + Said + cunning + old Fury: + "I'll + try the + whole + cause, + and + condemn + you + to + death."' + +}poem + +*resulting output:* + + `Fury said to a + mouse, That he + met in the + house, + "Let us + both go to + law: I will + prosecute + YOU. --Come, + I'll take no + denial; We + must have a + trial: For + really this + morning I've + nothing + to do." + Said the + mouse to the + cur, "Such + a trial, + dear Sir, + With + no jury + or judge, + would be + wasting + our + breath." + "I'll be + judge, I'll + be jury," + Said + cunning + old Fury: + "I'll + try the + whole + cause, + and + condemn + you + to + death."' + + +---------------------------------------- + +GROUP +..... + +*basic markup:* + +group{ + + Your grouped text here + +}group + +A group is treated as an object and given a single object number. + +*markup example:* + +group{ + + `Fury said to a + mouse, That he + met in the + house, + "Let us + both go to + law: I will + prosecute + YOU. --Come, + I'll take no + denial; We + must have a + trial: For + really this + morning I've + nothing + to do." + Said the + mouse to the + cur, "Such + a trial, + dear Sir, + With + no jury + or judge, + would be + wasting + our + breath." + "I'll be + judge, I'll + be jury," + Said + cunning + old Fury: + "I'll + try the + whole + cause, + and + condemn + you + to + death."' + +}group + +*resulting output:* + + `Fury said to a + mouse, That he + met in the + house, + "Let us + both go to + law: I will + prosecute + YOU. --Come, + I'll take no + denial; We + must have a + trial: For + really this + morning I've + nothing + to do." + Said the + mouse to the + cur, "Such + a trial, + dear Sir, + With + no jury + or judge, + would be + wasting + our + breath." + "I'll be + judge, I'll + be jury," + Said + cunning + old Fury: + "I'll + try the + whole + cause, + and + condemn + you + to + death."' + + +---------------------------------------- + +CODE +.... + +Code tags # code{ ... }code # (used as with other group tags described above) +are used to escape regular sisu markup, and have been used extensively within +this document to provide examples of *SiSU* markup. You cannot however use code +tags to escape code tags. They are however used in the same way as group or +poem tags. + +A code-block is treated as an object and given a single object number. [an +option to number each line of code may be considered at some later time] + +*use of code tags instead of poem compared, resulting output:* + + `Fury said to a + mouse, That he + met in the + house, + "Let us + both go to + law: I will + prosecute + YOU. --Come, + I'll take no + denial; We + must have a + trial: For + really this + morning I've + nothing + to do." + Said the + mouse to the + cur, "Such + a trial, + dear Sir, + With + no jury + or judge, + would be + wasting + our + breath." + "I'll be + judge, I'll + be jury," + Said + cunning + old Fury: + "I'll + try the + whole + cause, + and + condemn + you + to + death."' + +From *SiSU* 2.7.7 on you can number codeblocks by placing a hash after the +opening code tag # code{# # as demonstrated here: + +1 ┆ `Fury said to a +2 ┆ mouse, That he +3 ┆ met in the +4 ┆ house, +5 ┆ "Let us +6 ┆ both go to +7 ┆ law: I will +8 ┆ prosecute +9 ┆ YOU. --Come, +10 ┆ I'll take no +11 ┆ denial; We +12 ┆ must have a +13 ┆ trial: For +14 ┆ really this +15 ┆ morning I've +16 ┆ nothing +17 ┆ to do." +18 ┆ Said the +19 ┆ mouse to the +20 ┆ cur, "Such +21 ┆ a trial, +22 ┆ dear Sir, +23 ┆ With +24 ┆ no jury +25 ┆ or judge, +26 ┆ would be +27 ┆ wasting +28 ┆ our +29 ┆ breath." +30 ┆ "I'll be +31 ┆ judge, I'll +32 ┆ be jury," +33 ┆ Said +34 ┆ cunning +35 ┆ old Fury: +36 ┆ "I'll +37 ┆ try the +38 ┆ whole +39 ┆ cause, +40 ┆ and +41 ┆ condemn +42 ┆ you +43 ┆ to +44 ┆ death."' + +ADDITIONAL BREAKS - LINEBREAKS WITHIN OBJECTS, COLUMN AND PAGE-BREAKS +..................................................................... + + +---------------------------------------- + +LINE-BREAKS +........... + +To break a line within a "paragraph object", two backslashes \\ +with a space before and a space or newline after them +may be used. + +To break a line within a "paragraph object", +two backslashes \\ with a space before +and a space or newline after them \\ +may be used. + +The html break br enclosed in angle brackets (though undocumented) is available +in versions prior to 3.0.13 and 2.9.7 (it remains available for the time being, +but is depreciated). + +To draw a dividing line dividing paragraphs, see the section on page breaks. + + +---------------------------------------- + +PAGE BREAKS +........... + +Page breaks are only relevant and honored in some output formats. A page break +or a new page may be inserted manually using the following markup on a line on +its own: + +page new =\= breaks the page, starts a new page. + +page break -\- breaks a column, starts a new column, if using columns, else +breaks the page, starts a new page. + +page break line across page -..- draws a dividing line, dividing paragraphs + +page break: + +-\\- + +page (break) new: + +=\\= + +page (break) line across page (dividing paragraphs): + +-..- + +BIBLIOGRAPHY / REFERENCES +......................... + +There are three ways to prepare a bibliography using sisu (which are mutually +exclusive): (i) manually preparing and marking up as regular text in sisu a +list of references, this is treated as a regular document segment (and placed +before endnotes if any); (ii) preparing a bibliography, marking a heading level +1~!biblio (note the exclamation mark) and preparing a bibliography using +various metadata tags including for author: title: year: a list of which is +provided below, or; (iii) as an assistance in preparing a bibliography, marking +a heading level 1~!biblio and tagging citations within footnotes for inclusion, +identifying citations and having a parser attempt to extract them and build a +bibliography of the citations provided. + +For the heading/section sequence: endnotes, bibliography then book index to +occur, the name biblio or bibliography must be given to the bibliography +section, like so: + +1~!biblio + + +---------------------------------------- + +A MARKUP TAGGED METADATA BIBLIOGRAPHY SECTION +............................................. + +Here instead of writing your full citations directly in footnotes, each time +you have new material to cite, you add it to your bibliography section (if it +has not been added yet) providing the information you need against an available +list of tags (provided below). + +The required tags are au: ti: and year: [^10] an short quick example might be +as follows: + +1~!biblio + +au: von Hippel, E. +ti: Perspective: User Toolkits for Innovation +lng: (language) +jo: Journal of Product Innovation Management +vo: 18 +ed: (editor) +yr: 2001 +note: +sn: Hippel, /{User Toolkits}/ (2001) +id: vHippel_2001 +% form: + +au: Benkler, Yochai +ti: The Wealth of Networks +st: How Social Production Transforms Markets and Freedom +lng: (language) +pb: Harvard University Press +edn: (edition) +yr: 2006 +pl: U.S. +url: http://cyber.law.harvard.edu/wealth_of_networks/Main_Page +note: +sn: Benkler, /{Wealth of Networks}/ (2006) +id: Benkler2006 + +au: Quixote, Don; Panza, Sancho +ti: Taming Windmills, Keeping True +jo: Imaginary Journal +yr: 1605 +url: https://en.wikipedia.org/wiki/Don_Quixote +note: made up to provide an example of author markup for an article with two authors +sn: Quixote & Panza, /{Taming Windmills}/ (1605) +id: quixote1605 + +Note that the section name !biblio (or !bibliography) is required for the +bibliography to be treated specially as such, and placed after the +auto-generated endnote section. + +Using this method, work goes into preparing the bibliography, the tags author +or editor, year and title are required and will be used to sort the +bibliography that is placed under the Bibliography section + +The metadata tags may include shortname (sn:) and id, if provided, which are +used for substitution within text. Every time the given id is found within the +text it will be replaced by the given short title of the work (it is for this +reason the short title has sisu markup to italicize the title), it should work +with any page numbers to be added, the short title should be one that can +easily be used to look up the full description in the bibliography. + +The following footnote~{ quixote1605, pp 1000 - 1001, also Benkler2006 p 1. }~ + +would be presented as: + +Quixote and Panza, /Taming Windmills/ (1605), pp 1000 - 1001 also, Benkler, +/Wealth of Networks/, (2006) p 1 or rather[^11] + +au: author Surname, FirstNames (if multiple semi-colon separator) + (required unless editor to be used instead) +ti: title (required) +st: subtitle +jo: journal +vo: volume +ed: editor (required if author not provided) +tr: translator +src: source (generic field where others are not appropriate) +in: in (like src) +pl: place/location (state, country) +pb: publisher +edn: edition +yr: year (yyyy or yyyy-mm or yyyy-mm-dd) (required) +pg: pages +url: http://url +note: note +id: create_short_identifier e.g. authorSurnameYear + (used in substitutions: when found within text will be + replaced by the short name provided) +sn: short name e.g. Author, /{short title}/, Year + (used in substitutions: when an id is found within text + the short name will be used to replace it) + + +---------------------------------------- + +TAGGING CITATIONS FOR INCLUSION IN THE BIBLIOGRAPHY +................................................... + +Here whenever you make a citation that you wish be included in the +bibliography, you tag the citation as such using special delimiters (which are +subsequently removed from the final text produced by sisu) + +Here you would write something like the following, either in regular text or a +footnote + +See .: Quixote, Don; Panza, Sancho /{Taming Windmills, Keeping True}/ (1605) :. + +*SiSU* will parse for a number of patterns within the delimiters to try make +out the authors, title, date etc. and from that create a Bibliography. This is +more limited than the previously described method of preparing a tagged +bibliography, and using an id within text to identify the work, which also +lends itself to greater consistency. + +GLOSSARY +........ + +Using the section name 1~!glossary results in the Glossary being treated +specially as such, and placed after the auto-generated endnote section (before +the bibliography/list of references if there is one). + +The Glossary is ordinary text marked up in a manner deemed suitable for that +purpose. e.g. with the term in bold, possibly with a hanging indent. + +1~!glossary + +_0_1 *{GPL}* An abbreviation that stands for "General Purpose License." ... + +_0_1 [provide your list of terms and definitions] + +In the given example the first line is not indented subsequent lines are by one +level, and the term to be defined is in bold text. + +BOOK INDEX +.......... + +To make an index append to paragraph the book index term relates to it, using +an equal sign and curly braces. + +Currently two levels are provided, a main term and if needed a sub-term. +Sub-terms are separated from the main term by a colon. + + Paragraph containing main term and sub-term. + ={Main term:sub-term} + +The index syntax starts on a new line, but there should not be an empty line +between paragraph and index markup. + +The structure of the resulting index would be: + + Main term, 1 + sub-term, 1 + +Several terms may relate to a paragraph, they are separated by a semicolon. If +the term refers to more than one paragraph, indicate the number of paragraphs. + + Paragraph containing main term, second term and sub-term. + ={first term; second term: sub-term} + +The structure of the resulting index would be: + + First term, 1, + Second term, 1, + sub-term, 1 + +If multiple sub-terms appear under one paragraph, they are separated under the +main term heading from each other by a pipe symbol. + + Paragraph containing main term, second term and sub-term. + ={Main term: + sub-term+2|second sub-term; + Another term + } + + A paragraph that continues discussion of the first sub-term + +The plus one in the example provided indicates the first sub-term spans one +additional paragraph. The logical structure of the resulting index would be: + + Main term, 1, + sub-term, 1-3, + second sub-term, 1, + Another term, 1 + +COMPOSITE DOCUMENTS MARKUP +-------------------------- + +It is possible to build a document by creating a master document that requires +other documents. The documents required may be complete documents that could be +generated independently, or they could be markup snippets, prepared so as to be +easily available to be placed within another text. If the calling document is a +master document (built from other documents), it should be named with the +suffix *.ssm* Within this document you would provide information on the other +documents that should be included within the text. These may be other documents +that would be processed in a regular way, or markup bits prepared only for +inclusion within a master document *.sst* regular markup file, or *.ssi* +(insert/information) A secondary file of the composite document is built prior +to processing with the same prefix and the suffix *._sst* + +basic markup for importing a document into a master document + +<< filename1.sst + +<< filename2.ssi + +The form described above should be relied on. Within the /Vim/ editor it +results in the text thus linked becoming hyperlinked to the document it is +calling in which is convenient for editing. + +SUBSTITUTIONS +------------- + +*markup example:* + +The current Debian is ${debian_stable} the next debian will be ${debian_testing} + +Configure substitution in _sisu/sisu_document_make + +@make: +:substitute: /${debian_stable}/,'*{Wheezy}*' /${debian_testing}/,'*{Jessie}*' + +*resulting output:* + +The current *Debian* is *Jessie* the next debian will be *Stretch* + +Configure substitution in _sisu/sisu_document_make + + +---------------------------------------- + + [1]: + + [2]: from the *Debian* control file + + [*1]: square brackets + + [*2]: square brackets + + [+1]: square brackets + + [3]: From sometime after SiSU 0.58 it should be possible to describe SiSU markup + using SiSU, which though not an original design goal is useful. + + [4]: files should be prepared using /UTF-8/ character encoding + + [5]: a footnote or endnote + + [6]: self contained endnote marker & endnote in one + + [*]: unnumbered asterisk footnote/endnote, insert multiple asterisks if required + + [**]: another unnumbered asterisk footnote/endnote + + [*3]: editors notes, numbered asterisk footnote/endnote series + + [+2]: editors notes, numbered plus symbol footnote/endnote series + + [7]: + + [8]: + + [9]: Table from the Wealth of Networks by Yochai Benkler + + + + [10]: for which you may alternatively use the full form author: title: and year: + + [11]: Quixote and Panza, /Taming Windmills/ (1605), pp 1000 - 1001 also, Benkler, + /Wealth of Networks/ (2006), p 1 + #+END_SRC + +** a description + +(emacs:evil mode gifts a "vim" of enticing "alternative" powers! ;) +(vim, my _editor_ of choice also in the emacs environment :) + +*** What is SiSU? + + Multiple output formats with a nod to the strengths of each output format and + the ability to cite text easily across output formats. + +**** debian/control desc + + documents - structuring, publishing in multiple formats and search + SiSU is a lightweight markup based, command line oriented, document + structuring, publishing and search, static content tool for document + collections. + . + With minimal preparation of a plain-text (UTF-8) file, using sisu markup syntax + in your text editor of choice, SiSU can generate various document formats, most + of which share a common object numbering system for locating content, including + plain text, HTML, XHTML, XML, EPUB, OpenDocument text (ODF:ODT), LaTeX, PDF + files, and populate an SQL database with objects (roughly paragraph-sized + chunks) so searches may be performed and matches returned with that degree of + granularity. Think of being able to finely match text in documents, using + common object numbers, across different output formats and across languages if + you have translations of the same document. For search, your criteria is met + by these documents at these locations within each document (equally relevant + across different output formats and languages). To be clear (if obvious) page + numbers provide none of this functionality. Object numbering is particularly + suitable for "published" works (finalized texts as opposed to works that are + frequently changed or updated) for which it provides a fixed means of reference + of content. Document outputs can also share provided semantic meta-data. + . + SiSU also provides concordance files, document content certificates and + manifests of generated output and the means to make book indexes that make use + of its object numbering. + . + Syntax highlighting and folding (outlining) files are provided for the Vim and + Emacs editors. + . + Dependencies for various features are taken care of in sisu related packages. + The package sisu-complete installs the whole of SiSU. + . + Additional document markup samples are provided in the package + sisu-markup-samples which is found in the non-free archive. The licenses for + the substantive content of the marked up documents provided is that provided + by the author or original publisher. + . + SiSU uses utf-8 & parses left to right. Currently supported languages: + am bg bn br ca cs cy da de el en eo es et eu fi fr ga gl he hi hr hy ia is it + ja ko la lo lt lv ml mr nl nn no oc pl pt pt_BR ro ru sa se sk sl sq sr sv ta + te th tk tr uk ur us vi zh (see XeTeX polyglossia & cjk) + . + SiSU works well under po4a translation management, for which an administrative + sample Rakefile is provided with sisu_manual under markup-samples. + +**** take two + + SiSU may be regarded as an open access document publishing platform, applicable + to a modest but substantial domain of documents (typically law and literature, + but also some forms of technical writing), that is tasked to address certain + challenges I identified as being of interest to me over the years in open + publishing. + + The idea and implementation may be of interest to consider as some of the + issues encountered and that it seeks to address are known and common to such + endeavors. Amongst them: + + * how do you ensure what you do now can be read in decades? + * how do you keep up with new changing and technologies? + * do you select a canonical format to represent your documents, if so + what? + * how do you reliably cite (locate) material in different document + representations? + * how do you deal with multilingual texts? + * what of search? + * how are documents contributed to the collection? + + (these questions are selected in to help describe the direction of efforts with + regard to sisu). + + My Dabblings in the Domain of Open Publishing + --------------------------------------------- + + The system is called SiSU, it is an offshoot of my early efforts at finding out + what to make of the web, that started at the University of Tromsø in 1993 (an + early law website Ananse/ International Trade Law Project / Lex Mercatoria). I + have worked on SiSU continually since 1997 and it has been open source in 2005 + (under a license called GPL3+), though I remain its developer. + + In working in this field I have had to address some of the common issues. + + So how do you ensure what you do now can be read in decades to come? There are + alternative solutions. (i) stick with a widely used and not overly complicated + well document open standard, and for that the likes of odf is an excellent + choice (ii) alternatively go for the most basic representation of a document + that meets your needs, in my case based on UTF-8 text and some markup tags, + fairly easily parsable by the human eye and as long as utf8 is in use it will + always be possible to extract the information + + How do you keep up with new changing and technologies? Here my solution has + been to generate new versions of the substantive content so as to always have + the latest document representations available e.g. HTML has changed a lot over + the years, different specifications come out for various formats including ODF, + electronic readers have become an important viewing alternative, introducing + the open reader format EPUB. Output representations are generated from source + documents. Different open document file formats can be produced and databases + and search engines populated. (The source documents and interpreter are all + that are required to re-create site content. Source documents can be made + public or retained privately). The strict separation of a simple source + document from the output produced, means that with updates to SiSU (the + interpreter/processor/generator), outputs can be updated technically as + necessary, and new output formats added when needed. Amongst the output formats + currently supported are HTML, LaTeX generated Pdfs (A4, letter, other; + landscape, portrait), Epub, Open Document Format text. Returning to HTML as an + example, it has changed a lot over the years I have worked with it, this way of + working has meant it is possible to keep producing current versions of HTML, + retaining the original substantive document... and new formats have been added + as thought desired. There is no attempt to make output in different document + formats/ representations look alike let alone identical. Rather the attempt is + to optimize output for the particular document filetype, (there is no reason + why an epub document would look or behave like an open document text or that a + Pdf would look like HTML output; rather PDF is optimized for paper viewing, + HTML for screen etc.) Wherever possible features associated with the + particular output type are taken advantage of. This freedom is made possible to + a large extent by the answer to the question that follows. + + How do you reliably cite (locate) material in different document + representations? The traditional answer has been to have a canonical + publication, and resulting fixed page numbers. This was not a viable solution + for HTML (which changes from one viewer to another and with selectable font + faces & size etc.); nor is it otherwise ideal in an electronic age with the + possibility of presenting/interacting with material/documents in so many + different ways. Why be so restricted? Here my solution has been "object + citation numbering". What the various generated document formats have in + common is a shared object numbering system that identifies the location of text + and that is available for citation purposes. Object numbers are: sequential + numbers assigned to each identified object in a document. Objects are logical + units of text (or equivalent parts of a document), usually paragraphs, but also + document headings, tables, images, in a poem a verse etc. [In an electronic + publishing age are page numbers the best we can come up with? Change font + type, font size, page orientation, paper size (sometimes even the viewer) and + where are you with them? And paper though a favorite medium of mine is no + longer the sole (or sometimes primary) means of interacting with documents/text + or of sharing knowledge] + + What object numbers mean (unlike page numbers) is e.g. + + * if you cite text in any format, the resulting output can be reliably located + in any other document format type. Cite HTML and the reader can choose to + view in Epub or Pdf (the PDFs being an independent output, generated by + book publishing software XeTeX/LaTeX). + + * if you do a search, you can be given a result "index" indicating that your + search criteria is met by these documents, and at these specific locations + within each document, and the "index" is relevant not only for content + within the database, but for all document formats. + + * if you have a translated text prepared for sisu, then your citations are + relevant across languages e.g. you can specify exactly where in a Chinese + document text is to be found. + + * generated document index references & concordance list references etc. are + relevant across all output formats. + + What of search? For search, see the implications of object numbers for search + mentioned above. The system currently loads an SQL server (Postgresql) with + object sized text chunks. It could just as well populate an analytical engine + with larger sections or chapters of text for analytical purposes (such as the + currently popular Elasticsearch), whilst availing itself also of the concept of + objects and object numbers in search results. + + How do you deal with multilingual texts? If you have translated text prepared + for sisu, then your citations are relevant across languages. Object numbers + also provide an easy way to compare, discuss text (translations) across + languages. Text found/cited in one language has the same object number in its + translations, a given paragraph will be the same in another language, just + change the language code. (documents are prepared in UTF-8, current language + restrictions are: through use of LaTeX tools, Polyglosia & CJK (Chinese, + Japanese & Korean), and from the fact that sisu parses left to right) + + How are materials prepared for contribution to the collection? (a) The easiest + solution if the system allows is for submission in the format in which work is + authored, usually a word processor, for which odf may be a decent selection. + (b) I have stuck with enhanced plaintext, UTF-8 with minimal markup. Source + documents are prepared in UTF-8 text, with a minimalist native markup to + indicate the document structure (headings and their relative levels), + footnotes, and other document "features". This markup is easily parsable to the + human eye, and plays well with version control systems. Documents are prepared + in a text editor. Front ends such as markup assistants in a word processor that + can save to sisu text format or other tool whist possible do not exist. [(c) + yet another form of submission for collaborative work are wikis which have + shown their strength in efforts such as Wikipedia.] + + The system has proven to be a good testing ground for ideas and is flexible and + extensible. (things that could usefully be done: apart from a front end for + simpler user interaction; feed text to an analytical search engine, like + Elasticsearch/Lucene; it still needs a bibliography parser (auto-generation of + a bibliography from footnotes); and it might be useful to allow rough auto + translation documents on the fly by passing text through a translator (such as + Google translate)). + + In any event, my resulting technical opinions (in my modest domain of + action) may be regarded as encapsulated within SiSU + [http://www.sisudoc.org/] + + http://www.sisudoc.org/ + http://www.jus.uio.no/sisu/ + + git clone git://git.sisudoc.org/git/code/sisu.git --branch upstream + http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary + (there may be additional commits in the upstream branch) + git clone --depth 1 git://git.sisudoc.org/git/code/sisu.git --branch upstream + + git clone git://git.sisudoc.org/git/doc/sisu-markup-samples.git --branch upstream + git clone --depth 1 git://git.sisudoc.org/git/doc/sisu-markup-samples.git --branch upstream + Development work is on Linux and the easiest way to install it is through the + Debian Linux package as this takes care of optional external dependencies such + as XeTeX for PDF output and Postgresql or Sqlite for search. + +**** multiple document formats + + Text can be represented in multiple output formats with different + characteristics that are (or may be) regarded as strengths/advantages and + therefore preferred in different contexts. + + Given the different strengths and characteristics of various output formats, it + makes little sense to try too hard to make different representations of a + document look the same. More interesting is have document representations that + take advantage of each given outputs strengths. As valuable if not more so is + the ability to cite, find, discuss text with ease, across the different output + formats. + + For citation across output formats, SiSU uses object citation numbers. + +**** document structure and document objects + + SiSU breaks marked up text into document structure and objects + + Document structure being the document heading hierarchy (having separated out + the document header). + +***** What are document objects? + An object is an identified meaningful unit of a document, most commonly a + paragraph of text, but also for example a table, code block, verse or image. + + SiSU tracks these substantive document units as document objects (and their + relationship to the document structure). + +**** object citation numbers + +***** What are object citation numbers? + + An object citation number is a sequential number assigned to a document object. + + In sisu output documents share this common object numbering system (dubbed + "object citation numbering" (ocn)) that is meaningful (machine & human readable) + across various digital outputs whether paper, screen, or database oriented, + (PDF, html, XML, EPUB, sqlite, postgresql), and across multilingual content if + prepared appropriately. This numbering system can be used to reference content + across output types. + +***** Why might I want object citation numbering? + + The ability to cite and quickly locate text can be invaluable if not essential. + (whether for instruction or discussion). + + In this digital & Internet age we have multiple ways to represent documents and + multiple document output formats as options with different characteristics, + strengths/advantages etc. We need a way to cite text that works and is relevant + independent of the document format used. + + I want to discuss (cite) html text how do I do this? + how do I refer to / cite / discuss text in html? + Issue: html may be viewed online or printed, it is not tied to paper (as + e.g. pdf) and prints differently depending on selected font face and font size. + + I want to discuss (cite) text that is available in multiple formats (e.g. pdf, + epub, html) without having to worry about the output format that is referred + to. + How do I refer to / discuss text that is available in more than one format, + uncertain of what format is preferred, used or available to my colleagues? + e.g. html and epub or pdf have rather different text representations, how do I + discuss ... + + I would like to have a book index that is relevant (can be used) across multiple + output formats (e.g. pdf, epub, html) + + How do I make a book index (or a concordance file) that works across multiple + output formats? + + I would like to have search results indicating where in a document matches are + found and I would like it to be relevant across available output formats (e.g. + pdf, epub, html) + How do I get search results for locations of text within each relevant document + + I would like to be able to discuss a text that has been translated ... + how do I find text across languages? + Where I have a nicely translated document, how do I point to or discuss with my + foreign language counterpart some detail of the text, or, how do I point my + foreign language counterpart to the text I would like to bring to his + attention. + +**** "Granular" Search + + Of interest is the ease of streaming documents to a relational database, at an + object (roughly paragraph) level and the potential for increased precision in + the presentation of matches that results thereby. The ability to serialize + html, LaTeX, XML, SQL, (whatever) is also inherent in / incidental to the + design. + +**** Summary + SiSU information Structuring Universe + Structured information, Serialized Units or + software for electronic texts, document collections, + books, digital libraries, and search, with "atomic search" and text positioning + system (shared text citation numbering: "ocn") + outputs include: plaintext, html, XHTML, XML, ODF (OpenDocument), EPUB, LaTeX, + PDF, SQL (PostgreSQL and SQLite) + +**** SiSU Short Description + + SiSU is a comprehensive future-resilient electronic document management system. + Built-in search capabilities allow you to search across multiple documents and + highlight matches in an easy-to-follow format. Paragraph numbering system + allows you to cite your electronic documents in a consistent manner across + multiple file formats. Multiple format outputs allow you to display your + documents in plain text, PDF (portrait and horizontal), OpenDocument format, + HTML, or e-book reading format (EPUB). Word mapping allows you to easily create + word indexes for your documents. Future-resilient flexibility allows you to + quickly adapt your documents to newer output formats as needed. All these and + many other features are achieved with little or no additional work on your + documents - by marking up the documents with a super simplistic markup + language, leaving the SiSU engine to handle the heavy-lifting processing. + + Potential users of SiSU include individual authors who want to publish their + books or articles electronically to reach a broad audience, web publishers who + want to provide multiple channels of access to their electronic documents, or + any organizations which centrally manage a medium or large set of electronic + documents, especially governmental organizations which may prefer to keep their + documents in easily accessible yet non-proprietary formats. + + SiSU is an Open Source project initiated and led by Ralph Amissah + and can be contacted via mailing list + at . SiSU is + licensed under the GNU General Public License. + +***** notes + + For less markup than the most elementary HTML you can have more. SiSU - + Structured information, Serialized Units for electronic documents, is an + information structuring, transforming, publishing and search framework with the + following features: + + (i) markup syntax: (a) simpler than html, (b) mnemonic, influenced by + mail/messaging/wiki markup practices, (c) human readable, and easily writable, + + (ii) (a) minimal markup requirement, (b) single file marked up for multiple outputs, + + * documents are prepared in a single UTF-8 file using a minimalistic mnemonic + syntax. Typical literature, documents like "War and Peace" require almost no + markup, and most of the headers are optional. + + * markup is easily readable/parsed by the human eye, (basic markup is simpler + and more sparse than the most basic html), [this may also be converted to XML + representations of the same input/source document]. + + * markup defines document structure (this may be done once in a header + pattern-match description, or for heading levels individually); basic text + attributes (bold, italics, underscore, strike-through etc.) as required; and + semantic information related to the document (header information, extended + beyond the Dublin core and easily further extended as required); the headers + may also contain processing instructions. + + (iii) (a) multiple output formats, including amongst others: plaintext (UTF-8); + html; (structured) XML; ODF (Open Document text); EPUB; LaTeX; PDF (via LaTeX); + SQL type databases (currently PostgreSQL and SQLite). SiSU produces: + concordance files; document content certificates (md5 or sha256 digests of + headings, paragraphs, images etc.) and html manifests (and sitemaps of + content). (b) takes advantage of the strengths implicit in these very different + output types, (e.g. PDFs produced using typesetting of LaTeX, databases + populated with documents at an individual object/paragraph level, making + possible granular search (and related possibilities)) + + (iv) outputs share a common numbering system (dubbed "object citation + numbering" (ocn)) that is meaningful (to man and machine) across various + digital outputs whether paper, screen, or database oriented, (PDF, html, XML, + EPUB, sqlite, postgresql), this numbering system can be used to reference + content. + + (v) SQL databases are populated at an object level (roughly headings, + paragraphs, verse, tables) and become searchable with that degree of + granularity, the output information provides the object/paragraph numbers which + are relevant across all generated outputs; it is also possible to look at just + the matching paragraphs of the documents in the database; [output indexing also + work well with search indexing tools like hyperesteier]. + + (vi) use of semantic meta-tags in headers permit the addition of semantic + information on documents, (the available fields are easily extended) + + (vii) creates organised directory/file structure for (file-system) output, + easily mapped with its clearly defined structure, with all text objects + numbered, you know in advance where in each document output type, a bit of text + will be found (e.g. from an SQL search, you know where to go to find the + prepared html output or PDF etc.)... there is more; easy directory management + and document associations, the document preparation (sub-)directory may be used + to determine output (sub-)directory, the skin used, and the SQL database used, + + (viii) "Concordance file" wordmap, consisting of all the words in a document + and their (text/ object) locations within the text, (and the possibility of + adding vocabularies), + + (ix) document content certification and comparison considerations: (a) the + document and each object within it stamped with an sha256 hash making it + possible to easily check or guarantee that the substantive content of a document + is unchanged, (b) version control, documents integrated with time based source + control system, default RCS or CVS with use of $Id$ tag, which SiSU checks + + (x) SiSU's minimalist markup makes for meaningful "diffing" of the substantive + content of markup-files, + + (xi) easily skinnable, document appearance on a project/site wide, directory + wide, or document instance level easily controlled/changed, + + (xii) in many cases a regular expression may be used (once in the document + header) to define all or part of a documents structure obviating or reducing + the need to provide structural markup within the document, + + (xiii) prepared files may be batch process, documents produced are static files + so this needs to be done only once but may be repeated for various reasons as + desired (updated content, addition of new output formats, updated technology + document presentations/representations) + + (xiv) possible to pre-process, which permits: the easy creation of standard + form documents, and templates/term-sheets, or; building of composite documents + (master documents) from other sisu marked up documents, or marked up parts, + i.e. import documents or parts of text into a main document should this be + desired + + there is a considerable degree of future-resilience, output representations are + "upgradeable", and new document formats may be added. + + (xv) there is a considerable degree of future-resilience, output representations + are "upgradeable", and new document formats may be added: (a) modular, (thanks + in no small part to Ruby) another output format required, write another + module.... (b) easy to update output formats (eg html, XHTML, LaTeX/PDF + produced can be updated in program and run against whole document set), (c) + easy to add, modify, or have alternative syntax rules for input, should you + need to, + + (xvi) scalability, dependent on your file-system (ext3, Reiserfs, XFS, + whatever) and on the relational database used (currently Postgresql and + SQLite), and your hardware, + + (xvii) only marked up files need be backed up, to secure the larger document + set produced, + + (xviii) document management, + + (xix) Syntax highlighting for SiSU markup is available for a number of text + editors. + + (xx) remote operations: (a) run SiSU on a remote server, (having prepared sisu + markup documents locally or on that server, i.e. this solution where sisu is + installed on the remote server, would work whatever type of machine you chose + to prepare your markup documents on), (b) generated document outputs may be + posted by sisu to remote sites (using rsync/scp) (c) document source (plaintext + utf-8) if shared on the net may be identified by its url and processed locally + to produce the different document outputs. + + (xxi) document source may be bundled together (automatically) with associated + documents (multiple language versions or master document with inclusions) and + images and sent as a zip file called a sisupod, if shared on the net these too + may be processed locally to produce the desired document outputs, these may be + downloaded, shared as email attachments, or processed by running sisu against + them, either using a url or the filename. + + (xxii) for basic document generation, the only software dependency is Ruby, and + a few standard Unix tools (this covers plaintext, html, XML, ODF, EPUB, LaTeX). + To use a database you of course need that, and to convert the LaTeX generated + to PDF, a LaTeX processor like tetex or texlive. + + as a developers tool it is flexible and extensible + +**** description + + SiSU ("SiSU information Structuring Universe" or "Structured information, + Serialized Units"),1 is a Unix command line oriented framework for document + structuring, publishing and search. Featuring minimalistic markup, multiple + standard outputs, a common citation system, and granular search. Using markup + applied to a document, SiSU can produce plain text, HTML, XHTML, XML, + OpenDocument, LaTeX or PDF files, and populate an SQL database with objects2 + (equating generally to paragraph-sized chunks) so searches may be performed and + matches returned with that degree of granularity (e.g. your search criteria is + met by these documents and at these locations within each document). Document + output formats share a common object numbering system for locating content. + This is particularly suitable for "published" works (finalized texts as opposed + to works that are frequently changed or updated) for which it provides a fixed + means of reference of content. How it works + + SiSU markup is fairly minimalistic, it consists of: a (largely optional) + document header, made up of information about the document (such as when it was + published, who authored it, and granting what rights) and any processing + instructions; and markup within text which is related to document structure and + typeface. SiSU must be able to discern the structure of a document, (text + headings and their levels in relation to each other), either from information + provided in the instruction header or from markup within the text (or from a + combination of both). Processing is done against an abstraction of the document + comprising of information on the document's structure and its objects,2 which + the program serializes (providing the object numbers) and which are assigned + hash sum values based on their content. This abstraction of information about + document structure, objects, (and hash sums), provides considerable flexibility + in representing documents different ways and for different purposes (e.g. + search, document layout, publishing, content certification, concordance etc.), + and makes it possible to take advantage of some of the strengths of established + ways of representing documents, (or indeed to create new ones). + + 1. also chosen for the meaning of the Finnish term "sisu". + + 2 objects include: headings, paragraphs, verse, tables, images, but not + footnotes/endnotes which are numbered separately and tied to the object from + which they are referenced. + + More information on SiSU provided at: + + SiSU was developed in relation to legal documents, and is strong across a wide + variety of texts (law, literature...(humanities, law and part of the social + sciences)). SiSU handles images but is not suitable for formulae/ statistics, + or for technical writing at this time. + + SiSU has been developed and has been in use for several years. Requirements to + cover a wide range of documents within its use domain have been explored. + + + + + + 2010 + w3 since October 3 1993 +*** Finding SiSU +**** source + http://git.sisudoc.org/gitweb/ + +***** sisu + sisu git repo: + http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary + +****** most recent source without repo history + git clone --depth 1 git://git.sisudoc.org/git/code/sisu.git --branch upstream +****** full clone + git clone git://git.sisudoc.org/git/code/sisu.git --branch upstream + +***** sisu-markup-samples git repo: + http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=summary + +**** mailing list + sisu at lists.sisudoc.org + http://lists.sisudoc.org/listinfo/sisu + +**** irc oftc #sisu + +**** home pages + + + + +*** Installation + +**** where you take responsibility for having the correct dependencies + + Provided you have *Ruby*, *SiSU* can be run. + + SiSU should be run from the directory containing your sisu marked up document + set. + + This works fine so long as you already have sisu external dependencies in + place. For many operations such as html, epub, odt this is likely to be fine. + Note however, that additional external package dependencies, such as texlive + (for pdfs), sqlite3 or postgresql (for search) should you desire to use them + are not taken care of for you. + +***** run off the source tarball without installation + + RUN OFF SOURCE PACKAGE DIRECTORY TREE (WITHOUT INSTALLING) + .......................................................... + +****** 1. Obtain the latest sisu source + + using git: + + http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary + http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log + + git clone git://git.sisudoc.org/git/code/sisu.git --branch upstream + git clone --depth 1 git://git.sisudoc.org/git/code/sisu.git --branch upstream + + or, identify latest available source: + + https://packages.debian.org/sid/sisu + http://packages.qa.debian.org/s/sisu.html + http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org + + http://sisudoc.org/sisu/archive/pool/main/s/sisu/ + + and download the: + + sisu_5.4.5.orig.tar.xz + + using debian tool dget: + + The dget tool is included within the devscripts package + https://packages.debian.org/search?keywords=devscripts + to install dget install devscripts: + + apt-get install devscripts + + and then you can get it from Debian: + dget -xu http://ftp.fi.debian.org/debian/pool/main/s/sisu/sisu_5.4.5-1.dsc + + or off sisu repos + dget -x http://www.jus.uio.no/sisu/archive/pool/main/s/sisu/sisu_5.4.5-1.dsc + or + dget -x http://sisudoc.org/sisu/archive/pool/main/s/sisu/sisu_5.4.5-1.dsc + +****** 2. Unpack the source + + Provided you have *Ruby*, *SiSU* can be run without installation straight from + the source package directory tree. + + Run ruby against the full path to bin/sisu (in the unzipped source package + directory tree). SiSU should be run from the directory containing your sisu + marked up document set. + + ruby ~/sisu-5.4.5/bin/sisu --html -v document_name.sst + + This works fine so long as you already have sisu external dependencies in + place. For many operations such as html, epub, odt this is likely to be fine. + Note however, that additional external package dependencies, such as texlive + (for pdfs), sqlite3 or postgresql (for search) should you desire to use them + are not taken care of for you. + +***** gem install (with rake) + + (i) create the gemspec; (ii) build the gem (from the gemspec); (iii) install + the gem + + Provided you have ruby & rake, this can be done with the single command: + + rake gem_create_build_install + + to build and install sisu v5 & sisu v6, alias gemcbi + + separate gems are made/installed for sisu v5 & sisu v6 contained in source. + + to build and install sisu v5, alias gem5cbi: + + rake gem_create_build_install_stable + + to build and install sisu v6, alias gem6cbi: + + rake gem_create_build_install_unstable + + for individual steps (create, build, install) see rake options, rake -T to + specify sisu version for sisu installed via gem + + gem search sisu + + sisu _5.4.5_ --version + + sisu _6.0.11_ --version + + to uninstall sisu installed via gem + + sudo gem uninstall --verbose sisu + + For a list of alternative actions you may type: + + rake help + + rake -T + + Rake: + +***** installation with setup.rb + + this is a three step process, in the root directory of the unpacked *SiSU* as + root type: + + ruby setup.rb config + ruby setup.rb setup + #[as root:] + ruby setup.rb install + + further information: + + + + ruby setup.rb config && ruby setup.rb setup && sudo ruby setup.rb install + +**** Debian install + + *SiSU* is available off the *Debian* archives. It should necessary only to run + as root, Using apt-get: + + apt-get update + + apt get install sisu-complete + + (all sisu dependencies should be taken care of) + + If there are newer versions of *SiSU* upstream, they will be available by + adding the following to your sources list /etc/apt/sources.list + + #/etc/apt/sources.list + + deb http://www.jus.uio.no/sisu/archive unstable main non-free + deb-src http://www.jus.uio.no/sisu/archive unstable main non-free + + The non-free section is for sisu markup samples provided, which contain + authored works the substantive text of which cannot be changed, and which as a + result do not meet the debian free software guidelines. + + *SiSU* is developed on *Debian*, and packages are available for *Debian* that + take care of the dependencies encountered on installation. + + The package is divided into the following components: + + *sisu*, the base code, (the main package on which the others depend), without + any dependencies other than ruby (and for convenience the ruby webrick web + server), this generates a number of types of output on its own, other + packages provide additional functionality, and have their dependencies + + *sisu-complete*, a dummy package that installs the whole of greater sisu as + described below, apart from sisu -examples + + *sisu-pdf*, dependencies used by sisu to produce pdf from /LaTeX/ generated + + *sisu-postgresql*, dependencies used by sisu to populate postgresql database + (further configuration is necessary) + + *sisu-sqlite*, dependencies used by sisu to populate sqlite database + + *sisu-markup-samples*, sisu markup samples and other miscellany (under + *Debian* Free Software Guidelines non-free) + + *SiSU* is available off Debian Unstable and Testing [link: + ] + [^1] install it using apt-get, aptitude or alternative *Debian* install tools. + +**** Arch Linux + +*** sisu markup :sisu: + +**** markup :markup: + +***** sisu document parts + - header + - metadata + - make instructionS + - substantive (& other) content + (sisu markup) + - endnotes + (markup within substantive content) + - glossary + (section, special markup) + - bibliography + (section, special markup) + - book index + (markup attached to substantive content objects) + + |---------------------+-----------------------------------------------------------------------+------------------------+--------| + | header | sisu /header markup/ | markup | | + | - metadata | | | | + | - make instructions | | | | + |---------------------+-----------------------------------------------------------------------+------------------------+--------| + | substantive content | sisu /content markup/ | markup | output | + | | headings (providing document structure), paragraphs, | (regular content) | | + | | blocks (code, poem, group, table) | | | + |---------------------+-----------------------------------------------------------------------+------------------------+--------| + | endnotes | markup within substantive content | markup | output | + | | (extracted from sisu /content markup/) | (from regular content) | | + |---------------------+-----------------------------------------------------------------------+------------------------+--------| + | glossary | identify special section, regular /content markup/ | markup | output | + |---------------------+-----------------------------------------------------------------------+------------------------+--------| + | bibliography | identify section, special /bibliography markup/ | markup | output | + |---------------------+-----------------------------------------------------------------------+------------------------+--------| + | book index | extracted from markup attached to related substantive content objects | markup | output | + | | (special tags in sisu /content markup/) | (from regular content) | | + |---------------------+-----------------------------------------------------------------------+------------------------+--------| + | metadata | | (from regular header) | output | + |---------------------+-----------------------------------------------------------------------+------------------------+--------| + +***** structure - headings, levels + - headings (A-D, 1-3) + + 'A~ ' NOTE title level + + 'B~ ' NOTE optional + 'C~ ' NOTE optional + 'D~ ' NOTE optional + + '1~ ' NOTE chapter level + '2~ ' NOTE optional + '3~ ' NOTE optional + + * node + * parent + * children + +***** font face NOTE open & close marks, inline within paragraph + * emphasize '*{ ... }*' NOTE configure whether bold italics or underscore, default bold + * bold '!{ ... }!' + * italics '/{ ... }/' + * underscore '_{ ... }_' + * superscript '^{ ... }^' + * subscript ',{ ... },' + * strike '-{ ... }-' + * add '+{ ... }+' + * monospace '#{ ... }#' + +***** para + NOTE paragraph controls are at the start of a paragraph + * a para is a block of text separated from others by an empty line + * indent + * default, all '_1 ' up to '_9 ' + * first line hang '_1_0 ' + * first line indent further '_0_1 ' + * bullet + [levels 1-6] + '_* ' + '_1* ' + '_2* ' + * numbered list + [levels 1-3] + '# ' + +***** blocks + NOTE text blocks that are not to be treated in the way that ordinary paragraphs would be + * code + * [type of markup if any] + * poem + * group + * alt + * tables + +***** notes (footnotes/ endnotes) + NOTE inline within paragraph at the location where the note reference is to occur + * footnotes '~{ ... }~' + * [bibliography] [NB N/A not implemented] + +***** links, linking + * links - external, web, url + * links - internal + +***** images [multimedia?] + * images + * [base64 inline] [N/A not implemented] + +***** object numbers + * ocn (object numbers) + automatically attributed to substantive objects, paragraphs, tables, blocks, verse (unless exclude marker provided) + +***** contents + * toc (table of contents) + autogenerated from structure/headings information + * index (book index) + built from hints in newline text following a paragraph and starting with ={} has identifying rules for main and subsidiary text + +***** breaks + * line break ' \\ ' inline + * page break, column break ' -\\- ' start of line, breaks a column, starts a new column, if using columns, else breaks the page, starts a new page. + * page break, page new ' =\\= ' start of line, breaks the page, starts a new page. + * horizontal '-..-' start of line, rule page (break) line across page (dividing paragraphs) + +***** book type index + built from hints in newline text following a paragraph and starting with ={} has identifying rules for main and subsidiary text + + #% comment + * comment + + #% misc + * term & definition + +**** syntax highlighting :syntax:highlighting: + +***** vim + data/sisu/conf/editor-syntax-etc/vim/ + data/sisu/conf/editor-syntax-etc/vim/syntax/sisu.vim + +***** emacs + data/sisu/conf/editor-syntax-etc/emacs/ + data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el + +*** todo + sisu_todo.org + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + sisu build + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/qi b/qi index 24d383b6..7b6d64d9 100755 --- a/qi +++ b/qi @@ -1,18 +1,17 @@ #!/usr/bin/env ruby =begin -** Description: +- Description: -** Homepage: +- Homepage: -** Download: +- Download: -** Copyright: (C) 2015 Ralph Amissah +- Copyright: (C) 2015, 2020 Ralph Amissah -** License: +- License: -** Ralph Amissah - Ralph Amissah +- Ralph Amissah =end #% manual settings, edit/update as required (note current default settings are obtained from sisu version yml file) diff --git a/setup/qi_libs.rb b/setup/qi_libs.rb index 1c294b05..0de6cf0f 100644 --- a/setup/qi_libs.rb +++ b/setup/qi_libs.rb @@ -389,7 +389,7 @@ proceed? } def self.changelog_header(vi) vn=version_number(vi) <<-WOK -* sisu_#{vn}.orig.tar.xz (#{vi[:date]}:#{vi[:date_stamp].gsub(/20\d\dw/,'')}) +- sisu_#{vn}.orig.tar.xz (#{vi[:date]}:#{vi[:date_stamp].gsub(/20\d\dw/,'')}) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_#{vn} WOK end @@ -437,7 +437,7 @@ proceed? } def self.changelog_header_pre_release(vi) vn=version_number(vi) <<-WOK -* sisu_#{vn}.orig.tar.xz (Open commit window: #{vi[:date]}; Pre-Release) +- sisu_#{vn}.orig.tar.xz (Open commit window: #{vi[:date]}; Pre-Release) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_#{vn} WOK end @@ -569,7 +569,7 @@ Gem::Specification.new do |s| s.homepage = '#{Project_details.homepage}' s.authors = ["Ralph Amissah"] s.email = 'ralph.amissah@gmail.com' - s.license = 'GPL3' + s.license = 'GPL-3.0-or-later' s.files = Dir['lib/#{Project_details.name.downcase}.rb'] + Dir['lib/#{Project_details.name.downcase}/*.rb'] + Dir['data/#{Project_details.name.downcase}/version.yml'] + @@ -592,7 +592,7 @@ Gem::Specification.new do |s| s.homepage = '#{Project_details.homepage}' s.authors = ["Ralph Amissah"] s.email = 'ralph.amissah@gmail.com' - s.license = 'GPL3' + s.license = 'GPL-3.0-or-later' s.files = `git ls-files -z lib`.split("\x0") + Dir['data/#{Project_details.name.downcase}/version.yml'] + Dir['data/#{Project_details.name.downcase}/image/*'] + diff --git a/setup/rbuild b/setup/rbuild old mode 100644 new mode 100755 index 32017d4f..ddba6999 --- a/setup/rbuild +++ b/setup/rbuild @@ -3,24 +3,22 @@ Common Rakefile, Rantfile installer for SiSU softlink Rakefile and Rantfile to this file - * Homepage: - - * Download: + - Homepage: + - Download: Copyright (C) 2007 Ralph Amissah - * License: LGPL - GNU Lesser General Public License + - License: LGPL - GNU Lesser General Public License [same license as Rant provided within the Rant package] - * Ralph Amissah - Ralph Amissah + - Ralph Amissah Rake is a Ruby build program by Jim Weirich - * Rake may be downloaded and installed from: + - Rake may be downloaded and installed from: Rant is a Ruby build program by Stefan Lang - * Rant may be downloaded and installed from: + - Rant may be downloaded and installed from: Notes on use: diff --git a/setup/rbuild_help.rb b/setup/rbuild_help.rb index fc56c2fa..0dd395be 100644 --- a/setup/rbuild_help.rb +++ b/setup/rbuild_help.rb @@ -33,4 +33,3 @@ WOK end end end - diff --git a/setup/rbuild_libs.rb b/setup/rbuild_libs.rb index 75ba2847..8ff53052 100644 --- a/setup/rbuild_libs.rb +++ b/setup/rbuild_libs.rb @@ -291,7 +291,7 @@ proceed? } end def self.changelog_header(vi) <<-WOK -** #{vi[:version]}.orig.tar.xz (#{vi[:date]}:#{vi[:date_stamp].gsub(/20\d\dw/,'')}) +-- #{vi[:version]}.orig.tar.xz (#{vi[:date]}:#{vi[:date_stamp].gsub(/20\d\dw/,'')}) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_#{vi[:version]} http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_#{vi[:version]}-1 http://www.jus.uio.no/sisu/pkg/src/sisu_#{vi[:version]}.orig.tar.xz @@ -383,7 +383,7 @@ Gem::Specification.new do |s| Dir['data/#{Project_details.name.downcase}/image/*'] + Dir['bin/#{Project_details.name.downcase}gem'] + Dir['bin/#{Project_details.name.downcase}'] - s.license = 'GPL3' + s.license = 'GPL-3.0-or-later' s.executables << '#{Project_details.name.downcase}gem' << '#{Project_details.name.downcase}' end WOK diff --git a/shell.nix b/shell.nix new file mode 100644 index 00000000..80173752 --- /dev/null +++ b/shell.nix @@ -0,0 +1,6 @@ +{ pkgs ? import {} }: +pkgs.mkShell { + buildInputs = [ + (import ./nix/pkglst/packages.nix { inherit pkgs; }) + ]; +} -- cgit v1.2.3 From 081fbd40da33ac61fc1446992a8cc48a4f988594 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 2 Apr 2021 18:56:41 -0400 Subject: nix ruby 3.0 (available) --- nix/pkglst/packages_rauby_3_0.nix | 13 +++++++++++++ org/sisu_build.org | 23 ++++++++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 nix/pkglst/packages_rauby_3_0.nix diff --git a/nix/pkglst/packages_rauby_3_0.nix b/nix/pkglst/packages_rauby_3_0.nix new file mode 100644 index 00000000..5ac59203 --- /dev/null +++ b/nix/pkglst/packages_rauby_3_0.nix @@ -0,0 +1,13 @@ +{ pkgs ? import {} }: +with pkgs; [ + + ruby_3_0 + rubyPackages_3_0.rake + rubyPackages_3_0.sqlite3 + rubyPackages_3_0.thor + sqlite + unzip + xz + zip + #texlive-combined-full +] diff --git a/org/sisu_build.org b/org/sisu_build.org index 0380a5ee..a83af212 100644 --- a/org/sisu_build.org +++ b/org/sisu_build.org @@ -2577,6 +2577,17 @@ with pkgs; [ ] #+END_SRC +**** ruby 3.0 + +#+BEGIN_SRC nix :tangle ../nix/pkglst/packages_rauby_3_0.nix +{ pkgs ? import {} }: +with pkgs; [ + <> + <> + <> +] +#+END_SRC + **** ruby 2.7 #+BEGIN_SRC nix :tangle ../nix/pkglst/packages_rauby_2_7.nix @@ -2616,7 +2627,7 @@ with pkgs; [ #+NAME: ruby_next #+BEGIN_SRC nix -<> +<> #+END_SRC *** ruby 2.5 - ruby_version_2_5 @@ -2649,6 +2660,16 @@ rubyPackages_2_7.sqlite3 rubyPackages_2_7.thor #+END_SRC +*** ruby 3.0 - ruby_version_3_0 + +#+NAME: ruby_version_3_0 +#+BEGIN_SRC nix +ruby_3_0 +rubyPackages_3_0.rake +rubyPackages_3_0.sqlite3 +rubyPackages_3_0.thor +#+END_SRC + *** nix related packages #+NAME: nix_packages -- cgit v1.2.3 From 90051a7ea55acb043434b1c2483b878d602246ba Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 2 Apr 2021 19:37:00 -0400 Subject: org mode (ruby code within) --- lib/sisu.rb | 106 +- lib/sisu/air.rb | 104 +- lib/sisu/ao.rb | 105 +- lib/sisu/ao_appendices.rb | 104 +- lib/sisu/ao_character_check.rb | 105 +- lib/sisu/ao_composite.rb | 105 +- lib/sisu/ao_doc_objects.rb | 106 +- lib/sisu/ao_doc_str.rb | 104 +- lib/sisu/ao_endnotes.rb | 104 +- lib/sisu/ao_expand_insertions.rb | 104 +- lib/sisu/ao_hash_digest.rb | 104 +- lib/sisu/ao_idx.rb | 104 +- lib/sisu/ao_images.rb | 104 +- lib/sisu/ao_metadata.rb | 104 +- lib/sisu/ao_misc_arrange.rb | 104 +- lib/sisu/ao_numbering.rb | 104 +- lib/sisu/ao_persist.rb | 104 +- lib/sisu/ao_syntax.rb | 104 +- lib/sisu/cgi.rb | 104 +- lib/sisu/cgi_pgsql.rb | 104 +- lib/sisu/cgi_sql_common.rb | 106 +- lib/sisu/cgi_sqlite.rb | 104 +- lib/sisu/conf.rb | 103 +- lib/sisu/constants.rb | 107 +- lib/sisu/css.rb | 104 +- lib/sisu/db_columns.rb | 104 +- lib/sisu/db_create.rb | 104 +- lib/sisu/db_dbi.rb | 104 +- lib/sisu/db_drop.rb | 104 +- lib/sisu/db_import.rb | 104 +- lib/sisu/db_indexes.rb | 104 +- lib/sisu/db_load_tuple.rb | 104 +- lib/sisu/db_remove.rb | 104 +- lib/sisu/db_select.rb | 104 +- lib/sisu/db_sqltxt.rb | 104 +- lib/sisu/db_tests.rb | 104 +- lib/sisu/dbi.rb | 104 +- lib/sisu/dbi_discrete.rb | 104 +- lib/sisu/digests.rb | 104 +- lib/sisu/dp.rb | 104 +- lib/sisu/dp_identify_markup.rb | 106 +- lib/sisu/dp_make.rb | 105 +- lib/sisu/embedded.rb | 104 +- lib/sisu/errors.rb | 104 +- lib/sisu/generic_parts.rb | 104 +- lib/sisu/git.rb | 104 +- lib/sisu/html.rb | 104 +- lib/sisu/html_concordance.rb | 104 +- lib/sisu/html_format.rb | 104 +- lib/sisu/html_harvest.rb | 105 +- lib/sisu/html_harvest_author_format.rb | 104 +- lib/sisu/html_harvest_authors.rb | 104 +- lib/sisu/html_harvest_topics.rb | 107 +- lib/sisu/html_lite_shared.rb | 105 +- lib/sisu/html_manifest.rb | 104 +- lib/sisu/html_minitoc.rb | 408 +- lib/sisu/html_parts.rb | 104 +- lib/sisu/html_persist.rb | 106 +- lib/sisu/html_promo.rb | 104 +- lib/sisu/html_scroll.rb | 104 +- lib/sisu/html_segments.rb | 104 +- lib/sisu/html_shared.rb | 104 +- lib/sisu/html_table.rb | 104 +- lib/sisu/html_tune.rb | 104 +- lib/sisu/hub.rb | 104 +- lib/sisu/hub_actions.rb | 114 +- lib/sisu/hub_loop_markup_files.rb | 104 +- lib/sisu/hub_options.rb | 106 +- lib/sisu/i18n.rb | 475 +- lib/sisu/json.rb | 104 +- lib/sisu/json_format.rb | 104 +- lib/sisu/json_parts.rb | 104 +- lib/sisu/json_persist.rb | 104 +- lib/sisu/json_shared.rb | 104 +- lib/sisu/manpage.rb | 104 +- lib/sisu/manpage_format.rb | 104 +- lib/sisu/object_munge.rb | 104 +- lib/sisu/prog_text_translation.rb | 175 +- lib/sisu/qrcode.rb | 104 +- lib/sisu/relaxng.rb | 106 +- lib/sisu/remote.rb | 104 +- lib/sisu/rexml.rb | 104 +- lib/sisu/se.rb | 104 +- lib/sisu/se_cleanoutput.rb | 104 +- lib/sisu/se_clear.rb | 104 +- lib/sisu/se_createsite.rb | 104 +- lib/sisu/se_css.rb | 104 +- lib/sisu/se_date.rb | 104 +- lib/sisu/se_db.rb | 104 +- lib/sisu/se_envcall.rb | 104 +- lib/sisu/se_file_op.rb | 104 +- lib/sisu/se_filemap.rb | 104 +- lib/sisu/se_get_init.rb | 104 +- lib/sisu/se_hub_particulars.rb | 104 +- lib/sisu/se_info_env.rb | 104 +- lib/sisu/se_info_port.rb | 104 +- lib/sisu/se_info_system.rb | 104 +- lib/sisu/se_load.rb | 104 +- lib/sisu/se_processing.rb | 104 +- lib/sisu/se_programs.rb | 104 +- lib/sisu/se_remotes.rb | 104 +- lib/sisu/se_standardise_lang.rb | 104 +- lib/sisu/se_version.rb | 104 +- lib/sisu/shared_images.rb | 104 +- lib/sisu/shared_markup_alt.rb | 104 +- lib/sisu/shared_metadata.rb | 105 +- lib/sisu/shared_sem.rb | 104 +- lib/sisu/sitemaps.rb | 104 +- lib/sisu/src_kdissert_share.rb | 104 +- lib/sisu/src_po4a_share.rb | 105 +- lib/sisu/src_po4a_shelf.rb | 104 +- lib/sisu/src_po4a_shelf_set.rb | 104 +- lib/sisu/src_po4a_sst_ao_sst.rb | 104 +- lib/sisu/src_po4a_sst_ao_sst_set.rb | 104 +- lib/sisu/src_po4a_sstm.rb | 104 +- lib/sisu/src_shared.rb | 104 +- lib/sisu/src_sisupod_make.rb | 104 +- lib/sisu/src_sisupod_sstm.rb | 104 +- lib/sisu/sst_convert_markup.rb | 106 +- lib/sisu/sst_do_inline_footnotes.rb | 105 +- lib/sisu/sst_from_xml.rb | 104 +- lib/sisu/sst_identify_markup.rb | 106 +- lib/sisu/sst_to_s_xml_sax.rb | 104 +- lib/sisu/termsheet.rb | 104 +- lib/sisu/texinfo.rb | 104 +- lib/sisu/texinfo_format.rb | 104 +- lib/sisu/texpdf.rb | 104 +- lib/sisu/texpdf_format.rb | 105 +- lib/sisu/texpdf_parts.rb | 104 +- lib/sisu/txt_asciidoc.rb | 104 +- lib/sisu/txt_asciidoc_decorate.rb | 105 +- lib/sisu/txt_markdown.rb | 104 +- lib/sisu/txt_markdown_decorate.rb | 105 +- lib/sisu/txt_orgmode.rb | 104 +- lib/sisu/txt_orgmode_decorate.rb | 105 +- lib/sisu/txt_output.rb | 105 +- lib/sisu/txt_plain.rb | 104 +- lib/sisu/txt_plain_decorate.rb | 105 +- lib/sisu/txt_read.rb | 106 +- lib/sisu/txt_rst.rb | 104 +- lib/sisu/txt_rst_decorate.rb | 105 +- lib/sisu/txt_shared.rb | 104 +- lib/sisu/txt_textile.rb | 104 +- lib/sisu/txt_textile_decorate.rb | 105 +- lib/sisu/update.rb | 104 +- lib/sisu/urls.rb | 104 +- lib/sisu/utils.rb | 105 +- lib/sisu/utils_composite.rb | 104 +- lib/sisu/utils_response.rb | 104 +- lib/sisu/utils_screen_text_color.rb | 106 +- lib/sisu/utils_spell.rb | 106 +- lib/sisu/webrick.rb | 105 +- lib/sisu/wikispeak.rb | 105 +- lib/sisu/xhtml.rb | 104 +- lib/sisu/xhtml_epub2.rb | 104 +- lib/sisu/xhtml_epub2_concordance.rb | 106 +- lib/sisu/xhtml_epub2_format.rb | 104 +- lib/sisu/xhtml_epub2_persist.rb | 104 +- lib/sisu/xhtml_epub2_segments.rb | 104 +- lib/sisu/xhtml_epub2_tune.rb | 104 +- lib/sisu/xhtml_parts.rb | 104 +- lib/sisu/xhtml_shared.rb | 104 +- lib/sisu/xhtml_table.rb | 104 +- lib/sisu/xml_docbook5.rb | 104 +- lib/sisu/xml_dom.rb | 104 +- lib/sisu/xml_fictionbook2.rb | 104 +- lib/sisu/xml_format.rb | 104 +- lib/sisu/xml_md_oai_pmh_dc.rb | 104 +- lib/sisu/xml_odf_odt.rb | 104 +- lib/sisu/xml_odf_odt_format.rb | 104 +- lib/sisu/xml_parts.rb | 104 +- lib/sisu/xml_persist.rb | 104 +- lib/sisu/xml_sax.rb | 104 +- lib/sisu/xml_scaffold_structure_collapsed.rb | 104 +- lib/sisu/xml_scaffold_structure_sisu.rb | 104 +- lib/sisu/xml_shared.rb | 106 +- lib/sisu/xml_tables.rb | 104 +- lib/sisu/zap.rb | 104 +- org/abstraction.org | 7291 ++++++++++++++++++++++ org/cgi.org | 1459 +++++ org/config.org | 310 + org/css.org | 3508 +++++++++++ org/db.org | 4808 ++++++++++++++ org/digests.org | 330 + org/env.org | 8610 ++++++++++++++++++++++++++ org/harvest.org | 1454 +++++ org/html.org | 5971 ++++++++++++++++++ org/hub.org | 3163 ++++++++++ org/i18n.org | 2453 ++++++++ org/json.org | 1620 +++++ org/manpage.org | 436 ++ org/misc.org | 4107 ++++++++++++ org/object_munge.org | 331 + org/param.org | 2363 +++++++ org/shared.org | 2297 +++++++ org/sisu.org | 128 + org/src.org | 3437 ++++++++++ org/sst.org | 1713 +++++ org/texinfo.org | 946 +++ org/texpdf.org | 2969 +++++++++ org/txt.org | 3205 ++++++++++ org/utils.org | 857 +++ org/xhtml.org | 5080 +++++++++++++++ org/xml.org | 5583 +++++++++++++++++ 204 files changed, 83675 insertions(+), 10075 deletions(-) create mode 100644 org/abstraction.org create mode 100644 org/cgi.org create mode 100644 org/config.org create mode 100644 org/css.org create mode 100644 org/db.org create mode 100644 org/digests.org create mode 100644 org/env.org create mode 100644 org/harvest.org create mode 100644 org/html.org create mode 100644 org/hub.org create mode 100644 org/i18n.org create mode 100644 org/json.org create mode 100644 org/manpage.org create mode 100644 org/misc.org create mode 100644 org/object_munge.org create mode 100644 org/param.org create mode 100644 org/shared.org create mode 100644 org/sisu.org create mode 100644 org/src.org create mode 100644 org/sst.org create mode 100644 org/texinfo.org create mode 100644 org/texpdf.org create mode 100644 org/txt.org create mode 100644 org/utils.org create mode 100644 org/xhtml.org create mode 100644 org/xml.org diff --git a/lib/sisu.rb b/lib/sisu.rb index b4dee16b..7fb49eba 100644 --- a/lib/sisu.rb +++ b/lib/sisu.rb @@ -1,59 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** hub - -** Author: Ralph Amissah - - - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - -** SiSU uses: - * Standard SiSU markup syntax, - * Standard SiSU meta-markup syntax, and the - * Standard SiSU object citation numbering and system - -** Hompages: - - - -** Git - - - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sisu +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_libs require_relative 'sisu/hub' # sisu/hub.rb require_relative 'sisu/se' # sisu/se.rb diff --git a/lib/sisu/air.rb b/lib/sisu/air.rb index 08c67c5c..3644ebc6 100644 --- a/lib/sisu/air.rb +++ b/lib/sisu/air.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/air.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Air require_relative 'se_hub_particulars' # se_hub_particulars.rb class Source diff --git a/lib/sisu/ao.rb b/lib/sisu/ao.rb index 1a32f3c7..02dbad3e 100644 --- a/lib/sisu/ao.rb +++ b/lib/sisu/ao.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** preprocessing, (document abstraction), data abstraction used in subsequent - processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/ao_appendices.rb b/lib/sisu/ao_appendices.rb index 536c540a..6b0d09e5 100644 --- a/lib/sisu/ao_appendices.rb +++ b/lib/sisu/ao_appendices.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_appendices.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Appendices class Glossary def initialize(md,data) diff --git a/lib/sisu/ao_character_check.rb b/lib/sisu/ao_character_check.rb index 314ccbf6..434902c2 100644 --- a/lib/sisu/ao_character_check.rb +++ b/lib/sisu/ao_character_check.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_character_check.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_CharacterCheck class Check def initialize(data) @@ -97,4 +95,3 @@ module SiSU_AO_CharacterCheck end end end -__END__ diff --git a/lib/sisu/ao_composite.rb b/lib/sisu/ao_composite.rb index 353b8ce9..81b3808f 100644 --- a/lib/sisu/ao_composite.rb +++ b/lib/sisu/ao_composite.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** composite documents, assemble/build documents from other documents - or parts of marked up text - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_composite.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Assemble require_relative 'se' # se.rb require_relative 'utils_composite' # utils_composite.rb diff --git a/lib/sisu/ao_doc_objects.rb b/lib/sisu/ao_doc_objects.rb index 7e1b7741..4e0366b1 100644 --- a/lib/sisu/ao_doc_objects.rb +++ b/lib/sisu/ao_doc_objects.rb @@ -1,58 +1,56 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** document abstraction - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_doc_objects.rb;hb=HEAD] - -=end -module SiSU_AO_DocumentStructure +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# +Module SiSU_AO_DocumentStructure class Extract def extract(h,o) h ? h : o diff --git a/lib/sisu/ao_doc_str.rb b/lib/sisu/ao_doc_str.rb index 31fd62ec..08394b92 100644 --- a/lib/sisu/ao_doc_str.rb +++ b/lib/sisu/ao_doc_str.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** document abstraction - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_doc_str.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_DocumentStructureExtract require_relative 'ao_persist' # ao_persist.rb class Instantiate < SiSU_Param::Parameters::Instructions diff --git a/lib/sisu/ao_endnotes.rb b/lib/sisu/ao_endnotes.rb index ecfae936..96b217e7 100644 --- a/lib/sisu/ao_endnotes.rb +++ b/lib/sisu/ao_endnotes.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_doc_endnotes.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Endnotes class Endnotes def initialize(md,data,endnote_array=nil) diff --git a/lib/sisu/ao_expand_insertions.rb b/lib/sisu/ao_expand_insertions.rb index c65b62d6..38e05d9c 100644 --- a/lib/sisu/ao_expand_insertions.rb +++ b/lib/sisu/ao_expand_insertions.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_expand_insertions.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Insertions class Insertions def initialize(md,data) diff --git a/lib/sisu/ao_hash_digest.rb b/lib/sisu/ao_hash_digest.rb index 9518af5a..853fc9e6 100644 --- a/lib/sisu/ao_hash_digest.rb +++ b/lib/sisu/ao_hash_digest.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_hash_digest.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Hash require_relative 'shared_markup_alt.rb' #shared_markup_alt.rb class ObjectDigest diff --git a/lib/sisu/ao_idx.rb b/lib/sisu/ao_idx.rb index 8dc53e99..506c2cc7 100644 --- a/lib/sisu/ao_idx.rb +++ b/lib/sisu/ao_idx.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_idx.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_BookIndex class BookIndex def initialize(md,data,env=nil) diff --git a/lib/sisu/ao_images.rb b/lib/sisu/ao_images.rb index d563aef8..ce685090 100644 --- a/lib/sisu/ao_images.rb +++ b/lib/sisu/ao_images.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_images.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Images class Images begin diff --git a/lib/sisu/ao_metadata.rb b/lib/sisu/ao_metadata.rb index c3144fb2..165d5fb2 100644 --- a/lib/sisu/ao_metadata.rb +++ b/lib/sisu/ao_metadata.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_metadata.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Metadata class Metadata def initialize(md,metad) diff --git a/lib/sisu/ao_misc_arrange.rb b/lib/sisu/ao_misc_arrange.rb index d76f2b5b..5f107f04 100644 --- a/lib/sisu/ao_misc_arrange.rb +++ b/lib/sisu/ao_misc_arrange.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_misc_arrange.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_MiscArrangeText class SI def initialize(md,data) diff --git a/lib/sisu/ao_numbering.rb b/lib/sisu/ao_numbering.rb index 777c5a44..7cfff564 100644 --- a/lib/sisu/ao_numbering.rb +++ b/lib/sisu/ao_numbering.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_numbering.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Numbering class Numbering attr_accessor :obj,:osp,:ocn,:lv,:name,:index,:comment diff --git a/lib/sisu/ao_persist.rb b/lib/sisu/ao_persist.rb index d2a39c90..9c7d32c4 100644 --- a/lib/sisu/ao_persist.rb +++ b/lib/sisu/ao_persist.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** document abstraction - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_persist.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Persist class Persist @@persistance=nil diff --git a/lib/sisu/ao_syntax.rb b/lib/sisu/ao_syntax.rb index 61a2ef87..163d080f 100644 --- a/lib/sisu/ao_syntax.rb +++ b/lib/sisu/ao_syntax.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** Syntax for markup, input markup syntaxes, determined here - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_syntax.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Syntax class Words def initialize(line,md,mkp) diff --git a/lib/sisu/cgi.rb b/lib/sisu/cgi.rb index ecd45df7..4836f385 100644 --- a/lib/sisu/cgi.rb +++ b/lib/sisu/cgi.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** generates naive cgi search form for search of sisu database (pgsql sqlite) - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/cgi.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# cgi +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_CGI #% database building documents require_relative 'se' # se.rb require_relative 'cgi_pgsql' # cgi_pgsql.rb diff --git a/lib/sisu/cgi_pgsql.rb b/lib/sisu/cgi_pgsql.rb index 1cc277f1..490ab62d 100644 --- a/lib/sisu/cgi_pgsql.rb +++ b/lib/sisu/cgi_pgsql.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** generates naive cgi search form for search of sisu database (pgsql) - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/cgi_pgsql.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# cgi +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_CGI_PgSQL #% database building documents require_relative 'se' # se.rb require_relative 'cgi_sql_common' # cgi_sql_common.rb diff --git a/lib/sisu/cgi_sql_common.rb b/lib/sisu/cgi_sql_common.rb index b18a26c7..2c75393e 100644 --- a/lib/sisu/cgi_sql_common.rb +++ b/lib/sisu/cgi_sql_common.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** generates naive cgi search form for search of sisu database (pgsql sqlite) - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/cgi_sql_common.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# cgi +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_CGI_SQL class CGI_Common def initialize(webserv,opt,image_src,dir) @@ -106,7 +104,7 @@ module SiSU_CGI_SQL * Standard SiSU meta-markup syntax, and the * Standard SiSU object citation numbering and system - * Hompages: + * Homepages: [http://www.jus.uio.no/sisu] [http://www.sisudoc.org] diff --git a/lib/sisu/cgi_sqlite.rb b/lib/sisu/cgi_sqlite.rb index 7ca4ba83..cc77c45e 100644 --- a/lib/sisu/cgi_sqlite.rb +++ b/lib/sisu/cgi_sqlite.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** generates naive cgi search form for search of sisu database (sqlite) - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/cgi_sql_sqlite.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# cgi +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_CGI_SQLite #% database building documents require_relative 'se' # se.rb require_relative 'cgi_sql_common' # cgi_sql_common.rb diff --git a/lib/sisu/conf.rb b/lib/sisu/conf.rb index 4622bebc..800add9c 100644 --- a/lib/sisu/conf.rb +++ b/lib/sisu/conf.rb @@ -1,57 +1,54 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** configuration - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/conf.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# config +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, Ralph Amissah, +# +# - 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Initialize require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/constants.rb b/lib/sisu/constants.rb index 1c126201..da25b7cd 100644 --- a/lib/sisu/constants.rb +++ b/lib/sisu/constants.rb @@ -1,59 +1,56 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** constants, system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/constants.rb;hb=HEAD] - -=end -#Ax,Xx,Mx,Rx,Hx,Dx,Px,Ep,Db,Gt,Tex=Array.new(11){{}} -YEAR='2016' +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# shared +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# +YEAR='2021' Sfx={ txt: '.txt', txt_textile: '.textile', diff --git a/lib/sisu/css.rb b/lib/sisu/css.rb index aae9aeb8..6994e04b 100644 --- a/lib/sisu/css.rb +++ b/lib/sisu/css.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** css stylesheets - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/css.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# css +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Style require_relative 'se' # se.rb require_relative 'html_parts' # html_parts.rb diff --git a/lib/sisu/db_columns.rb b/lib/sisu/db_columns.rb index 608b59a7..8722d38d 100644 --- a/lib/sisu/db_columns.rb +++ b/lib/sisu/db_columns.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** modules shared by the different db types, dbi, postgresql, sqlite - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/db_columns.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbColumns require_relative 'se' # se.rb require_relative 'db_sqltxt' # db_sqltxt.rb diff --git a/lib/sisu/db_create.rb b/lib/sisu/db_create.rb index 5cf26e4a..e61eb7d0 100644 --- a/lib/sisu/db_create.rb +++ b/lib/sisu/db_create.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** modules shared by the different db types, dbi, postgresql, sqlite - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/db_create.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbCreate require_relative 'db_columns' # db_columns.rb class Create < SiSU_DbColumns::Columns diff --git a/lib/sisu/db_dbi.rb b/lib/sisu/db_dbi.rb index 38b2fd2a..d453dfe0 100644 --- a/lib/sisu/db_dbi.rb +++ b/lib/sisu/db_dbi.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** modules shared by the different db types, dbi, postgresql, sqlite - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/db_dbi.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbDBI require_relative 'db_columns' # db_columns.rb require_relative 'db_tests' # db_tests.rb diff --git a/lib/sisu/db_drop.rb b/lib/sisu/db_drop.rb index 848713b1..aa91a8a6 100644 --- a/lib/sisu/db_drop.rb +++ b/lib/sisu/db_drop.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** modules shared by the different db types, dbi, postgresql, sqlite - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/db_drop.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbDrop require_relative 'utils_response' # utils_response.rb class Drop diff --git a/lib/sisu/db_import.rb b/lib/sisu/db_import.rb index 9261a6a9..f021fea5 100644 --- a/lib/sisu/db_import.rb +++ b/lib/sisu/db_import.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** modules shared by the different db types, dbi, postgresql, sqlite - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/db_import.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbImport require_relative 'db_columns' # db_columns.rb require_relative 'db_load_tuple' # db_load_tuple.rb diff --git a/lib/sisu/db_indexes.rb b/lib/sisu/db_indexes.rb index ec7006de..519a0c11 100644 --- a/lib/sisu/db_indexes.rb +++ b/lib/sisu/db_indexes.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** modules shared by the different db types, dbi, postgresql, sqlite - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/db_indexes.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbIndex class Index # create documents Indexes def initialize(opt,conn='',sql_type) def initialize(opt,conn,file,sql_type) diff --git a/lib/sisu/db_load_tuple.rb b/lib/sisu/db_load_tuple.rb index d7b8e857..84561fb7 100644 --- a/lib/sisu/db_load_tuple.rb +++ b/lib/sisu/db_load_tuple.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** modules shared by the different db types, dbi, postgresql, sqlite - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/db_load_tuple.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbTuple require_relative 'db_columns' # db_columns.rb class LoadDocuments diff --git a/lib/sisu/db_remove.rb b/lib/sisu/db_remove.rb index 322f50a8..26a232a9 100644 --- a/lib/sisu/db_remove.rb +++ b/lib/sisu/db_remove.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** modules shared by the different db types, dbi, postgresql, sqlite - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/db_remove.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbRemove class Remove include SiSU_DbAction diff --git a/lib/sisu/db_select.rb b/lib/sisu/db_select.rb index 47054c4a..d2e17835 100644 --- a/lib/sisu/db_select.rb +++ b/lib/sisu/db_select.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** modules shared by the different db types, dbi, postgresql, sqlite - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/db_select.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbAction def db_action(sdb) @sdb=sdb diff --git a/lib/sisu/db_sqltxt.rb b/lib/sisu/db_sqltxt.rb index c6c2e301..7adee45c 100644 --- a/lib/sisu/db_sqltxt.rb +++ b/lib/sisu/db_sqltxt.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/db_sqltxt.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbText class Prepare def special_character_escape(str) diff --git a/lib/sisu/db_tests.rb b/lib/sisu/db_tests.rb index d7924b6d..d6e81921 100644 --- a/lib/sisu/db_tests.rb +++ b/lib/sisu/db_tests.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** modules shared by the different db types, dbi, postgresql, sqlite - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/db_tests.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbTests class Test def initialize(info,opt) diff --git a/lib/sisu/dbi.rb b/lib/sisu/dbi.rb index e6b005ec..d2bddb1d 100644 --- a/lib/sisu/dbi.rb +++ b/lib/sisu/dbi.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** postgresql module, dbi import frame - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/dbi.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DBI #% database building require_relative 'se' # se.rb include SiSU_Env; include SiSU_Screen diff --git a/lib/sisu/dbi_discrete.rb b/lib/sisu/dbi_discrete.rb index 226477c0..a80114cf 100644 --- a/lib/sisu/dbi_discrete.rb +++ b/lib/sisu/dbi_discrete.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** postgresql module, dbi import frame - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/dbi_discrete.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DBI_Discrete #% database building require_relative 'se' # se.rb include SiSU_Env; include SiSU_Screen diff --git a/lib/sisu/digests.rb b/lib/sisu/digests.rb index 0507f2ff..fcd7a753 100644 --- a/lib/sisu/digests.rb +++ b/lib/sisu/digests.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** document digests (md5|sha256) and structure processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/digests.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# digests +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DigestView require_relative 'se_hub_particulars' # se_hub_particulars.rb require_relative 'prog_text_translation' # prog_text_translation.rb diff --git a/lib/sisu/dp.rb b/lib/sisu/dp.rb index 3c7b9203..85b71c10 100644 --- a/lib/sisu/dp.rb +++ b/lib/sisu/dp.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** document parameters extracted from input files for program use - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/dp.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# param +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Param begin require 'uri' diff --git a/lib/sisu/dp_identify_markup.rb b/lib/sisu/dp_identify_markup.rb index fdc7a6ba..8439bff3 100644 --- a/lib/sisu/dp_identify_markup.rb +++ b/lib/sisu/dp_identify_markup.rb @@ -1,59 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** A conversion script for canned substitutions, a fairly generic simple tool - that can be used to store other canned conversions, used here for altering - SiSU markup - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/dp_identify_markup.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# param +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_MarkupType class MarkupIdentify @@version={} diff --git a/lib/sisu/dp_make.rb b/lib/sisu/dp_make.rb index 5e20827b..25dfca6f 100644 --- a/lib/sisu/dp_make.rb +++ b/lib/sisu/dp_make.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** document parameters make extracted for program use - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/dp_make.rb;hb=HEAD] - -=end - +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# param +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Param_Make class MdMake def initialize(str,opt,env) diff --git a/lib/sisu/embedded.rb b/lib/sisu/embedded.rb index f99e5c1e..066cc39a 100644 --- a/lib/sisu/embedded.rb +++ b/lib/sisu/embedded.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** sitemap created from parameters extracted from input file(s) - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/embedded.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Embedded require_relative 'dp' # dp.rb include SiSU_Param diff --git a/lib/sisu/errors.rb b/lib/sisu/errors.rb index 02d64638..bff4e0e8 100644 --- a/lib/sisu/errors.rb +++ b/lib/sisu/errors.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, error screen reporting - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/errors.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Errors require_relative 'se' # se.rb include SiSU_Env; include SiSU_Screen diff --git a/lib/sisu/generic_parts.rb b/lib/sisu/generic_parts.rb index 063c21af..4b1e0e6f 100644 --- a/lib/sisu/generic_parts.rb +++ b/lib/sisu/generic_parts.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** shared html parts - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_parts.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# shared +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Parts_Generic def the_url def urify(uri) diff --git a/lib/sisu/git.rb b/lib/sisu/git.rb index 9e6b9e39..3b0a040d 100644 --- a/lib/sisu/git.rb +++ b/lib/sisu/git.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/git.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Git require_relative 'dp' # dp.rb require_relative 'se' # se.rb diff --git a/lib/sisu/html.rb b/lib/sisu/html.rb index ddece373..ffe0b7b7 100644 --- a/lib/sisu/html.rb +++ b/lib/sisu/html.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** html generation, processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML begin require 'pstore' diff --git a/lib/sisu/html_concordance.rb b/lib/sisu/html_concordance.rb index c6dd3478..b80d2761 100644 --- a/lib/sisu/html_concordance.rb +++ b/lib/sisu/html_concordance.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** concordance file (html, wordmap, linked index of words in document) - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_concordance.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Concordance require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/html_format.rb b/lib/sisu/html_format.rb index b371dbee..079edb3f 100644 --- a/lib/sisu/html_format.rb +++ b/lib/sisu/html_format.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** html formating, css template - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_format.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML_Format require_relative 'html_parts' # html_parts.rb class ParagraphNumber diff --git a/lib/sisu/html_harvest.rb b/lib/sisu/html_harvest.rb index 4d6d77cc..22de54d7 100644 --- a/lib/sisu/html_harvest.rb +++ b/lib/sisu/html_harvest.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** metadata harvest, harvest metadata from document corpus - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/harvest.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# harvest +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Harvest @@the_idx_topics,@@the_idx_authors={},{} class Source @@ -104,4 +102,3 @@ WOK end end end -__END__ diff --git a/lib/sisu/html_harvest_author_format.rb b/lib/sisu/html_harvest_author_format.rb index 3ce0f3c2..20f9d3d0 100644 --- a/lib/sisu/html_harvest_author_format.rb +++ b/lib/sisu/html_harvest_author_format.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/harvest_author_format.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# harvest +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_FormatAuthor class Author def initialize(author_param) diff --git a/lib/sisu/html_harvest_authors.rb b/lib/sisu/html_harvest_authors.rb index 76f0c87f..fbf6b9bc 100644 --- a/lib/sisu/html_harvest_authors.rb +++ b/lib/sisu/html_harvest_authors.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** metadata harvest, extract authors and their writings from document set - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/harvest_authors.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# harvest +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HarvestAuthors require_relative 'html_harvest_author_format' # html_harvest_author_format.rb require_relative 'html_parts' # html_parts.rb diff --git a/lib/sisu/html_harvest_topics.rb b/lib/sisu/html_harvest_topics.rb index b9437124..d6715aa0 100644 --- a/lib/sisu/html_harvest_topics.rb +++ b/lib/sisu/html_harvest_topics.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** metadata harvest, extract topics and associated writings from document set - (topics use topic_register header) - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/harvest_topics.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# harvest +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HarvestTopics require_relative 'html_harvest_author_format' # html_harvest_author_format.rb require_relative 'html_parts' # html_parts.rb @@ -181,7 +178,7 @@ module SiSU_HarvestTopics else if (@opt.act[:verbose_plus][:set]==:on \ || @opt.act[:maintenance][:set]==:on) - p "missing required field in #{@filename} - [title]: <<#{@title}>>; [author]: <<#{@author_format}>>; [idx]: <<#{@idx_list}>>" + p "missing required field in #{@filename} - [title]: <#{@title}>; [author]: <#{@author_format}>; [idx]: <#{@idx_list}>" end end idx_array[lang]=idx_array[lang].flatten diff --git a/lib/sisu/html_lite_shared.rb b/lib/sisu/html_lite_shared.rb index b03a686c..f4260fa8 100644 --- a/lib/sisu/html_lite_shared.rb +++ b/lib/sisu/html_lite_shared.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** modules shared by db and flatfile output generators, mostly xml/xhtml/html - formatting - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_lite_shared.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_FormatShared require_relative 'html_parts' # html_parts.rb class CSS_Format diff --git a/lib/sisu/html_manifest.rb b/lib/sisu/html_manifest.rb index 1fcf1d02..28117a00 100644 --- a/lib/sisu/html_manifest.rb +++ b/lib/sisu/html_manifest.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** summary of generated outputs and metadata - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_manifest.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Manifest require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/html_minitoc.rb b/lib/sisu/html_minitoc.rb index 158e391b..9346af8b 100644 --- a/lib/sisu/html_minitoc.rb +++ b/lib/sisu/html_minitoc.rb @@ -1,228 +1,226 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** html minitoc - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_minitoc.rb;hb=HEAD] - -=end - module SiSU_HTML_MiniToc - require_relative 'html_tune' # html_tune.rb - include SiSU_HTML_Tune - class TocMini - @@seg_mini=nil - @@seg_url='' - @@firstseg=nil - def initialize(md,data) - @md,@data=md,data - @pat_strip_heading_name=/
(.+?)<\/a>/ - @tell=SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set]) if @md +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# +module SiSU_HTML_MiniToc + require_relative 'html_tune' # html_tune.rb + include SiSU_HTML_Tune + class TocMini + @@seg_mini=nil + @@seg_url='' + @@firstseg=nil + def initialize(md,data) + @md,@data=md,data + @pat_strip_heading_name=/(.+?)<\/a>/ + @tell=SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set]) if @md + end + def songsheet + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set],'Toc').txt_grey end - def songsheet - if (@md.opt.act[:verbose][:set]==:on \ - || @md.opt.act[:verbose_plus][:set]==:on \ - || @md.opt.act[:maintenance][:set]==:on) - SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set],'Toc').txt_grey - end - toc=nil - @toc=[] - @data.each do |txt| - if txt.is ==:heading \ - || txt.is ==:heading_insert - txt.obj=txt.obj.gsub(/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]}).+?(?:#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/m,''). #remove endnotes from toc - gsub(/ \d+<\/sup> <\/a>/,''). - gsub(@pat_strip_heading_name,'\1') - #gsub(/(.*?)<\/a>(.*)/,'\1') #2002w42 altered gsub - problematic? - suspect - toc=case txt.ln - when 0 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_0 - when 1 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_1 - when 2 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_2 - when 3 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_3 - when 4 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_4 - when 5 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_5 - when 6 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_6 - else - end - @toc << toc + toc=nil + @toc=[] + @data.each do |txt| + if txt.is ==:heading \ + || txt.is ==:heading_insert + txt.obj=txt.obj.gsub(/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]}).+?(?:#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/m,''). #remove endnotes from toc + gsub(/ \d+<\/sup> <\/a>/,''). + gsub(@pat_strip_heading_name,'\1') + #gsub(/(.*?)<\/a>(.*)/,'\1') #2002w42 altered gsub - problematic? - suspect + toc=case txt.ln + when 0 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_0 + when 1 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_1 + when 2 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_2 + when 3 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_3 + when 4 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_4 + when 5 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_5 + when 6 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_6 + else end + @toc << toc end - @toc end - protected - def level_concordance - format_head_toc=SiSU_HTML_Format::HeadToc.new(@md) - @@seg_mini << format_head_toc.mini_seg_concordance + @toc + end + protected + def level_concordance + format_head_toc=SiSU_HTML_Format::HeadToc.new(@md) + @@seg_mini << format_head_toc.mini_seg_concordance + end + def level_metadata + format_head_toc=SiSU_HTML_Format::HeadToc.new(@md) + @@seg_mini << format_head_toc.mini_seg_metadata + end + def level_word_index + format_head_toc=SiSU_HTML_Format::HeadToc.new(@d0c) + @@seg_mini << format_head_toc.mini_concordance + end + def level_0 + txt=@data + if (txt.is ==:heading \ + || txt.is ==:heading_insert) \ + && txt.ocn !=0 + txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1') end - def level_metadata - format_head_toc=SiSU_HTML_Format::HeadToc.new(@md) - @@seg_mini << format_head_toc.mini_seg_metadata + txt_obj={ txt: txt.obj } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc_mini=format_toc.mini_lev0 + toc_mini + end + def level_1 + txt=@data + if (txt.is ==:heading \ + || txt.is ==:heading_insert) \ + && txt.ocn !=0 + txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1') end - def level_word_index - format_head_toc=SiSU_HTML_Format::HeadToc.new(@d0c) - @@seg_mini << format_head_toc.mini_concordance + title=unless txt.obj =~/Document Information/ then txt.obj + else + link='metadata' + %{#{txt.obj}} end - def level_0 - txt=@data - if (txt.is ==:heading \ - || txt.is ==:heading_insert) \ - && txt.ocn !=0 - txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1') - end - txt_obj={ txt: txt.obj } - format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) - toc_mini=format_toc.mini_lev0 - toc_mini + txt_obj={ txt: title } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc_mini=if txt.name =~/^meta/ \ + and txt.obj=~/Document Information/ + format_toc.mini_tail + else format_toc.mini_lev1 end - def level_1 - txt=@data - if (txt.is ==:heading \ - || txt.is ==:heading_insert) \ - && txt.ocn !=0 - txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1') - end - title=unless txt.obj =~/Document Information/ then txt.obj - else - link='metadata' - %{#{txt.obj}} - end - txt_obj={ txt: title } - format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) - toc_mini=if txt.name =~/^meta/ \ - and txt.obj=~/Document Information/ - format_toc.mini_tail - else format_toc.mini_lev1 - end - toc_mini + toc_mini + end + def level_2 + txt=@data + if (txt.is ==:heading \ + || txt.is ==:heading_insert) \ + && txt.ocn !=0 + txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1') end - def level_2 - txt=@data - if (txt.is ==:heading \ - || txt.is ==:heading_insert) \ - && txt.ocn !=0 - txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1') + txt_obj={ txt: txt.obj } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc_mini=format_toc.mini_lev2 + toc_mini + end + def level_3 + txt=@data + txt_obj={ txt: txt.obj } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc_mini=format_toc.mini_lev3 + toc_mini + end + def level_4 + txt=@data + unless txt.obj =~/~metadata/ + if txt.ln ==4 + fnh={ + fn: txt.name, + } + f=@md.file.base_filename.html_seg(fnh) + seg_link=%{ + #{txt.obj} + } + @@seg_url=txt.name + elsif txt.obj =~/\d+.\d+.\d+.\d+|\d+.\d+.\d+|\d+.\d+|\d+/ + fn,hd=/^(\d+.\d+.\d+.\d+|\d+.\d+.\d+|\d+.\d+|\d+)(.*)/.match(dob.obj)[1,2] + fnh={ + fn: fn, + } + f=@md.file.base_filename.html_seg(fnh) + seg_link=%{#{fn} #{hd} } end - txt_obj={ txt: txt.obj } - format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) - toc_mini=format_toc.mini_lev2 - toc_mini - end - def level_3 - txt=@data - txt_obj={ txt: txt.obj } + txt_obj={ txt: seg_link } format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) - toc_mini=format_toc.mini_lev3 + toc_mini=format_toc.mini_lev4 toc_mini end - def level_4 - txt=@data - unless txt.obj =~/~metadata/ - if txt.ln ==4 - fnh={ - fn: txt.name, - } - f=@md.file.base_filename.html_seg(fnh) - seg_link=%{ - #{txt.obj} - } - @@seg_url=txt.name - elsif txt.obj =~/\d+.\d+.\d+.\d+|\d+.\d+.\d+|\d+.\d+|\d+/ - fn,hd=/^(\d+.\d+.\d+.\d+|\d+.\d+.\d+|\d+.\d+|\d+)(.*)/.match(dob.obj)[1,2] - fnh={ - fn: fn, - } - f=@md.file.base_filename.html_seg(fnh) - seg_link=%{#{fn} #{hd} } - end - txt_obj={ txt: seg_link } - format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) - toc_mini=format_toc.mini_lev4 - toc_mini - end + end + def level_5 + txt=@data + if (txt.is ==:heading \ + || txt.is ==:heading_insert) \ + && txt.ocn !=0 + txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1') end - def level_5 - txt=@data - if (txt.is ==:heading \ - || txt.is ==:heading_insert) \ - && txt.ocn !=0 - txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1') - end - fnh={ - fn: @@seg_url, - } - f=@md.file.base_filename.html_seg(fnh) - lnk_n_txt=%{ + fnh={ + fn: @@seg_url, + } + f=@md.file.base_filename.html_seg(fnh) + lnk_n_txt=%{ #{txt.obj} } - txt_obj={ txt: lnk_n_txt } - format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) - toc_mini=format_toc.mini_lev5 - toc_mini + txt_obj={ txt: lnk_n_txt } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc_mini=format_toc.mini_lev5 + toc_mini + end + def level_6 + txt=@data + if (txt.is ==:heading \ + || txt.is ==:heading_insert) \ + && txt.ocn !=0 + txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1') end - def level_6 - txt=@data - if (txt.is ==:heading \ - || txt.is ==:heading_insert) \ - && txt.ocn !=0 - txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1') - end - fnh={ - fn: @@seg_url, - } - f=@md.file.base_filename.html_seg(fnh) - lnk_n_txt=%{ + fnh={ + fn: @@seg_url, + } + f=@md.file.base_filename.html_seg(fnh) + lnk_n_txt=%{ #{txt.obj} } - txt_obj={ txt: lnk_n_txt } - format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) - toc_mini=format_toc.mini_lev6 - toc_mini - end + txt_obj={ txt: lnk_n_txt } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc_mini=format_toc.mini_lev6 + toc_mini end end +end __END__ diff --git a/lib/sisu/html_parts.rb b/lib/sisu/html_parts.rb index 0d4b8b06..60e0b4ea 100644 --- a/lib/sisu/html_parts.rb +++ b/lib/sisu/html_parts.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** shared html parts - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_parts.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Parts_HTML require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic diff --git a/lib/sisu/html_persist.rb b/lib/sisu/html_persist.rb index 5ef100f3..1aa38eab 100644 --- a/lib/sisu/html_persist.rb +++ b/lib/sisu/html_persist.rb @@ -1,58 +1,56 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** html segment generation, processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_persist.rb;hb=HEAD] - -=end -module SiSU_HTML_Persist +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# +Module SiSU_HTML_Persist class Persist @@persist=nil attr_accessor :is0,:is1,:is2,:is3,:is4,:heading0,:heading1,:heading2,:heading3,:heading4, :title, :dot_nav, :tocband_banner, :tocband_bannerless, :headings, :heading_endnotes, :main, :endnote_all, :tail, :credits, :heading_idx, :idx, :seg_endnotes, :seg_endnotes_array, :segtocband, :get_hash_fn, :get_hash_to, :seg_subtoc, :seg_subtoc_array, :fn, :seg_name ,:seg_name_x,:seg_name_x_tracker diff --git a/lib/sisu/html_promo.rb b/lib/sisu/html_promo.rb index 1ff1c1d8..b7754e99 100644 --- a/lib/sisu/html_promo.rb +++ b/lib/sisu/html_promo.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** html advertising component, build here, mockup - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_promo.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML_Promo require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/html_scroll.rb b/lib/sisu/html_scroll.rb index f2a8bb4f..650c90dd 100644 --- a/lib/sisu/html_scroll.rb +++ b/lib/sisu/html_scroll.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** html scroll generation, processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_scroll.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML_Scroll require_relative 'html_shared' # html_shared.rb require_relative 'html' # html.rb diff --git a/lib/sisu/html_segments.rb b/lib/sisu/html_segments.rb index c31e90b8..99f6b760 100644 --- a/lib/sisu/html_segments.rb +++ b/lib/sisu/html_segments.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** html segment generation, processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_segments.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML_Seg require_relative 'html_shared' # html_shared.rb require_relative 'html' # html.rb diff --git a/lib/sisu/html_shared.rb b/lib/sisu/html_shared.rb index 40ee44dc..90f60d0a 100644 --- a/lib/sisu/html_shared.rb +++ b/lib/sisu/html_shared.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** shared html parts - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_shared.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML_Shared require_relative 'html_table' # html_table.rb class TableHTML < SiSU_HTML_Table::TableHTML diff --git a/lib/sisu/html_table.rb b/lib/sisu/html_table.rb index e341ed14..2daffc2e 100644 --- a/lib/sisu/html_table.rb +++ b/lib/sisu/html_table.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** shared html parts, table - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_table.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML_Table require_relative 'xhtml_table' # xhtml_table.rb require_relative 'html_parts' # html_parts.rb diff --git a/lib/sisu/html_tune.rb b/lib/sisu/html_tune.rb index e9a489ad..c1c8a531 100644 --- a/lib/sisu/html_tune.rb +++ b/lib/sisu/html_tune.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** html generation, html pre-processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_tune.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# require_relative 'dp' # dp.rb module SiSU_HTML_Tune require_relative 'se' # se.rb diff --git a/lib/sisu/hub.rb b/lib/sisu/hub.rb index 49d569a5..733d76fc 100644 --- a/lib/sisu/hub.rb +++ b/lib/sisu/hub.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** hub - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/hub.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# hub +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU require_relative 'constants' # constants.rb require_relative 'se' # se.rb diff --git a/lib/sisu/hub_actions.rb b/lib/sisu/hub_actions.rb index a946591d..ac692bc7 100644 --- a/lib/sisu/hub_actions.rb +++ b/lib/sisu/hub_actions.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** hub, perform selected actions - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/hub_actions.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# hub +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Hub_Actions class HubActions require_relative 'utils_composite' # utils_composite.rb @@ -1104,15 +1102,15 @@ module SiSU_Hub_Actions end def webrick # -W prt=SiSU_Env::InfoEnv.new(@fns).port.webrick_port - puts %{#{@cX.blue}<<#{@cX.off}#{@cX.green}Start Webrick web server on port: #{prt}#{@cX.off}#{@cX.blue}>> #{@cX.off*2} } + puts %{#{@cX.blue}[#{@cX.off}#{@cX.green}Start Webrick web server on port: #{prt}#{@cX.off}#{@cX.blue}] #{@cX.off*2} } require_relative 'webrick' SiSU_Webserv::WebrickStart.new end def not_found - puts "\n#{@cX.fuchsia}FILE NOT FOUND:#{@cX.off} << #{@opt.fns} >> - requested #{@opt.selections.str} processing skipped\n" + puts "\n#{@cX.fuchsia}FILE NOT FOUND:#{@cX.off} [ #{@opt.fns} ] - requested #{@opt.selections.str} processing skipped\n" end def convert_name_message(fns,type,i,o,rune) - %{\nIn filename: "#{@cX.fuchsia}#{fns}#{@cX.off}" << #{type} >> #{@cX.fuchsia}is apre 0.36 markup filename.#{@cX.off} #{@cX.brown}Please rename your file.#{@cX.off}\n\tAs of sisu-0.37, SiSU markup files with #{@cX.brown}the extensions #{i} should be re-named #{o}#{@cX.off}\n\tif you have the program called 'rename' installed, the following rune should do the trick:\n\t\t#{rune}\n\talternatively try:\n\t\tsisu --convert --36to37 #{fns}\n\trequested #{@opt.selections.str} processing skipped\n} + %{\nIn filename: "#{@cX.fuchsia}#{fns}#{@cX.off}" [ #{type} ] #{@cX.fuchsia}is apre 0.36 markup filename.#{@cX.off} #{@cX.brown}Please rename your file.#{@cX.off}\n\tAs of sisu-0.37, SiSU markup files with #{@cX.brown}the extensions #{i} should be re-named #{o}#{@cX.off}\n\tif you have the program called 'rename' installed, the following rune should do the trick:\n\t\t#{rune}\n\talternatively try:\n\t\tsisu --convert --36to37 #{fns}\n\trequested #{@opt.selections.str} processing skipped\n} end def not_recognised case @opt.fns @@ -1126,9 +1124,9 @@ module SiSU_Hub_Actions puts convert_name_message(@opt.fns,type,'.r1 .r2 and .r3','.sst',rune) puts %{\n\tNote also that you will need to change the names of the files called/required\n\twithin the document text to build the composite document\n\t\t.s1 .s2 .s3 should be .sst \n\t\t.si should be .ssi\n\trequested #{@opt.selections.str} processing skipped\n} when /(\.ssi)$/ - puts "\n#{@cX.fuchsia}component filetype:#{@cX.off} << #{@opt.fns} >> - is not a processed filetype, (it may be used as a component of a .ssm markup file)\n\trequested #{@opt.selections.str} processing skipped\n" + puts "\n#{@cX.fuchsia}component filetype:#{@cX.off} [ #{@opt.fns} ] - is not a processed filetype, (it may be used as a component of a .ssm markup file)\n\trequested #{@opt.selections.str} processing skipped\n" else - puts "\n#{@cX.fuchsia}FILETYPE NOT RECOGNISED:#{@cX.off} << #{@opt.fns} >> - is not a recognized filetype,\n\trequested #{@opt.selections.str} processing skipped\n" + puts "\n#{@cX.fuchsia}FILETYPE NOT RECOGNISED:#{@cX.off} [ #{@opt.fns} ] - is not a recognized filetype,\n\trequested #{@opt.selections.str} processing skipped\n" end end end diff --git a/lib/sisu/hub_loop_markup_files.rb b/lib/sisu/hub_loop_markup_files.rb index 28751b4e..ca02c800 100644 --- a/lib/sisu/hub_loop_markup_files.rb +++ b/lib/sisu/hub_loop_markup_files.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** hub - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/hub_loop_markup_files.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# hub +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Hub_Loops require_relative 'constants' # constants.rb require_relative 'se' # se.rb diff --git a/lib/sisu/hub_options.rb b/lib/sisu/hub_options.rb index 194858f7..9f71e74b 100644 --- a/lib/sisu/hub_options.rb +++ b/lib/sisu/hub_options.rb @@ -1,59 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** hub, command line options parsing - -*** hub - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/hub_options.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# hub +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Commandline begin require 'pathname' diff --git a/lib/sisu/i18n.rb b/lib/sisu/i18n.rb index f683858f..e9f11d50 100644 --- a/lib/sisu/i18n.rb +++ b/lib/sisu/i18n.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** internationalisation - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/i18n.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# i18n +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_i18n @@language_table,@@language_list=nil,nil class Languages @@ -328,373 +326,4 @@ module SiSU_TextTranslation end end end -#% Language List po4a -http://www.debian.org/international/l10n/po/ -see polyglossia for subset -* CSB (Unknown language) -* KAB (Unknown language) -* TLH (Unknown language) -* aa (Afar) -* ab (Abkhazian) -* af (Afrikaans) -* af_ZA (Afrikaans, as spoken in South Africa) -* am (Amharic) -* an (Unknown language) -* ang (Unknown language) -* ar (Arabic) -* ar_AR (Arabic, as spoken in Argentina) -* ar_EG (Arabic, as spoken in Egypt) -* ar_OM (Arabic, as spoken in Oman) -* ar_PS (Arabic, as spoken in Palestinian Territory, Occupied) -* ar_SA (Arabic, as spoken in Saudi Arabia) -* ar_SY (Arabic, as spoken in Syrian Arab Republic) -* as (Assamese) -* ast (Unknown language) -* ay (Aymara) -* az (Azerbaijani) -* az_IR (Azerbaijani, as spoken in Iran) -* be (Belarusian) -* be@latin (Unknown language) -* be@tarask (Unknown language) -* bem (Unknown language) -* bg (Bulgarian) -* bg_BG (Bulgarian, as spoken in Bulgaria) -* bi (Bislama) -* bn (Bengali) -* bn_BD (Bengali, as spoken in Bangladesh) -* bn_IN (Bengali, as spoken in India) -* bo (Tibetan) -* br (Breton) -* bs (Bosnian) -* bs_BA (Bosnian, as spoken in Bosnia and Herzegovina) -* bs_BS (Bosnian, as spoken in Bahamas) -* byn (Unknown language) -* ca (Catalan) -* ca@valencia (Unknown language) -* ca_AD (Catalan, as spoken in Andorra) -* ca_ES (Catalan, as spoken in Spain) -* ca_ES@valencia (Unknown language) -* ca_FR (Catalan, as spoken in France) -* ca_IT (Catalan, as spoken in Italy) -* co (Corsican) -* crh (Unknown language) -* cs (Czech) -* cs_CZ (Czech, as spoken in Czech Republic) -* csb (Unknown language) -* cy (Welsh) -* cy_GB (Welsh, as spoken in Great Britain) -* cz (Unknown language) -* da (Danish) -* da_DK (Danish, as spoken in Denmark) -* de (German) -* de_AT (German, as spoken in Austria) -* de_CH (German, as spoken in Switzerland) -* de_DE (German, as spoken in Germany) -* dk (Unknown language) -* dz (Dzongkha) -* el (Greek) -* el_GR (Greek, as spoken in Greece) -* en (English) -* en@boldquot (Unknown language) -* en@quot (Unknown language) -* en@shaw (Unknown language) -* en_AU (English, as spoken in Australia) -* en_CA (English, as spoken in Canada) -* en_GB (English, as spoken in Great Britain) -* en_NZ (English, as spoken in New Zealand) -* en_US (English, as spoken in United States) -* en_US@piglatin (Unknown language) -* en_ZA (English, as spoken in South Africa) -* eo (Esperanto) -* es (Spanish) -* es_AR (Spanish, as spoken in Argentina) -* es_CL (Spanish, as spoken in Chile) -* es_CO (Spanish, as spoken in Colombia) -* es_CR (Spanish, as spoken in Costa Rica) -* es_DO (Spanish, as spoken in Dominican Republic) -* es_EC (Spanish, as spoken in Ecuador) -* es_ES (Spanish, as spoken in Spain) -* es_GA (Spanish, as spoken in Gabon) -* es_GT (Spanish, as spoken in Guatemala) -* es_HN (Spanish, as spoken in Honduras) -* es_LA (Spanish, as spoken in Lao People''s Democratic Republic) -* es_MX (Spanish, as spoken in Mexico) -* es_NI (Spanish, as spoken in Nicaragua) -* es_PA (Spanish, as spoken in Panama) -* es_PE (Spanish, as spoken in Peru) -* es_PR (Spanish, as spoken in Puerto Rico) -* es_SV (Spanish, as spoken in El Salvador) -* es_UY (Spanish, as spoken in Uruguay) -* es_VE (Spanish, as spoken in Venezuela) -* et (Estonian) -* et_EE (Estonian, as spoken in Estonia) -* eu (Basque) -* eu_ES (Basque, as spoken in Spain) -* fa (Persian) -* fa_AF (Persian, as spoken in Afghanistan) -* fa_IR (Persian, as spoken in Iran) -* fi (Finnish) -* fi_FI (Finnish, as spoken in Finland) -* fil (Unknown language) -* fo (Faeroese) -* fo_FO (Faeroese, as spoken in Faroe Islands) -* fr (French) -* fr_BE (French, as spoken in Belgium) -* fr_CA (French, as spoken in Canada) -* fr_CH (French, as spoken in Switzerland) -* fr_FR (French, as spoken in France) -* fr_FX (French, as spoken in France, Metropolitan) -* fr_LU (French, as spoken in Luxembourg) -* frp (Unknown language) -* fur (Unknown language) -* fy (Frisian) -* fy_NL (Frisian, as spoken in Netherlands) -* ga (Irish) -* gd (Gaelic (Scots)) -* gez (Unknown language) -* gl (Galician) -* gl_ES (Galician, as spoken in Spain) -* gn (Guarani) -* gu (Gujarati) -* gv (Manx) -* ha (Hausa) -* he (Hebrew) -* he_IL (Hebrew, as spoken in Israel) -* hi (Hindi) -* hne (Unknown language) -* hr (Croatian) -* hr_HR (Croatian, as spoken in Croatia) -* ht (Unknown language) -* hu (Hungarian) -* hu_HU (Hungarian, as spoken in Hungary) -* hy (Armenian) -* ia (Interlingua) -* id (Indonesian) -* id_ID (Indonesian, as spoken in Indonesia) -* ig (Unknown language) -* io (Unknown language) -* is (Icelandic) -* is_IS (Icelandic, as spoken in Iceland) -* it (Italian) -* it_CH (Italian, as spoken in Switzerland) -* it_IT (Italian, as spoken in Italy) -* iu (Inuktitut) -* ja (Japanese) -* ja_JP (Japanese, as spoken in Japan) -* jv (Unknown language) -* jv_ID (Unknown language) -* ka (Georgian) -* kab (Unknown language) -* kk (Kazakh) -* kl (Kalaallisut) -* km (Khmer) -* km_KH (Khmer, as spoken in Cambodia) -* kn (Kannada) -* ko (Korean) -* ko_KR (Korean, as spoken in Korea) -* ks (Kashmiri) -* ku (Kurdish) -* kw (Cornish) -* ky (Kirghiz) -* la (Latin) -* lb (Letzeburgesch) -* lg (Unknown language) -* li (Unknown language) -* ln (Lingala) -* lo (Lao) -* lt (Lithuanian) -* lt_LT (Lithuanian, as spoken in Lithuania) -* lv (Latvian) -* lv_LV (Latvian, as spoken in Latvia) -* mai (Unknown language) -* mal (Unknown language) -* mg (Malagasy) -* mi (Maori) -* mk (Macedonian) -* mk_MK (Macedonian, as spoken in Macedonia, the Former Yugoslav Republic of) -* ml (Malayalam) -* ml_IN (Malayalam, as spoken in India) -* ml_ML (Malayalam, as spoken in Mali) -* mn (Mongolian) -* mr (Marathi) -* ms (Malay) -* ms_MY (Malay, as spoken in Malaysia) -* mt (Maltese) -* my (Burmese) -* my_MM (Burmese, as spoken in Myanmar) -* na (Nauru) -* nb (Norwegian Bokmål) -* nb_NO (Norwegian Bokmål, as spoken in Norway) -* nds (Unknown language) -* ne (Nepali) -* new (Unknown language) -* nl (Dutch) -* nl_BE (Dutch, as spoken in Belgium) -* nl_NL (Dutch, as spoken in Netherlands) -* nn (Norwegian Nynorsk) -* nn_NO (Norwegian Nynorsk, as spoken in Norway) -* no (Norwegian) -* no_NO (Norwegian, as spoken in Norway) -* nr (Ndebele, South) -* nso (Unknown language) -* oc (Occitan (post 1500)) -* oc_FR (Occitan (post 1500), as spoken in France) -* om (Oromo) -* or (Oriya) -* pa (Panjabi) -* pl (Polish) -* pl_PL (Polish, as spoken in Poland) -* pms (Unknown language) -* ps (Pushto) -* pt (Portuguese) -* pt_BR (Portuguese, as spoken in Brazil) -* pt_PT (Portuguese, as spoken in Portugal) -* qu (Quechua) -* rm (Rhaeto-Romance) -* ro (Romanian) -* ro_RO (Romanian, as spoken in Romania) -* ru (Russian) -* ru_RU (Russian, as spoken in Russia) -* rw (Kinyarwanda) -* sa (Sanskrit) -* sc (Sardinian) -* sd (Sindhi) -* se (Sami) -* se_NO (Sami, as spoken in Norway) -* si (Sinhalese) -* si_LK (Sinhalese, as spoken in Sri Lanka) -* si_SI (Sinhalese, as spoken in Slovenia) -* sk (Slovak) -* sk_SK (Slovak, as spoken in Slovakia) -* sl (Slovenian) -* sl_SI (Slovenian, as spoken in Slovenia) -* sl_SL (Slovenian, as spoken in Sierra Leone) -* so (Somali) -* sp (Unknown language) -* sq (Albanian) -* sq_AL (Albanian, as spoken in Albania) -* sr (Serbian) -* sr@Latn (Unknown language) -* sr@ije (Unknown language) -* sr@ijekavian (Unknown language) -* sr@ijekavianlatin (Unknown language) -* sr@latin (Unknown language) -* sr_SR (Serbian, as spoken in Suriname) -* sr_YU (Serbian, as spoken in Yugoslavia) -* st (Sotho) -* su (Sundanese) -* su_ID (Sundanese, as spoken in Indonesia) -* sv (Swedish) -* sv_SE (Swedish, as spoken in Sweden) -* sw (Swahili) -* ta (Tamil) -* ta_LK (Tamil, as spoken in Sri Lanka) -* te (Telugu) -* tg (Tajik) -* th (Thai) -* th_TH (Thai, as spoken in Thailand) -* ti (Tigrinya) -* tig (Unknown language) -* tk (Turkmen) -* tl (Tagalog) -* tlh (Unknown language) -* to (Tonga) -* tr (Turkish) -* tr_TR (Turkish, as spoken in Turkey) -* tt (Tatar) -* ug (Uighur) -* ug_CN (Uighur, as spoken in China) -* uk (Ukrainian) -* uk_UA (Ukrainian, as spoken in Ukraine) -* ur (Urdu) -* ur_PK (Urdu, as spoken in Pakistan) -* uz (Uzbek) -* uz@cyrillic (Unknown language) -* ve (Unknown language) -* vi (Vietnamese) -* vi_AR (Vietnamese, as spoken in Argentina) -* vi_DE (Vietnamese, as spoken in Germany) -* vi_PL (Vietnamese, as spoken in Poland) -* vi_TR (Vietnamese, as spoken in Turkey) -* vi_VN (Vietnamese, as spoken in Vietnam) -* wa (Unknown language) -* wal (Unknown language) -* wo (Wolof) -* xh (Xhosa) -* yi (Yiddish) -* yo (Yoruba) -* zh (Chinese) -* zh_CN (Chinese, as spoken in China) -* zh_HK (Chinese, as spoken in Hong Kong) -* zh_TW (Chinese, as spoken in Taiwan) -* zu (Zulu) - - 'sq'; 'albanian' - 'am'; 'amharic' -#'ar'; 'arabic' # see polyglossia - 'hy'; 'armenian' -#''; 'asturian' # polyglossia -#''; 'bahasai' # polyglossia -#''; 'bahasam' # polyglossia - 'eu'; 'basque' - 'bn'; 'bengali' - 'pt_BR'; 'brazilian' - 'br'; 'breton' - 'bg'; 'bulgarian' - 'ca'; 'catalan' # see polyglossia -#''; 'coptic' # polyglossia - 'hr'; 'croatian' - 'cs'; 'czech' - 'da'; 'danish' -#''; 'divehi' # polyglossia - 'nl'; 'dutch' # see polyglossia - 'en'; 'english' # see polyglossia - 'eo'; 'esperanto' # see polyglossia - 'et'; 'estonian' - 'gl'; 'galician' - 'de'; 'german' - 'el'; 'greek' #gl ? - 'he'; 'hebrew' - 'hi'; 'hindi' - 'is'; 'icelandic' - 'ia'; 'interlingua' - 'ga'; 'irish' - 'it'; 'italian' -#''; 'farsi' # polyglossia - 'fi'; 'finnish' - 'fr'; 'french' - 'lo'; 'lao' - 'la'; 'latin' - 'lv'; 'latvian' - 'lt'; 'lithuanian' -#''; 'lsorbian' # polyglossia -#''; 'magyar' # polyglossia - 'ml'; 'malayalam' - 'mr'; 'marathi' -#'hu'; 'magyar' - 'no'; 'norske' - 'nn'; 'nynorsk' - 'oc'; 'occitan' - 'pl'; 'polish' - 'pt'; 'portuges' - 'ro'; 'romanian' - 'ru'; 'russian' - 'se'; 'samin' #(check sami?) - 'sa'; 'sanskrit' - 'sr'; 'serbian' -#''; 'scottish' # polyglossia (gd (Gaelic (Scots))) - 'sk'; 'slovak' - 'sl'; 'slovenian' - 'es'; 'spanish' - 'sv'; 'swedish' - 'ta'; 'tamil' - 'te'; 'telugu' - 'th'; 'thai' - 'tr'; 'turkish' - 'tk'; 'turkmen' - 'uk'; 'ukrainian' - 'ur'; 'urdu' -#''; 'usorbian' # polyglossia - 'vi'; 'vietnamese' - 'cy'; 'welsh' - 'us'; 'USenglish' # depreciated, see iso-639-2 +__END__ diff --git a/lib/sisu/json.rb b/lib/sisu/json.rb index d491a9e4..99fd20e0 100644 --- a/lib/sisu/json.rb +++ b/lib/sisu/json.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** Description: json output logic, flow - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/json.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# json +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_JSON require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/json_format.rb b/lib/sisu/json_format.rb index fd1d47fa..6e00172d 100644 --- a/lib/sisu/json_format.rb +++ b/lib/sisu/json_format.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** Description: json output logic, flow - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/json_format.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# json +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_JSON_Format require_relative 'dp' # dp.rb require_relative 'json_parts' # json_parts.rb diff --git a/lib/sisu/json_parts.rb b/lib/sisu/json_parts.rb index e53c9935..2dce3049 100644 --- a/lib/sisu/json_parts.rb +++ b/lib/sisu/json_parts.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** shared xml parts - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/json_parts.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# json +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Parts_JSON require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic diff --git a/lib/sisu/json_persist.rb b/lib/sisu/json_persist.rb index 47c3f66c..fdd15071 100644 --- a/lib/sisu/json_persist.rb +++ b/lib/sisu/json_persist.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** html segment generation, processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/json_persist.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# json +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_JSON_Persist class Persist @@persist=nil diff --git a/lib/sisu/json_shared.rb b/lib/sisu/json_shared.rb index 28bb0ad3..0125c444 100644 --- a/lib/sisu/json_shared.rb +++ b/lib/sisu/json_shared.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** Description: json output logic, flow - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/json_shared.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# json +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_JSONutils require_relative 'generic_parts' # generic_parts.rb class Clean diff --git a/lib/sisu/manpage.rb b/lib/sisu/manpage.rb index 0d275ef1..0961d457 100644 --- a/lib/sisu/manpage.rb +++ b/lib/sisu/manpage.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** manpage text generation, stripped manpage output (unix, linefeed) - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/manpage.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# manpage +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Manpage require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/manpage_format.rb b/lib/sisu/manpage_format.rb index aa9de580..45694bc1 100644 --- a/lib/sisu/manpage_format.rb +++ b/lib/sisu/manpage_format.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** manpage formatting template - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/manpage_format.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# manpage +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_ManpageFormat require_relative 'dp' # dp.rb include SiSU_Param diff --git a/lib/sisu/object_munge.rb b/lib/sisu/object_munge.rb index 0e66756e..2d1fdf60 100644 --- a/lib/sisu/object_munge.rb +++ b/lib/sisu/object_munge.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** object munge - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_parts.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# object_munge +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Object_Munge def i_src_o_strip_markup(txtobj) txtobj=txtobj. diff --git a/lib/sisu/prog_text_translation.rb b/lib/sisu/prog_text_translation.rb index 3785cd9d..5ac594d4 100644 --- a/lib/sisu/prog_text_translation.rb +++ b/lib/sisu/prog_text_translation.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** internationalisation - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/prog_text_translation.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# i18n +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Translate require_relative 'se' # se.rb include SiSU_Env; include SiSU_Param @@ -1627,74 +1625,3 @@ module SiSU_Translate end end __END__ -http://www.debian.org/international/l10n/po/ -http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes -http://www.loc.gov/standards/iso639-2/php/code_list.php -albanian sq -amharic am -arabic ar -armenian hy -asturian -bahasai -bahasam -basque eu -bengali bn -brazil[ian] pt_BR -breton br -bulgarian bg -catalan ca -coptic -croatian hr -czech cs -danish da -divehi -dutch nl -english en -esperanto eo -estonian et -galician gl -german de -greek el -hebrew he -hindi hi -icelandic is -interlingua ia -irish ga -italian it -farsi -finnish fi -french fr -lao lo -latin la -latvian lv -lithuanian lt -lsorbian -magyar -malayalam ml -marathi mr -norsk no -nynorsk nn -occitan oc -polish pl -portuges pt -romanian ro -russian ru -samin se (check sami?) -sanskrit sa -scottish # (gd (Gaelic (Scots))) -serbian sr -slovak sk -slovenian sl -spanish es -swedish sv -syriac # (ar_SY (Arabic, as spoken in Syrian Arab Republic)) -tamil ta -telugu te -thai th -turkish tr -turkmen tk -ukrainian uk -urdu ur -usorbian -vietnamese vi -welsh cy diff --git a/lib/sisu/qrcode.rb b/lib/sisu/qrcode.rb index b5d123be..9e93f558 100644 --- a/lib/sisu/qrcode.rb +++ b/lib/sisu/qrcode.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** summary of generated outputs and metadata - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/qrcode.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_QRcode require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/relaxng.rb b/lib/sisu/relaxng.rb index 418c8eb5..8f1d0ba7 100644 --- a/lib/sisu/relaxng.rb +++ b/lib/sisu/relaxng.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** relaxng flow/logic - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/relaxng.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Relaxng require_relative 'se' # se.rb class RelaxNG @@ -98,7 +96,7 @@ module SiSU_Relaxng * Standard SiSU meta-markup syntax, and the * Standard SiSU object citation numbering and system - * Hompages: + * Homepages: [http://www.jus.uio.no/sisu] [http://www.sisudoc.org] diff --git a/lib/sisu/remote.rb b/lib/sisu/remote.rb index 4febc103..c7dd1b01 100644 --- a/lib/sisu/remote.rb +++ b/lib/sisu/remote.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** remote operations, get source from or copy output to remote server - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/remote.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Remote require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/rexml.rb b/lib/sisu/rexml.rb index db66d817..a9a2afc9 100644 --- a/lib/sisu/rexml.rb +++ b/lib/sisu/rexml.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** rexml testing of xml - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/rexml.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Rexml # load XML file for REXML parsing begin diff --git a/lib/sisu/se.rb b/lib/sisu/se.rb index 4de6cd74..8e44434b 100644 --- a/lib/sisu/se.rb +++ b/lib/sisu/se.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# @@cX=nil module SiSU_Env require_relative 'constants' # constants.rb diff --git a/lib/sisu/se_cleanoutput.rb b/lib/sisu/se_cleanoutput.rb index bdadc7e1..6d66f1b9 100644 --- a/lib/sisu/se_cleanoutput.rb +++ b/lib/sisu/se_cleanoutput.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_cleanoutput.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Clean_Output require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_clear.rb b/lib/sisu/se_clear.rb index 4fa97381..52374439 100644 --- a/lib/sisu/se_clear.rb +++ b/lib/sisu/se_clear.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_clear.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Clear require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_createsite.rb b/lib/sisu/se_createsite.rb index fd4477da..a680d022 100644 --- a/lib/sisu/se_createsite.rb +++ b/lib/sisu/se_createsite.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_createsite.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Create_Site require_relative 'constants' # constants.rb require_relative 'html_parts' # html_parts.rb diff --git a/lib/sisu/se_css.rb b/lib/sisu/se_css.rb index 90618588..3d91636d 100644 --- a/lib/sisu/se_css.rb +++ b/lib/sisu/se_css.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_css.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_CSS require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_date.rb b/lib/sisu/se_date.rb index 235e66b8..11e8c3db 100644 --- a/lib/sisu/se_date.rb +++ b/lib/sisu/se_date.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_date.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Info_Date require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_db.rb b/lib/sisu/se_db.rb index 8abde0ad..09fb81fc 100644 --- a/lib/sisu/se_db.rb +++ b/lib/sisu/se_db.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_db.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Info_Db require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_envcall.rb b/lib/sisu/se_envcall.rb index 486f8151..1913dcb4 100644 --- a/lib/sisu/se_envcall.rb +++ b/lib/sisu/se_envcall.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_envcall.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Env_Call begin require 'singleton' diff --git a/lib/sisu/se_file_op.rb b/lib/sisu/se_file_op.rb index 9a95baa5..3beea62c 100644 --- a/lib/sisu/se_file_op.rb +++ b/lib/sisu/se_file_op.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_file_op.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Info_File require_relative 'utils' # utils.rb require_relative 'se_info_env' # se_info_env.rb diff --git a/lib/sisu/se_filemap.rb b/lib/sisu/se_filemap.rb index 6d7cea2e..2364d116 100644 --- a/lib/sisu/se_filemap.rb +++ b/lib/sisu/se_filemap.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_filemap.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_File_Map require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_get_init.rb b/lib/sisu/se_get_init.rb index b2ef5141..4fe593be 100644 --- a/lib/sisu/se_get_init.rb +++ b/lib/sisu/se_get_init.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_get_init.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Get_Init require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_hub_particulars.rb b/lib/sisu/se_hub_particulars.rb index 904fda38..da8844f3 100644 --- a/lib/sisu/se_hub_particulars.rb +++ b/lib/sisu/se_hub_particulars.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** particulars, composite information about document being processed - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_hub_particulars.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Particulars begin require 'singleton' diff --git a/lib/sisu/se_info_env.rb b/lib/sisu/se_info_env.rb index 72aa364b..bdcafe42 100644 --- a/lib/sisu/se_info_env.rb +++ b/lib/sisu/se_info_env.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_info_env.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# @@current_document=Dir.pwd #nil #'' module SiSU_Info_Env require_relative 'se_envcall' # se_envcall.rb diff --git a/lib/sisu/se_info_port.rb b/lib/sisu/se_info_port.rb index 824c26f1..fc40de2f 100644 --- a/lib/sisu/se_info_port.rb +++ b/lib/sisu/se_info_port.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_info_port.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Info_Port require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_info_system.rb b/lib/sisu/se_info_system.rb index df7473b8..400696d3 100644 --- a/lib/sisu/se_info_system.rb +++ b/lib/sisu/se_info_system.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_info_system.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Info_Sys_Gen require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_load.rb b/lib/sisu/se_load.rb index 7dce7a0f..bd3991da 100644 --- a/lib/sisu/se_load.rb +++ b/lib/sisu/se_load.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_load.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Load require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_processing.rb b/lib/sisu/se_processing.rb index 5aa2d45a..904812c6 100644 --- a/lib/sisu/se_processing.rb +++ b/lib/sisu/se_processing.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_processing.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Processing_Settings require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_programs.rb b/lib/sisu/se_programs.rb index efe89946..970bb24a 100644 --- a/lib/sisu/se_programs.rb +++ b/lib/sisu/se_programs.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_programs.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Sys_Call begin require 'singleton' diff --git a/lib/sisu/se_remotes.rb b/lib/sisu/se_remotes.rb index 61e66117..f112589f 100644 --- a/lib/sisu/se_remotes.rb +++ b/lib/sisu/se_remotes.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_remotes.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Info_Remote_Host require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_standardise_lang.rb b/lib/sisu/se_standardise_lang.rb index ab54ea96..1a513b02 100644 --- a/lib/sisu/se_standardise_lang.rb +++ b/lib/sisu/se_standardise_lang.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_standardise_lang.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# @@lang_info=nil module SiSU_Standardise_Lang class StandardiseLanguage diff --git a/lib/sisu/se_version.rb b/lib/sisu/se_version.rb index de497888..44062ec4 100644 --- a/lib/sisu/se_version.rb +++ b/lib/sisu/se_version.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/se_version.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Info_Version require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/shared_images.rb b/lib/sisu/shared_images.rb index 7d739c8d..4badb84c 100644 --- a/lib/sisu/shared_images.rb +++ b/lib/sisu/shared_images.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** common file for xml generation - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/shared_images.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# shared +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Images require_relative 'se_hub_particulars' # se_hub_particulars.rb class Source diff --git a/lib/sisu/shared_markup_alt.rb b/lib/sisu/shared_markup_alt.rb index b26fb951..db3dbbfe 100644 --- a/lib/sisu/shared_markup_alt.rb +++ b/lib/sisu/shared_markup_alt.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/shared_markup_alt.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# shared +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_TextRepresentation class Alter def initialize(x) diff --git a/lib/sisu/shared_metadata.rb b/lib/sisu/shared_metadata.rb index 8a57eaeb..3214107a 100644 --- a/lib/sisu/shared_metadata.rb +++ b/lib/sisu/shared_metadata.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/shared_metadata.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# shared +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Metadata require_relative 'xml_parts' # xml_parts.rb require_relative 'xml_shared' # xml_shared.rb @@ -1367,3 +1365,4 @@ if @md.notes ] x.each {|y| p y if y} end +__END__ diff --git a/lib/sisu/shared_sem.rb b/lib/sisu/shared_sem.rb index de28bd26..3e30de17 100644 --- a/lib/sisu/shared_sem.rb +++ b/lib/sisu/shared_sem.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** Sematic tags - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/shared_sem.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# shared +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Sem require_relative 'dp' # dp.rb class Tags diff --git a/lib/sisu/sitemaps.rb b/lib/sisu/sitemaps.rb index 1e254b6e..90c1f2b8 100644 --- a/lib/sisu/sitemaps.rb +++ b/lib/sisu/sitemaps.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** sitemap created from document parameters - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/sitemaps.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Sitemaps require_relative 'dp' # dp.rb include SiSU_Param diff --git a/lib/sisu/src_kdissert_share.rb b/lib/sisu/src_kdissert_share.rb index ded1e49d..c9241b25 100644 --- a/lib/sisu/src_kdissert_share.rb +++ b/lib/sisu/src_kdissert_share.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** share sisu source markup file, copy it to output directory! - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/src_share_kdissert.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_KdiSource require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/src_po4a_share.rb b/lib/sisu/src_po4a_share.rb index 5da5799d..a4f1a01b 100644 --- a/lib/sisu/src_po4a_share.rb +++ b/lib/sisu/src_po4a_share.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** pot file generation - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/src_po4a_share.rb;hb=HEAD] - -=end -#module SiSU_SStm_AO_SStm +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Languages_Selected require_relative 'utils_response' # utils_response.rb def language diff --git a/lib/sisu/src_po4a_shelf.rb b/lib/sisu/src_po4a_shelf.rb index 3aaac727..f8b749fc 100644 --- a/lib/sisu/src_po4a_shelf.rb +++ b/lib/sisu/src_po4a_shelf.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** pot file generation - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/src_po4a_shelf.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Po4a require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/src_po4a_shelf_set.rb b/lib/sisu/src_po4a_shelf_set.rb index c574c613..e3fc1c41 100644 --- a/lib/sisu/src_po4a_shelf_set.rb +++ b/lib/sisu/src_po4a_shelf_set.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** po4a - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/src_po4a_shelf_set.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Po4aUtils class Wrap def initialize(md,orig='',trans='',is_desc='',n_char_max=76,n_indent=0,n_hang=nil) diff --git a/lib/sisu/src_po4a_sst_ao_sst.rb b/lib/sisu/src_po4a_sst_ao_sst.rb index 09c30659..1aef9e0d 100644 --- a/lib/sisu/src_po4a_sst_ao_sst.rb +++ b/lib/sisu/src_po4a_sst_ao_sst.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** pot file generation - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/src_po4a_sst_ao_sst.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_SStm_AO_SStm require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/src_po4a_sst_ao_sst_set.rb b/lib/sisu/src_po4a_sst_ao_sst_set.rb index 1130f790..278f6ae8 100644 --- a/lib/sisu/src_po4a_sst_ao_sst_set.rb +++ b/lib/sisu/src_po4a_sst_ao_sst_set.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** po4a - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/src_po4a_sst_ao_sst_set.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Po4aUtils class Wrap def initialize(md,orig='',trans='',n_char_max=76,n_indent=0,n_hang=nil) diff --git a/lib/sisu/src_po4a_sstm.rb b/lib/sisu/src_po4a_sstm.rb index 96208d56..637fdfeb 100644 --- a/lib/sisu/src_po4a_sstm.rb +++ b/lib/sisu/src_po4a_sstm.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** share sisu source markup file, copy it to output directory! - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/src_po4a_sstm.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Markup require_relative 'src_shared' # src_shared.rb include SiSU_Source diff --git a/lib/sisu/src_shared.rb b/lib/sisu/src_shared.rb index 7184c7c7..85a6ca69 100644 --- a/lib/sisu/src_shared.rb +++ b/lib/sisu/src_shared.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** create sisupod filetype and copy it to output directory! - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/src_shared.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Source include SiSU_Env class SiSUpodSource diff --git a/lib/sisu/src_sisupod_make.rb b/lib/sisu/src_sisupod_make.rb index 71523d50..def08830 100644 --- a/lib/sisu/src_sisupod_make.rb +++ b/lib/sisu/src_sisupod_make.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** create sisupod filetype and copy it to output directory! - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/src_sisupod_make.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Doc require_relative 'src_shared' # scr_shared.rb include SiSU_Source diff --git a/lib/sisu/src_sisupod_sstm.rb b/lib/sisu/src_sisupod_sstm.rb index e578b6e8..71f71552 100644 --- a/lib/sisu/src_sisupod_sstm.rb +++ b/lib/sisu/src_sisupod_sstm.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** share sisu source markup file, copy it to output directory! - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/src_sisupod_sstm.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Markup require_relative 'src_shared' # src_shared.rb include SiSU_Source diff --git a/lib/sisu/sst_convert_markup.rb b/lib/sisu/sst_convert_markup.rb index 5e1d9911..ed646cbf 100644 --- a/lib/sisu/sst_convert_markup.rb +++ b/lib/sisu/sst_convert_markup.rb @@ -1,59 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** A conversion script for canned substitutions, a fairly generic - simple tool that can be used to store other canned conversions, used here for - altering SiSU markup - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/sst_convert_markup.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sst +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Modify require_relative 'sst_identify_markup' # sst_identify_markup.rb require_relative 'sst_from_xml' # sst_from_xml.rb diff --git a/lib/sisu/sst_do_inline_footnotes.rb b/lib/sisu/sst_do_inline_footnotes.rb index 29a388de..16e420e8 100644 --- a/lib/sisu/sst_do_inline_footnotes.rb +++ b/lib/sisu/sst_do_inline_footnotes.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** preprocessing, convert bi-footnotemarker-footnote to inline - footnotes, invoked using: sisu --to-footnotes filename.sst - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/set_do_inline_footnotes.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sst +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_ConvertFootnotes require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/sst_from_xml.rb b/lib/sisu/sst_from_xml.rb index 1198a81e..dc822cb4 100644 --- a/lib/sisu/sst_from_xml.rb +++ b/lib/sisu/sst_from_xml.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** Conversion script from kdissert .kdi to sisu markup .ssm (master document) - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/sst_from_xml.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sst +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_sstFromXML require_relative 'se' # se.rb class Convert diff --git a/lib/sisu/sst_identify_markup.rb b/lib/sisu/sst_identify_markup.rb index 3f456982..f1ee73e3 100644 --- a/lib/sisu/sst_identify_markup.rb +++ b/lib/sisu/sst_identify_markup.rb @@ -1,59 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** A conversion script for canned substitutions, a fairly generic - simple tool that can be used to store other canned conversions, used here for - altering SiSU markup - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/sst_identify_markup.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sst +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Markup class MarkupInform attr_accessor :version diff --git a/lib/sisu/sst_to_s_xml_sax.rb b/lib/sisu/sst_to_s_xml_sax.rb index d8675214..1480475b 100644 --- a/lib/sisu/sst_to_s_xml_sax.rb +++ b/lib/sisu/sst_to_s_xml_sax.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** simple xml representation (sax style) - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/sst_to_s_xml_sax.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sst +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_SimpleXML_ModelSax require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/termsheet.rb b/lib/sisu/termsheet.rb index 127bd9de..ea5905bb 100644 --- a/lib/sisu/termsheet.rb +++ b/lib/sisu/termsheet.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** specialised pre-processing wrapper - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/termsheet.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# require_relative 'se' # se.rb require_relative 'dp' # dp.rb include SiSU_Param diff --git a/lib/sisu/texinfo.rb b/lib/sisu/texinfo.rb index d63dac1a..ba8e1619 100644 --- a/lib/sisu/texinfo.rb +++ b/lib/sisu/texinfo.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** texinfo processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/texinfo.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# texinfo +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_TexInfo require_relative 'html' # html.rb require_relative 'dp' # dp.rb diff --git a/lib/sisu/texinfo_format.rb b/lib/sisu/texinfo_format.rb index 5dbca7b0..7029a5c8 100644 --- a/lib/sisu/texinfo_format.rb +++ b/lib/sisu/texinfo_format.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** texinfo formatting template - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/texinfo_format.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# texinfo +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_TexInfoFormat @@table_pg_break_counter=1 require_relative 'dp' # dp.rb diff --git a/lib/sisu/texpdf.rb b/lib/sisu/texpdf.rb index 923b7ad1..19155eef 100644 --- a/lib/sisu/texpdf.rb +++ b/lib/sisu/texpdf.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** LaTeX generation - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/texpdf.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# texpdf +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_TeX begin require 'pstore' diff --git a/lib/sisu/texpdf_format.rb b/lib/sisu/texpdf_format.rb index 634bb591..11b0091c 100644 --- a/lib/sisu/texpdf_format.rb +++ b/lib/sisu/texpdf_format.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** LaTeX formatting template, unicode utf-8 version, used for pdf - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/texpdf_format.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# texpdf +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_TeX_Pdf require_relative 'texpdf_parts' # texpdf_parts.rb @@table_pg_break_counter=1 @@ -1642,4 +1640,3 @@ texlive-latex-extra texlive-latex-recommended texlive-plain-generic texlive-xetex - diff --git a/lib/sisu/texpdf_parts.rb b/lib/sisu/texpdf_parts.rb index 5dde9c9e..0f3af456 100644 --- a/lib/sisu/texpdf_parts.rb +++ b/lib/sisu/texpdf_parts.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** shared html parts - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xhtml_parts.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# texpdf +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Parts_TeXpdf require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic diff --git a/lib/sisu/txt_asciidoc.rb b/lib/sisu/txt_asciidoc.rb index 0fcb94d8..e62b769c 100644 --- a/lib/sisu/txt_asciidoc.rb +++ b/lib/sisu/txt_asciidoc.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** plaintext (smarttext) generation, asciidoc - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/txt_asciidoc.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Txt_AsciiDoc require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_asciidoc_decorate.rb b/lib/sisu/txt_asciidoc_decorate.rb index f9fe7f12..d9ff5bc6 100644 --- a/lib/sisu/txt_asciidoc_decorate.rb +++ b/lib/sisu/txt_asciidoc_decorate.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** plaintext decoration - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/txt_asciidoc_decorate.rb;hb=HEAD] - -=end - +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Decorate_Txt_AsciiDoc def decorate def heading diff --git a/lib/sisu/txt_markdown.rb b/lib/sisu/txt_markdown.rb index 1f97ba12..2b157edb 100644 --- a/lib/sisu/txt_markdown.rb +++ b/lib/sisu/txt_markdown.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** plaintext (smarttext) generation, markdown - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/txt_markdown.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Txt_Markdown require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_markdown_decorate.rb b/lib/sisu/txt_markdown_decorate.rb index 603c99c3..b2888f92 100644 --- a/lib/sisu/txt_markdown_decorate.rb +++ b/lib/sisu/txt_markdown_decorate.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** plaintext decoration - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/txt_markdown_decorate.rb;hb=HEAD] - -=end - +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Decorate_Txt_Markdown def decorate def heading diff --git a/lib/sisu/txt_orgmode.rb b/lib/sisu/txt_orgmode.rb index 93d65aaa..10c61b6e 100644 --- a/lib/sisu/txt_orgmode.rb +++ b/lib/sisu/txt_orgmode.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** plaintext (smarttext) generation, orgmode structure - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/txt_orgmode.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Txt_OrgMode require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_orgmode_decorate.rb b/lib/sisu/txt_orgmode_decorate.rb index 753be36b..d49c733a 100644 --- a/lib/sisu/txt_orgmode_decorate.rb +++ b/lib/sisu/txt_orgmode_decorate.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** plaintext decoration - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/txt_orgmode_decorate.rb;hb=HEAD] - -=end - +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Decorate_Txt_OrgMode def decorate def heading diff --git a/lib/sisu/txt_output.rb b/lib/sisu/txt_output.rb index c2499c37..009aed14 100644 --- a/lib/sisu/txt_output.rb +++ b/lib/sisu/txt_output.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** plaintext - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/txt_output.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module Txt_Output class Output include SiSU_Param @@ -81,4 +79,3 @@ module Txt_Output end end __END__ - diff --git a/lib/sisu/txt_plain.rb b/lib/sisu/txt_plain.rb index f2ce14b5..0f9a721a 100644 --- a/lib/sisu/txt_plain.rb +++ b/lib/sisu/txt_plain.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** plaintext text generation, stripped plaintext output (unix, linefeed) - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/txt.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Txt_Plain require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_plain_decorate.rb b/lib/sisu/txt_plain_decorate.rb index 7b4bbb3f..69b5344f 100644 --- a/lib/sisu/txt_plain_decorate.rb +++ b/lib/sisu/txt_plain_decorate.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** plaintext decoration - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/txt_plain_decorate.rb;hb=HEAD] - -=end - +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Decorate_Txt_Plain def decorate def heading_underscore diff --git a/lib/sisu/txt_read.rb b/lib/sisu/txt_read.rb index 36413647..06606222 100644 --- a/lib/sisu/txt_read.rb +++ b/lib/sisu/txt_read.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** plaintext - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/txt_read.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Txt_Read require_relative 'se' # se.rb include SiSU_Env @@ -104,4 +102,4 @@ module SiSU_Txt_Read end end end - +__END__ diff --git a/lib/sisu/txt_rst.rb b/lib/sisu/txt_rst.rb index cf86602c..5762a2fa 100644 --- a/lib/sisu/txt_rst.rb +++ b/lib/sisu/txt_rst.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** plaintext (smarttext) generation, rST - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/txt_rst.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Txt_rST require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_rst_decorate.rb b/lib/sisu/txt_rst_decorate.rb index 5593c513..bee406ea 100644 --- a/lib/sisu/txt_rst_decorate.rb +++ b/lib/sisu/txt_rst_decorate.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** plaintext decoration - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/txt_rst_decorate.rb;hb=HEAD] - -=end - +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Decorate_Txt_rST def decorate def heading diff --git a/lib/sisu/txt_shared.rb b/lib/sisu/txt_shared.rb index f16f7e15..3c605a8f 100644 --- a/lib/sisu/txt_shared.rb +++ b/lib/sisu/txt_shared.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** modules shared by flatfile output generators - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/txt_shared.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_TextUtils require_relative 'generic_parts' # generic_parts.rb class Wrap diff --git a/lib/sisu/txt_textile.rb b/lib/sisu/txt_textile.rb index cdd038ba..656afdf3 100644 --- a/lib/sisu/txt_textile.rb +++ b/lib/sisu/txt_textile.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** plaintext (smarttext) generation, textile - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/txt_textile.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Txt_Textile require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_textile_decorate.rb b/lib/sisu/txt_textile_decorate.rb index ca46c930..339a639d 100644 --- a/lib/sisu/txt_textile_decorate.rb +++ b/lib/sisu/txt_textile_decorate.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** plaintext decoration - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/txt_textile_decorate.rb;hb=HEAD] - -=end - +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Decorate_Txt_Textile def decorate def heading diff --git a/lib/sisu/update.rb b/lib/sisu/update.rb index 87953d01..990d08ef 100644 --- a/lib/sisu/update.rb +++ b/lib/sisu/update.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** update previous output (with similar output file type formats) - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/update.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_UpdateControlFlag require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/urls.rb b/lib/sisu/urls.rb index b2674fc4..9a8902b6 100644 --- a/lib/sisu/urls.rb +++ b/lib/sisu/urls.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** urls for output files - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/urls.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Urls require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/utils.rb b/lib/sisu/utils.rb index 6188aa47..2426bcf8 100644 --- a/lib/sisu/utils.rb +++ b/lib/sisu/utils.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, debug related - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/utils.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# utils +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Utils class CodeMarker def initialize(line,file,color=:red) diff --git a/lib/sisu/utils_composite.rb b/lib/sisu/utils_composite.rb index 2d06abc4..97b46534 100644 --- a/lib/sisu/utils_composite.rb +++ b/lib/sisu/utils_composite.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, debug related - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/utils_composite.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# utils +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Composite_Doc_Utils def inserts_array(loadfilename) IO.readlines(loadfilename,'') diff --git a/lib/sisu/utils_response.rb b/lib/sisu/utils_response.rb index fa1fccf1..0c8c63c6 100644 --- a/lib/sisu/utils_response.rb +++ b/lib/sisu/utils_response.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** Request response - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/utils_response.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# utils +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Response def available_selections_ %{'yes', 'no', 'quit' or 'exit'; [ynqx]} diff --git a/lib/sisu/utils_screen_text_color.rb b/lib/sisu/utils_screen_text_color.rb index d06af55f..5b21cb45 100644 --- a/lib/sisu/utils_screen_text_color.rb +++ b/lib/sisu/utils_screen_text_color.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, screen colors text - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/utils_screen_text_color.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# utils +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Screen class Color attr_accessor :off,:marker,:bold,:underline,:invert,:darkgrey_hi,:grey_hi,:pink_hi,:fuchsia_hi,:red_hi,:orange_hi,:yellow_hi,:brown_hi,:lightgreen_hi,:green_hi,:cyan_hi,:blue_hi,:navy_hi,:white,:white_bold,:grey,:pink,:fuchsia,:ruby,:red,:orange,:yellow,:brown,:green,:darkgreen,:cyan,:blue,:navy,:black @@ -382,7 +380,7 @@ module SiSU_Screen puts %{\t#{@cX.grey}MetaVerse: MarshalLoad (creation of metaVerse skipped)#{@cX.off}} end def meta_verse_load - puts %{\t<>} + puts %{\t[ MetaVerse: MarshalLoad ]} end def html_title puts %{#{@cX.green_hi}#{@cX.black}HTML#{@cX.off*2}} diff --git a/lib/sisu/utils_spell.rb b/lib/sisu/utils_spell.rb index 4e72117a..da4fb7b7 100644 --- a/lib/sisu/utils_spell.rb +++ b/lib/sisu/utils_spell.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** spellchecking - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/utils_spell.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# utils +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_SpellUtility class Spell def initialize(input,filesrc,flg) @@ -85,7 +83,7 @@ module SiSU_SpellUtility @allwords=@allwords.uniq if @flg =~ /S/ File.open('/home/ralph/spell_error','a+') do |file| #fix - file.puts %{\n\n<<#{@filename}>>} + file.puts %{\n\n[ #{@filename} ]} end @allwords.each { |y| puts y.inspect; system(%{cat #{y} | /usr/bin/#{@speller} -l -d #{@dictionary} >> ~/spell_error })} else diff --git a/lib/sisu/webrick.rb b/lib/sisu/webrick.rb index 15dd0d05..a9856a1f 100644 --- a/lib/sisu/webrick.rb +++ b/lib/sisu/webrick.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** webrick share - note sisu by default does not link with file suffixes, - see man pages for options - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/webrick.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Webserv class WebrickStart begin diff --git a/lib/sisu/wikispeak.rb b/lib/sisu/wikispeak.rb index 2b914146..e656d8c7 100644 --- a/lib/sisu/wikispeak.rb +++ b/lib/sisu/wikispeak.rb @@ -1,58 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** wiki text generation, stripped wiki output (unix, linefeed) - -** Author: Ralph Amissah - - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/wikispeak.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Wikispeak require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/xhtml.rb b/lib/sisu/xhtml.rb index 888f6f0c..e7af6851 100644 --- a/lib/sisu/xhtml.rb +++ b/lib/sisu/xhtml.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** Description: xhtml output logic, flow - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xhtml.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xhtml_epub2.rb b/lib/sisu/xhtml_epub2.rb index c80a90df..e0dc0801 100644 --- a/lib/sisu/xhtml_epub2.rb +++ b/lib/sisu/xhtml_epub2.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** epub generation, processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xhtml_epub2.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML_EPUB2 begin require 'pstore' diff --git a/lib/sisu/xhtml_epub2_concordance.rb b/lib/sisu/xhtml_epub2_concordance.rb index 82959de2..b5f7911d 100644 --- a/lib/sisu/xhtml_epub2_concordance.rb +++ b/lib/sisu/xhtml_epub2_concordance.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** epub concordance file (wordmap, linked index of words in document) - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xhtml_epub2_concordance.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML_EPUB2_Concordance require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -312,7 +310,7 @@ WOK # special cases endnotes and header levels 1 - 3 end credits=SiSU_Proj_XHTML::Bits.new.credits_sisu_epub - @file_concordance << %{>#{credits}\n} # footer + @file_concordance << %{#{credits}\n} # footer end end end diff --git a/lib/sisu/xhtml_epub2_format.rb b/lib/sisu/xhtml_epub2_format.rb index 3a7944c3..f18d52f9 100644 --- a/lib/sisu/xhtml_epub2_format.rb +++ b/lib/sisu/xhtml_epub2_format.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** epub formating, css template - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xhtml_epub2_format.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML_EPUB2_Format class ParagraphNumber def initialize(md,ocn) diff --git a/lib/sisu/xhtml_epub2_persist.rb b/lib/sisu/xhtml_epub2_persist.rb index 958cddae..1ebe8d02 100644 --- a/lib/sisu/xhtml_epub2_persist.rb +++ b/lib/sisu/xhtml_epub2_persist.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** html segment generation, processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xhtml_epub2_persist.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML_EPUB2_Persist class Persist @@persist=nil diff --git a/lib/sisu/xhtml_epub2_segments.rb b/lib/sisu/xhtml_epub2_segments.rb index e1bab773..7b4da061 100644 --- a/lib/sisu/xhtml_epub2_segments.rb +++ b/lib/sisu/xhtml_epub2_segments.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** epub segment generation, processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xhtml_epub2_segments.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML_EPUB2_Seg require_relative 'xhtml_shared' # xhtml_shared.rb require_relative 'xhtml_epub2' # xhtml_epub2.rb diff --git a/lib/sisu/xhtml_epub2_tune.rb b/lib/sisu/xhtml_epub2_tune.rb index 3608d07f..b73281c7 100644 --- a/lib/sisu/xhtml_epub2_tune.rb +++ b/lib/sisu/xhtml_epub2_tune.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** epub generation, epub pre-processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xhtml_epub2_tune.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# require_relative 'dp' # dp.rb module SiSU_XHTML_EPUB2_Tune require_relative 'se' # se.rb diff --git a/lib/sisu/xhtml_parts.rb b/lib/sisu/xhtml_parts.rb index 7c43eca8..05c3810d 100644 --- a/lib/sisu/xhtml_parts.rb +++ b/lib/sisu/xhtml_parts.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** shared html parts - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xhtml_parts.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Parts_XHTML require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic diff --git a/lib/sisu/xhtml_shared.rb b/lib/sisu/xhtml_shared.rb index 94941ebe..7613f376 100644 --- a/lib/sisu/xhtml_shared.rb +++ b/lib/sisu/xhtml_shared.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** shared html parts - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xhtml_shared.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML_Shared require_relative 'xhtml_table' # xhtml_table.rb class TableXHTML < SiSU_XHTML_Table::TableXHTML diff --git a/lib/sisu/xhtml_table.rb b/lib/sisu/xhtml_table.rb index 06fa2c42..7e3d4b52 100644 --- a/lib/sisu/xhtml_table.rb +++ b/lib/sisu/xhtml_table.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** shared html parts - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xhtml_table.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML_Table require_relative 'xhtml_parts' # xhtml_parts.rb class TableXHTML diff --git a/lib/sisu/xml_docbook5.rb b/lib/sisu/xml_docbook5.rb index 43ba9595..a3531b6c 100644 --- a/lib/sisu/xml_docbook5.rb +++ b/lib/sisu/xml_docbook5.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** Docbook book XML rendition - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xml_docbook_book.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Docbook_Book require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_dom.rb b/lib/sisu/xml_dom.rb index b542ad53..5f1ff9fe 100644 --- a/lib/sisu/xml_dom.rb +++ b/lib/sisu/xml_dom.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** xml (dom style) output processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xml_dom.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_DOM require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_fictionbook2.rb b/lib/sisu/xml_fictionbook2.rb index b1e30949..6a7e0373 100644 --- a/lib/sisu/xml_fictionbook2.rb +++ b/lib/sisu/xml_fictionbook2.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** Fictionbook XML rendition - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xml_fictionbook.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Fictionbook require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_format.rb b/lib/sisu/xml_format.rb index 6578498d..21187b54 100644 --- a/lib/sisu/xml_format.rb +++ b/lib/sisu/xml_format.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -** xml template - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xml_format.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Format require_relative 'dp' # dp.rb require_relative 'xml_parts' # xml_parts.rb diff --git a/lib/sisu/xml_md_oai_pmh_dc.rb b/lib/sisu/xml_md_oai_pmh_dc.rb index b73cdd16..7452abaa 100644 --- a/lib/sisu/xml_md_oai_pmh_dc.rb +++ b/lib/sisu/xml_md_oai_pmh_dc.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** summary of generated outputs and metadata - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xml_md_oai_pmh_dc.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Metadata require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/xml_odf_odt.rb b/lib/sisu/xml_odf_odt.rb index 1f1c69b7..38381543 100644 --- a/lib/sisu/xml_odf_odt.rb +++ b/lib/sisu/xml_odf_odt.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** opendocument text generation - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/odf.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_ODF_ODT require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_odf_odt_format.rb b/lib/sisu/xml_odf_odt_format.rb index f45d67d5..cbaf94d7 100644 --- a/lib/sisu/xml_odf_odt_format.rb +++ b/lib/sisu/xml_odf_odt_format.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** opendocument formatting, default opendocument template - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/odf_format.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_ODF_ODT_Format require_relative 'dp' # dp.rb include SiSU_Param diff --git a/lib/sisu/xml_parts.rb b/lib/sisu/xml_parts.rb index 07c9e6c2..5fdc0f68 100644 --- a/lib/sisu/xml_parts.rb +++ b/lib/sisu/xml_parts.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** shared xml parts - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_parts.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Parts_XML require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic diff --git a/lib/sisu/xml_persist.rb b/lib/sisu/xml_persist.rb index 549d0f7c..9546d181 100644 --- a/lib/sisu/xml_persist.rb +++ b/lib/sisu/xml_persist.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** html segment generation, processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xml_persist.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Persist class Persist @@persist=nil diff --git a/lib/sisu/xml_sax.rb b/lib/sisu/xml_sax.rb index b97843c8..3b8bf7c4 100644 --- a/lib/sisu/xml_sax.rb +++ b/lib/sisu/xml_sax.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** xml output (sax style) processing - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xml.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_SAX require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_scaffold_structure_collapsed.rb b/lib/sisu/xml_scaffold_structure_collapsed.rb index 2091baf9..12c572b7 100644 --- a/lib/sisu/xml_scaffold_structure_collapsed.rb +++ b/lib/sisu/xml_scaffold_structure_collapsed.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** extract and print an XML rendition of document structure to screen - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xml_scaffold.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Scaffold_Structure_Collapse require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_scaffold_structure_sisu.rb b/lib/sisu/xml_scaffold_structure_sisu.rb index 176e0814..28ffb0e6 100644 --- a/lib/sisu/xml_scaffold_structure_sisu.rb +++ b/lib/sisu/xml_scaffold_structure_sisu.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** extract and print an XML rendition of document structure to screen - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xml_scaffold.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Scaffold_Structure_Sisu require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_shared.rb b/lib/sisu/xml_shared.rb index 906da2a0..61ba5444 100644 --- a/lib/sisu/xml_shared.rb +++ b/lib/sisu/xml_shared.rb @@ -1,59 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** common file for xml generation - -** Author: Ralph Amissah - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xml_shared.rb;hb=HEAD] - -** Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Munge require_relative 'xml_parts' # xml_parts.rb class Trans diff --git a/lib/sisu/xml_tables.rb b/lib/sisu/xml_tables.rb index dd0178a2..9342a951 100644 --- a/lib/sisu/xml_tables.rb +++ b/lib/sisu/xml_tables.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** common file for xml table generation - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/xml_tables.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Tables class Table #_xml @@tablehead=0 diff --git a/lib/sisu/zap.rb b/lib/sisu/zap.rb index 8cec96bc..042a3ee4 100644 --- a/lib/sisu/zap.rb +++ b/lib/sisu/zap.rb @@ -1,57 +1,55 @@ # encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** zap wipe clean previous output of the type specified - -** Author: Ralph Amissah - [ralph@amissah.com] - [ralph.amissah@gmail.com] - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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] - -** 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] - -** Git - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary] - [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/zap.rb;hb=HEAD] - -=end +# - Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Zap require_relative 'se' # se.rb include SiSU_Env diff --git a/org/abstraction.org b/org/abstraction.org new file mode 100644 index 00000000..103c9218 --- /dev/null +++ b/org/abstraction.org @@ -0,0 +1,7291 @@ +-*- mode: org -*- +#+TITLE: sisu abstraction +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:abstraction: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* ao.rb +** ao.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao.rb" +# <> +module SiSU_AO + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'dp' # dp.rb + include SiSU_Param + require_relative 'ao_doc_objects' # ao_doc_objects.rb + require_relative 'ao_syntax' # ao_syntax.rb + include SiSU_AO_Syntax + require_relative 'ao_doc_str' # ao_doc_str.rb + require_relative 'ao_appendices' # ao_appendices.rb + require_relative 'ao_idx' # ao_idx.rb + require_relative 'ao_numbering' # ao_numbering.rb + require_relative 'ao_hash_digest' # ao_hash_digest.rb + require_relative 'ao_endnotes' # ao_endnotes.rb + require_relative 'ao_images' # ao_images.rb + require_relative 'ao_metadata' # ao_metadata.rb + require_relative 'ao_character_check' # ao_character_check.rb + require_relative 'ao_misc_arrange' # ao_misc_arrange.rb + require_relative 'ao_expand_insertions' # ao_expand_insertions.rb + require_relative 'ao_persist' # ao_persist.rb + require_relative 'prog_text_translation' # prog_text_translation.rb + require_relative 'shared_sem' # shared_sem.rb + class Instantiate < SiSU_Param::Parameters::Instructions + def initialize + @@flag_vocab=0 + @@line_mode='' + end + end + class Source #{cf.meta}" + ).txt_grey + end + end + ao.each {|s| ao_array << s} + if @opt.act[:maintenance][:set]==:on + ao_array.each do |obj| + if defined? obj.parent + if defined? obj.ln + if defined? obj.node + puts %{#{obj.ln}: #{obj.ocn} : #{obj.parent} : #{obj.node} - #{obj.lc}} + else + puts %{#{obj.ln}: #{obj.ocn} : #{obj.parent}} + end + else + if defined? obj.node + puts %{ #{obj.ocn} : #{obj.parent} : #{obj.node} - #{obj.lc}} + else + puts %{ #{obj.ocn} : #{obj.parent}} + end + end + end + end + end + ao_array + end + def read_fnm + ao=[] + ao=(FileTest.file?(@fnm)) \ + ? (File.open(@fnm,'r:utf-8'){ |f| ao=Marshal.load(f)}) + : SiSU_AO::Source.new(@opt).create_ao + end + def read_fnc + ao=[] + ao=(FileTest.file?(@fnc)) \ + ? (File.open(@fnc,'r:utf-8'){ |f| ao=Marshal.load(f)}) + : SiSU_AO::Source.new(@opt,@fnx,@process).create_ao + end + def read_idx_sst + m=[] + m=(FileTest.file?(@idx_sst)) \ + ? (File.open(@idx_sst,'r:utf-8'){ |f| m=Marshal.load(f)}) + : nil + end + def read_idx_raw + m=[] + m=(FileTest.file?(@idx_raw)) \ + ? (File.open(@idx_raw,'r:utf-8'){ |f| m=Marshal.load(f)}) + : nil + end + def read_idx_html + m=[] + m=(FileTest.file?(@idx_html)) \ + ? (File.open(@idx_html,'r:utf-8'){ |f| m=Marshal.load(f)}) + : nil + end + def read_idx_xhtml + m=[] + m=(FileTest.file?(@idx_xhtml)) \ + ? (File.open(@idx_xhtml,'r:utf-8'){ |f| m=Marshal.load(f)}) + : nil + end + def read_map_nametags + m=[] + m=(FileTest.file?(@map_nametags)) \ + ? (File.open(@map_nametags,'r:utf-8'){ |f| m=Marshal.load(f)}) + : nil + end + def read_map_ocn_htmlseg + m=[] + m=(FileTest.file?(@map_ocn_htmlseg)) \ + ? (File.open(@map_ocn_htmlseg,'r:utf-8'){ |f| m=Marshal.load(f)}) + : nil + end + end + class Output + def initialize(fn,md,data) + @fn,@md,@data=fn,md,data + @cf=SiSU_Env::CreateFile.new(@fn) + @make=SiSU_Env::InfoFile.new(@fn) + @dir=SiSU_Env::InfoEnv.new(@fn) + end + def screen_dump(o) + if defined? o.of + print %{OF: #{o.of}; } + end + if defined? o.is + print %{IS: #{o.is.to_s}; } + end + if defined? o.ocn + print %{OCN: #{o.ocn}; } + end + if defined? o.node + print %{NODE: #{o.node}; } + end + if defined? o.parent + print %{Parent: #{o.parent}; } + end + if defined? o.obj and not o.obj.empty? + puts %{\n#{o.obj}; } + else "\n" + end + end + def screen_print(t_o) + if defined? t_o + print ' ' + t_o.to_s + end + end + def screen_output(data) + data.each do |o| + print o.class + screen_print(o.ocn) + screen_print(o.obj) + puts "\n" + end + end + def hard_output + if @md.opt.act[:maintenance][:set]==:on + filename_meta=@cf.metaverse.file_meta + @data.each {|o| filename_meta.puts o.inspect.sub(/:0x[0-9a-f]{8}\s/,': ')} #to make diffing easier + filename_txt=@cf.metaverse.file_txt + @data.each do |o| + if defined? o.ocn + filename_txt.puts case o.is + when :heading + "[#{o.is.to_s} #{o.lv}~#{o.name} [#{o.ocn}]] #{o.obj}" + else "[#{o.is.to_s} [#{o.ocn}]] #{o.obj}" + end + else + filename_txt.puts case o.is + when :meta + "[m~#{o.tag}] #{o.obj}" + else "[#{o.is.to_s}] #{o.obj}" + end + end + end + filename_debug=@cf.file_debug + @data.each do |o| + if defined? o.ocn + case o.is + when :heading + filename_debug.puts + "#{o.is.to_s} #{o.lv}~#{o.name} odv=#{o.odv} osp=#{o.osp} [#{o.ocn}] -->\n\t#{o.obj}" + end + end + end + else + hard="#{@dir.processing_path.ao}/#{@md.fns}.meta" + File.unlink(hard) if FileTest.file?(hard) + hard="#{@dir.processing_path.ao}/#{@md.fns}.txt" + File.unlink(hard) if FileTest.file?(hard) + hard="#{@dir.processing_path.ao}/#{@md.fns}.debug.txt" + File.unlink(hard) if FileTest.file?(hard) + end + end + def make_marshal_content + marshal_ao=@make.marshal.ao_content + File.open(marshal_ao,'w'){|f| Marshal.dump(@data,f)} if @data.is_a?(Array) + end + def make_marshal_metadata + marshal_ao=@make.marshal.ao_metadata + File.open(marshal_ao,'w'){|f| Marshal.dump(@data,f)} if @data.is_a?(Array) + end + def idx_html_hard_output + if @md.book_idx \ + and @md.opt.act[:maintenance][:set]==:on + filename_meta=@cf.file_meta_idx_html + if @data.is_a?(Array) + @data.each {|s| p s.inspect + "\n" unless s.is_a?(String)} + @data.each {|s| filename_meta.puts s.strip + "\n" unless s.strip.empty?} + end + else + hard_idx_html="#{@dir.processing_path.ao}/#{@md.fns}.idx.html" + File.unlink(hard_idx_html) if FileTest.file?(hard_idx_html) + end + end + def make_marshal_idx_sst_html_seg + marshal_ao=@make.marshal.ao_idx_sst_rel_html_seg + File.open(marshal_ao,'w'){|f| Marshal.dump(@data,f)} \ + if @data.is_a?(Array) + end + def make_marshal_idx_sst_rel + marshal_ao=@make.marshal.ao_idx_sst_rel + File.open(marshal_ao,'w'){|f| Marshal.dump(@data,f)} \ + if @data.is_a?(Array) + end + def make_marshal_idx_html + marshal_ao=@make.marshal.ao_idx_html + File.open(marshal_ao,'w'){|f| Marshal.dump(@data,f)} \ + if @data.is_a?(Array) + end + def make_marshal_idx_xhtml + marshal_ao=@make.marshal.ao_idx_xhtml + File.open(marshal_ao,'w'){|f| Marshal.dump(@data,f)} \ + if @data.is_a?(Array) + end + def make_marshal_map_nametags + marshal_ao=@make.marshal.ao_map_nametags + File.open(marshal_ao,'w'){|f| Marshal.dump(@data,f)} \ + if @data.is_a?(Hash) + end + def make_marshal_map_name_ocn_htmlseg + marshal_ao=@make.marshal.ao_map_ocn_htmlseg + File.open(marshal_ao,'w'){|f| Marshal.dump(@data,f)} \ + if @data.is_a?(Hash) + end + end + class Make + def initialize(fn,md,data,fnx,process) + @fn,@md,@data,@fnx,@process=fn,md,data,fnx,process + @env=SiSU_Env::InfoEnv.new(@md.fns) + end + def reset + @@flag_vocab=0 + @@line_mode='' + end + def song + reset + data_txt=@data + data_txt= + SiSU_AO_Insertions::Insertions.new(@md,data_txt). # ao_expand_insertions.rb + expand_insertions? + data_txt= + SiSU_AO_MiscArrangeText::SI.new(@md,data_txt). # ao_misc_arrange.rb + prepare_text + data_obj, + metadata, + bibliography= + SiSU_AO_DocumentStructureExtract::Build.new(@md,data_txt). # ao_doc_str.rb + identify_parts + data_obj= + SiSU_AO_Syntax::Markup.new(@md,data_obj,bibliography).songsheet # ao_syntax.rb + data_obj, + endnote_array= + SiSU_AO_CharacterCheck::Check.new(data_obj). # ao_character_check.rb + character_check_and_oldstyle_endnote_array + data_obj= + SiSU_AO_Images::Images.new(@md,data_obj).images # ao_images.rb + data_obj, + tags_map, + ocn_html_seg_map= + SiSU_AO_Numbering::Numbering.new(@md,data_obj,@fnx,@process). # ao_numbering.rb + numbering_song + data_obj, + book_index_rel, + book_index_rel_html_seg, + html_idx, + xhtml_idx= + SiSU_AO_BookIndex::BookIndex.new(@md,data_obj,@env). # ao_idx.rb + indexing_song if @md.book_idx + data_obj= + SiSU_AO_Endnotes::Endnotes.new(@md,data_obj,endnote_array). # ao_endnotes.rb + endnotes + outputdata=data_obj + if (@md.opt.act[:ao][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_AO::Output.new(@fn,@md,outputdata).hard_output + SiSU_AO::Output.new(@fn,@md,outputdata).make_marshal_content + SiSU_AO::Output.new(@fn,@md,metadata).make_marshal_metadata + SiSU_AO::Output.new(@fn,@md,html_idx).idx_html_hard_output + SiSU_AO::Output.new(@fn,@md,book_index_rel_html_seg).make_marshal_idx_sst_html_seg + SiSU_AO::Output.new(@fn,@md,book_index_rel).make_marshal_idx_sst_rel + SiSU_AO::Output.new(@fn,@md,html_idx).make_marshal_idx_html + SiSU_AO::Output.new(@fn,@md,xhtml_idx).make_marshal_idx_xhtml + SiSU_AO::Output.new(@fn,@md,tags_map).make_marshal_map_nametags + SiSU_AO::Output.new(@fn,@md,ocn_html_seg_map).make_marshal_map_name_ocn_htmlseg + end + reset + outputdata + end + protected + end +end +__END__ +#+END_SRC + +** ao_appendices.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_appendices.rb" +# <> +module SiSU_AO_Appendices + class Glossary + def initialize(md,data) + @md,@data=md,data + end + def glossary_extraction + glossary=[] + glossaryflag=false + code_flag=false + flag_code_curly=:not_code_curly + flag_code_tics=:not_code_tics + @data=@data.select do |t_o| + if t_o =~/^code\{/ + flag_code_curly=:code_curly + elsif t_o =~/^\}code/ + flag_code_curly=:not_code_curly + elsif t_o =~/^``` code/ + flag_code_tics=:code_tics + elsif flag_code_tics ==:code_tics \ + and t_o =~/^```/ + flag_code_tics=:not_code_tics + end + code_flag=if flag_code_curly==:code_curly \ + or flag_code_tics==:code_tics + true + else false + end + unless code_flag + if @md.flag_glossary + if t_o =~/^1~!glossary/ + glossaryflag = true + next + elsif t_o =~/^:?[B-D]~/ + next + elsif t_o =~/^:?[B-D1]~/ + glossaryflag = false + t_o + elsif glossaryflag + if t_o !~/\A%+ / + glossary << t_o + next + else + t_o + end + else t_o + end + else t_o + end + else t_o + end + end.compact + [@data,glossary] + end + end + class Bibliography + def initialize(md,data) + @md,@data=md,data + end + def sort_bibliography_array_by_deemed_author_year_title(bib) + if bib + bib.compact.sort_by do |c| + [c[:deemed_author],c[:ymd],c[:title]] + end + end + end + def citation_in_prepared_bibliography(cite) + @cite=cite + def generic + { + is: nil, # :book, :article, :magazine, :newspaper, :blog, :other + author_raw: nil, + author: nil, + author_arr: nil, + editor_raw: nil, + editor: nil, + editor_arr: nil, + title: nil, + subtitle: nil, + fulltitle: nil, + language: nil, + trans: nil, + src: nil, + journal: nil, + in: nil, + volume: nil, + edition: nil, + year: nil, + place: nil, + publisher: nil, + url: nil, + pages: nil, + note: nil, + #format: nil, #consider list of fields arranged with markup + short_name: nil, + id: nil, + } + end + def citation_metadata + type=:generic + if type + citation=generic + citeblock=@cite.split("\n") + citeblock.select do |meta| + case meta + when /^((?:au|author):\s+)\S+/ #req + citation[:author_raw]=/^#{$1}(.+)/.match(meta)[1] + when /^((?:ti|title):\s+)\S+/ #req + citation[:title]=/^#{$1}(.+)/.match(meta)[1] + when /^((?:st|subtitle):\s+)\S+/ + citation[:subtitle]=/^#{$1}(.+)/.match(meta)[1] + when /^((?:lng|language):\s+)\S+/ + citation[:language]=/^#{$1}(.+)/.match(meta)[1] + when /^((?:edr?|editor):\s+)\S+/ + citation[:editor_raw]=/^#{$1}(.+)/.match(meta)[1] + when /^((?:tr|trans(:?lator)?):\s+)\S+/ + citation[:editor_raw]=/^#{$1}(.+)/.match(meta)[1] + when /^((?:pb|publisher):\s+)\S+/ + citation[:publisher]=/^#{$1}(.+)/.match(meta)[1] + when /^((?:edn|edition):\s+)\S+/ + citation[:edition]=/^#{$1}(.+)/.match(meta)[1] + when /^((?:yr|year):\s+)\S+/ #req? + citation[:year]=/^#{$1}(.+)/.match(meta)[1] + when /^((?:pl|publisher_state):\s+)\S+/ + citation[:place]=/^#{$1}(.+)/.match(meta)[1] + when /^((?:jo|journal):\s+)\S+/ #req? + citation[:journal]=/^#{$1}(.+)/.match(meta)[1] + when /^((?:vol?|volume):\s+)\S+/ + citation[:volume]=/^#{$1}(.+)/.match(meta)[1] + when /^((?:in):\s+)\S+/ + citation[:in]=/^#{$1}(.+)/.match(meta)[1] + when /^((?:src):\s+)\S+/ + citation[:src]=/^#{$1}(.+)/.match(meta)[1] + when /^((?:pg|pages?):\s+)\S+/ + citation[:pages]=/^#{$1}(.+)/.match(meta)[1] + when /^(url:\s+)\S+/ + citation[:url]=/^#{$1}(.+)/.match(meta)[1] + when /^(note:\s+)\S+/ + citation[:note]=/^#{$1}(.+)/.match(meta)[1] + when /^((?:sn|shortname):\s+)\S+/ # substitution: (/#{id}/,"#{sn}") + citation[:short_name]=/^#{$1}(.+)/.match(meta)[1] + when /^(id:\s+)\S+/ # substitution: (/#{id}/,"#{sn}") + citation[:id]=/^#{$1}(.+)/.match(meta)[1] + end + end + if citation[:subtitle] + citation[:fulltitle] = citation[:title] \ + + ' - ' \ + + citation[:subtitle] + else + citation[:fulltitle] = citation[:title] + end + if citation[:author_raw] + citation[:author_arr]=citation[:author_raw].split(/;\s*/) + citation[:author]=citation[:author_arr].map do |author| + author.gsub(/(.+?),\s+(.+)/,'\2 \1').strip + end.join(', ').strip + end + if citation[:editor_raw] + citation[:editor_arr]=citation[:editor_raw].split(/;\s*/) + citation[:editor]=citation[:editor_arr].map do |editor| + editor.gsub(/(.+?),\s+(.+)/,'\2 \1').strip + end.join(', ').strip + end + citation[:ymd]=if not citation[:year] =~/^[0-9]{4}/ + '9999' + else citation[:year] + end + citation[:deemed_author]=if not citation[:author_raw] \ + and citation[:editor_raw] + citation[:editor_arr][0] + elsif citation[:author_raw] + citation[:author_arr][0] + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + warn('Citation needs an author or editor, title: "' \ + + citation[:title] + '"') + '000' + end + unless citation[:short_name] + citation[:short_name]=%{#{citation[:author]}, "#{citation[:title]}" (#{citation[:date]})} + end + end + citation + end + self + end + def biblio_format + def generic(c) + cite=%{#{c[:author]}. /{"#{c[:fulltitle]}".}/} + cite=(c[:journal]) \ + ? cite + %{ #{c[:journal]},} + : cite + cite=(c[:source]) \ + ? cite + %{ #{c[:source]},} + : cite + cite=(c[:in]) \ + ? cite + %{ in #{c[:in]},} + : cite + cite=(c[:volume]) \ + ? cite + %{ #{c[:volume]},} + : cite + cite=(c[:trans]) \ + ? cite + %{ trans. #{c[:trans]},} + : cite + cite=(c[:editor]) \ + ? cite + %{ ed. #{c[:editor]},} + : cite + cite=(c[:place]) \ + ? cite + %{ #{c[:place]},} + : cite + cite=(c[:publisher]) \ + ? cite + %{ #{c[:publisher]},} + : cite + cite=(c[:year]) \ + ? cite + %{ (#{c[:year]})} + : cite + cite=(c[:pages]) \ + ? cite + %{ #{c[:pages]}} + : cite + cite=(c[:url]) \ + ? cite + %{ #{c[:url]}} + : cite + cite=(c[:note]) \ + ? cite + %{ #{c[:note]}} + : cite + cite + end + def generic_editor(c) + cite=%{#{c[:editor]} ed. /{"#{c[:fulltitle]}".}/} + cite=(c[:journal]) \ + ? cite + %{ #{c[:journal]}, } + : cite + cite=(c[:source]) \ + ? cite + %{ #{c[:source]}, } + : cite + cite=(c[:in]) \ + ? cite + %{ in #{c[:in]},} + : cite + cite=(c[:volume]) \ + ? cite + %{ #{c[:volume]},} + : cite + cite=(c[:trans]) \ + ? cite + %{ trans. #{c[:trans]},} + : cite + cite=(c[:place]) \ + ? cite + %{ #{c[:place]},} + : cite + cite=(c[:publisher]) \ + ? cite + %{ #{c[:publisher]}} + : cite + cite=(c[:year]) \ + ? cite + %{ (#{c[:year]})} + : cite + cite=(c[:pages]) \ + ? cite + %{ #{c[:pages]}} + : cite + cite=(c[:url]) \ + ? cite + %{ #{c[:url]}} + : cite + cite=(c[:note]) \ + ? cite + %{ #{c[:note]}} + : cite + cite + end + self + end + def biblio_make(cite) + if cite[:author] + biblio_format.generic(cite) + elsif cite[:editor] + biblio_format.generic_editor(cite) + else + biblio_format.generic(cite) + end + end + def biblio_extraction + bibliography=[] + biblioflag=false + code_flag=false + flag_code_curly=:not_code_curly + flag_code_tics=:not_code_tics + @data=@data.select do |t_o| + if t_o =~/^code\{/ + flag_code_curly=:code_curly + elsif t_o =~/^\}code/ + flag_code_curly=:not_code_curly + elsif t_o =~/^``` code/ + flag_code_tics=:code_tics + elsif flag_code_tics ==:code_tics \ + and t_o =~/^```/ + flag_code_tics=:not_code_tics + end + code_flag=if flag_code_curly==:code_curly \ + or flag_code_tics==:code_tics + true + else false + end + unless code_flag + if @md.flag_auto_biblio + if t_o =~/^1~!biblio(?:graphy)?/ + biblioflag = true + t_o + elsif t_o =~/^:?[B-D1]~/ + biblioflag = false + t_o + elsif biblioflag + if t_o !~/\A%+ / + bibliography << citation_in_prepared_bibliography(t_o).citation_metadata + next + else + t_o + end + else t_o + end + elsif @md.flag_biblio + if t_o =~/^1~!biblio(?:graphy)?/ + biblioflag = true + next + elsif t_o =~/^:?[B-D]~/ + next + elsif t_o =~/^:?[B-D1]~/ + biblioflag = false + t_o + elsif biblioflag + if t_o !~/\A%+ / + bibliography << t_o + next + else + t_o + end + else t_o + end + else t_o + end + else t_o + end + end.compact + if @md.flag_auto_biblio \ + and bibliography.length > 0 + data_new=[] + bib=sort_bibliography_array_by_deemed_author_year_title(bibliography) + biblio_done=[] + @data.select do |t_o| + if t_o =~/^1~!biblio(?:graphy)?/ + bib.each do |c| + d=c + d.store(:obj, biblio_make(c)) + biblio_done << d + #biblio_done << { obj: biblio_make(c), id: c[:id] } + end + else data_new << t_o + end + end + @data=data_new + end + [@data,biblio_done] + end + end + class Citations + def initialize(md='',data='') + @md,@data=md,data + #@biblio=[] + end + def songsheet + tuned_file,citations=citations_scan(@data) + [tuned_file,citations] + end + def sort_bibliography_array_by_author_year(bib) + bib.sort_by do |c| + [c[:author_raw],c[:year]] + #[c[:author_arr][0],c[:year],c[:title]] + end + end + def citations_regex + def pages_pattern + %r{(?:[,.:]?\s+(?:p{1,2}\.?\s+)?(?:\d+--?\d+)[,.]?\s+)?} + end + def editor_pattern + %r{(?(?:editor|edited by)\s+.+?)} + end + def year_pattern + %r{[(\[]?(?\d{4})[\])]?[.,]?} + end + def authors_year_title_publication_editor_pages + /(?.+?)\s+#{year_pattern}\s+"(?.+?)"\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})\s+#{editor_pattern}#{pages_pattern}/m # note ed. is usually edition rather than editor + end + def authors_title_publication_year_editor_pages + /(?<authors>.+?)\s+"(?<title>.+?)"\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})\s+#{year_pattern}\s+#{editor_pattern}#{pages_pattern}/m # note ed. is usually edition rather than editor + end + def authors_title_publication_editor_year_pages ### + /(?<authors>.+?)\s+"(?<title>.+?)"\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})\s+ed.\s+#{editor_pattern}#{year_pattern}#{pages_pattern}/m + # note ed. is usually edition rather than editor + end + def authors_title_publication_editor_pages_year ### + /(?<authors>.+?)\s+"(?<title>.+?)"\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})\s+#{editor_pattern}#{pages_pattern}#{year_pattern}/m # note ed. is usually edition rather than editor + end + def authors_year_title_publication_pages + /(?<authors>.+?)\s+#{year_pattern}\s+"(?<title>.+?)"\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})[,.;]?#{pages_pattern}/m + end + def authors_title_publication_year_pages + /(?<authors>.+?)\s+"(?<title>.+?)"\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})\s+#{year_pattern}\s+#{pages_pattern}/m + end + def authors_title_publication_pages_year ### + /(?<authors>.+?)\s+"(?<title>.+?)"\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})#{pages_pattern}#{year_pattern}/m + end + def authors_year_publication_pages + /(?<authors>.+?)\s+#{year_pattern}\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})#{pages_pattern}/m + end + def authors_publication_year_pages + /(?<authors>.+?)\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})[,.;]?\s+(?<publisher>.+?)?#{year_pattern}#{pages_pattern}[.;]?/m + end + self + end + def authors?(citations) + citations.each.map do |b| + if b =~ /^.+\s+::.+?:$/ + c=/^(?<citation>.+?)\s+::(?<shortref>.+?):$/.match(b) + { + citation: c[:citation], + shortref: c[:shortref], + c[:shortref].to_s => c[:citation] + } + else { citation: b } + end + end + end + def long_and_short_ref?(citations) #could be useful, keep ... ectract shortref + citations.each.map do |b| + if b =~ /^.+\s+::.+?:$/ + c=/^(?<citation>.+?)\s+::(?<shortref>.+?):$/.match(b) + { + citation: c[:citation], + shortref: c[:shortref], + c[:shortref].to_s => c[:citation] + } + else { citation: b } + end + end + end + def citation_detail(citations) #could be useful, keep ... extract shortref + bibahash=[] + number=0 + missed=0 + citations.select do |b| + z=if b =~citations_regex.authors_year_title_publication_editor_pages + c=citations_regex.authors_year_title_publication_editor_pages.match(b) + { + is: :article, + author_raw: c[:authors], + year: c[:year], + title: c[:title], + publication: c[:publication], + editor: c[:editor], + } + elsif b =~citations_regex.authors_title_publication_year_editor_pages + c=citations_regex.authors_title_publication_year_editor_pages.match(b) + { + is: :article, + author_raw: c[:authors], + year: c[:year], + title: c[:title], + publication: c[:publication], + editor: c[:editor], + } + elsif b =~citations_regex.authors_title_publication_editor_year_pages + c=citations_regex.authors_title_publication_editor_year_pages.match(b) + { + is: :article, + author_raw: c[:authors], + year: c[:year], + title: c[:title], + publication: c[:publication], + editor: c[:editor], + } + elsif b =~citations_regex.authors_title_publication_editor_pages_year + c=citations_regex.authors_title_publication_editor_pages_year.match(b) + { + is: :article, + author_raw: c[:authors], + year: c[:year], + title: c[:title], + publication: c[:publication], + editor: c[:editor], + } + elsif b =~citations_regex.authors_year_title_publication_pages + c=citations_regex.authors_year_title_publication_pages.match(b) + { + is: :article, + author_raw: c[:authors], + year: c[:year], + title: c[:title], + publication: c[:publication], + } + elsif b =~citations_regex.authors_title_publication_year_pages + c=citations_regex.authors_title_publication_year_pages.match(b) + { + is: :article, + author_raw: c[:authors], + year: c[:year], + title: c[:title], + publication: c[:publication], + } + elsif b =~citations_regex.authors_year_publication_pages + c=citations_regex.authors_year_publication_pages.match(b) + { + is: :book, + author_raw: c[:authors], + year: c[:year], + publication: c[:publication], + } + elsif b =~citations_regex.authors_publication_year_pages + c=citations_regex.authors_publication_year_pages.match(b) + { + is: :book, + author_raw: c[:authors], + year: c[:year], + publication: c[:publication], + } + else b + end + if not z.is_a?(NilClass) \ + and z.is_a?(Hash) \ + and z[:author_raw].length > 0 + z[:author_arr]=z[:author_raw].split(/;\s*/) + z[:author]=z[:author_arr].map do |author| + author.gsub(/(.+?),\s+(.+)/,'\2 \1').strip + end.join(', ').strip + if @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on + number +=1 if z.is_a?(Hash) + missed +=1 if z.is_a?(String) + (z.is_a?(Hash)) \ + ? (p '[' + number.to_s + '] ' + z.to_s) + : (p '<' + missed.to_s + '> ' + z.to_s) + end + end + bibahash << z if z.is_a?(Hash) + end + bibahash=sort_bibliography_array_by_author_year(bibahash.compact) + bibahash + end + def citations_scan(data) + citations=[] + #short_ref=[] + tuned_file = data.compact.select do |dob| + if dob.is !=:meta \ + && dob.is !=:comment \ + && dob.is !=:code \ + && dob.is !=:table + if dob.obj =~/\.:.+?:\./ + citations << dob.obj.scan(/\.:\s*(.+?)\s*:\./m) + #short_ref << dob.obj.scan(/\.:\s+(.+?)\s+::([^:]+)::\./m) #look at later + ##short_ref << dob.obj.scan(/\.:\s+(.+?)\s+::(.+?)::\./m) #look at later + #short_ref << dob.obj.scan(/\.:\s*(.+?)\s*(::(.+?):)?:\./m) #look at later + citations=citations.flatten.compact + dob.obj=dob.obj. #remove citations delimiter & helpers from text + gsub(/\.:|:\./,'') + end + end + dob if dob.is_a?(Object) + end + #bib=long_and_short_ref?(citations) #could be useful, keep ... extract shortref + citations=citation_detail(citations) + [tuned_file,citations] + end + end +end +__END__ +#+END_SRC + +** ao_character_check.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_character_check.rb" +# <<sisu_document_header>> +module SiSU_AO_CharacterCheck + class Check + def initialize(data) + @data=data + @comment='%' + @endnote_array=[] + end + def character_check_and_oldstyle_endnote_array + data=@data + @endnote_array=[] + endnote_no=1 + @tuned_file=data.select do |dob| + unless dob.is ==:table + dob.obj=dob.obj.strip. + gsub(/^[{~}]\s*$/,''). + gsub(/~#\s*/,"#{Mx[:pa_non_object_no_heading]}"). + gsub(/-#\s*/,"#{Mx[:pa_non_object_dummy_heading]}"). + gsub(/(#{Mx[:en_a_o]})\s*\s+/,'\1 '). + gsub(/(~\{\s*)\s+/,'\1 '). + gsub(/ \/\//,"#{Mx[:br_line]}"). + gsub(/<br>/,"#{Mx[:br_line]}"). #needed by xml, xhtml etc. + gsub(/\t/,' '). + gsub(/\342\200\231/u,"'"). #if dob =~/’/ #Avoid #‘ ’ #“ ” + gsub(/\\copy(?:right)?\b/,'©'). + gsub(/\\trademark\b|\\tm\b/,'®') + dob.obj=dob.obj + "\n" + unless dob.is ==:code + case dob.obj + when /\^~/ #% Note must do this first (earlier loop) and then enter gathered data into ~^\d+ + sub_dob=dob.obj.dup + @endnote_array << sub_dob.gsub(/\n/,''). + gsub(/\^~\s+(.+)\s*/, + %{#{Mx[:en_a_o]}#{endnote_no} \\1 #{Mx[:en_a_c]}}). + strip + endnote_no+=1 + dob=nil if dob.obj =~/\^~ .+/ #watch, removes 'binary' endnote now in endnote array for later insertion + end + end + end + dob if dob.is_a?(Object) + end.flatten.compact + [@tuned_file,@endnote_array] + end + end +end +#+END_SRC + +** ao_composite.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_composite.rb" +# <<sisu_document_header>> +module SiSU_Assemble + require_relative 'se' # se.rb + require_relative 'utils_composite' # utils_composite.rb + class RemoteImage + def initialize + @env=SiSU_Env::InfoEnv.new + end + def image(dir) + images=[] + images[0]=dir + images + end + def download_images(images_info) + path="#{@env.processing_path.processing}/external_document/image" + FileUtils::mkdir_p(path) \ + unless FileTest.directory?(path) + download_from=images_info.shift + images_info.each do |i| + image="#{path}/#{i}" + imagefile=File.new(image,'w+') + open("#{download_from}/#{i}") do |g| + imagefile << g.read + end + imagefile.close + end + output_path="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image_external" + FileUtils::mkdir_p(output_path) \ + unless FileTest.directory?(output_path) + SiSU_Env::SystemCall.new("#{path}/*",output_path,'q').rsync + end + end + class Composite + include SiSU_Composite_Doc_Utils # composite doc, .ssm, extract all related insert files, array of filenames test + def initialize(opt) + @opt=opt + @env=SiSU_Env::InfoEnv.new + end + def read + begin + pwd=Dir.pwd + Dir.chdir(@opt.f_pth[:pth]) + if @opt.fno =~/\S+?\.ssm$/ + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Composite Document', + "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}", + ).grey_title_hi unless @opt.act[:quiet][:set]==:on + composite_and_imported_filenames_array(@opt.fno) # composite doc, .ssm, extract all related insert files, array of filenames test + assembled=loadfile(@opt.fno) + write(assembled) + end + Dir.chdir(pwd) + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns). + location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def insert?(para) + if para =~ /^<<\s+((?:https?|file):\/\/\S+?\.ss[it])$/ # and NetTest + url($1.strip) + elsif para =~/^<<\s+(\S+?\.ss[it])$/ + loadfilename=$1.strip + insert_array=loadfile(loadfilename) + file=insertion(loadfilename,insert_array) + file[:prepared] + else para + end + end + def loadfile(loadfilename) + begin + if FileTest.file?(loadfilename) + insert_array=IO.readlines(loadfilename,'') + if loadfilename =~/\S+?\.ss[itm]$/ + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'loading:', + loadfilename, + ).txt_grey + end + tuned_file=if loadfilename =~/\S+?\.ss[im]$/ + insert_array.each.map do |para| + insert?(para) + end + elsif loadfilename =~/\S+?\.sst$/ + insert_array.each.map do |para| + para + end + end.flatten.compact + end + end + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def url(loadfilename) + if loadfilename =~ /((?:https?|file):\/\/\S+?\.ss[it])$/ # and NetTest + loadfilename=$1 + begin + require 'uri' + require 'open-uri' + require 'pp' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('uri, open-uri or pp NOT FOUND (LoadError)') + end + insert=open(loadfilename) + insert_array=insert.dup + insert.close + file=insertion(loadfilename,insert_array) + file[:prepared] + end + end + def write(assembled) + assembled_file=File.new("#{@env.processing_path.composite_file}/#{@opt.fnb}.ssm.sst",'w+') + assembled.each {|a| assembled_file << a } + assembled_file.close + end + def download_images(download_from,images_array) + path="#{@env.processing_path.processing}/external_document/image" + FileUtils::mkdir_p(path) unless FileTest.directory?(path) + images_array.each do |i| + image="#{path}/#{i}" + unless FileTest.exists?(image) + imagefile=File.new(image,'w+') + open("#{download_from}/#{i}") do |g| + imagefile << g.read + end + imagefile.close + end + end + end + def insertion(fni,insert_array) + file={ prepared: [], images: [] } + rgx_image=/(?:^|[^_\\])\{\s*(\S+?\.(?:png|jpg|gif))/ + file[:prepared] << "\n% |#{fni}|@|^|>>ok\n\n" + @code_flag=false + insert_array.each do |i| + @code_flag=if i =~/^code\{/ then true + elsif i =~/^\}code/ then false + else @code_flag + end + if not @code_flag \ + and i !~/^%+\s/ + i=i. + gsub(/^([123]|:?[ABCD])~\? /, + '% [conditional heading:] \1~ ') #off conditional heading (consider syntax) + if i =~/^@\S+?:/ + i=i.gsub(/\n/m,"\n% "). + gsub(/\n%\s+$/m,''). + gsub(/^@\S+?:/m,"\n% [imported header:] ") #off imported headers + end + end + file[:prepared] << i + if i !~/^%+\s/ \ + and i =~rgx_image + file[:images] << i.scan(rgx_image).uniq + end + end + file[:prepared] << "\n% end import" << "\n\n" + if file[:images].length > 0 + file[:images]=file[:images].flatten.uniq + file[:images].delete_if {|x| x =~/https?:\/\// } + end + file + end + end + class CompositeFileList + def initialize(opt) + @opt=opt + @env=SiSU_Env::InfoEnv.new + end + def read + begin + @opt.fns=@opt.fns.gsub(/\.ssm\.sst$/,'.ssm') #FIX earlier, hub + fns_array=IO.readlines(@opt.fns,'') + insertions?(fns_array) + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def insertions?(fns_array) + tuned_file=[] + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Composite Document', + @opt.fno + ).grey_title_hi unless @opt.act[:quiet][:set]==:on + @ssm=[@opt.fns] + fns_array.each do |para| + if para =~/^<<\s+(\S+?\.ss[it])$/ + loadfilename=$1.strip + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'loading:', + loadfilename, + ).txt_grey + end + tuned_file << if loadfilename =~ /(?:https?|file):\/\/\S+?\.ss[it]$/ + @ssm << loadfilename + elsif loadfilename =~ /\.ss[it]$/ \ + and FileTest.file?(loadfilename) + @ssm << loadfilename + else + STDERR.puts %{SKIPPED processing file: [#{@opt.lng}] "#{@opt.fns}" it requires an invalid or non-existent file: "#{loadfilename}"} + $process_document = :skip; break #remove this line to continue processing documents that have missing include files + para + end + end + end + @ssm + end + end +end +__END__ +#+END_SRC + +** ao_doc_objects.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_doc_objects.rb" +# <<sisu_document_header>> +Module SiSU_AO_DocumentStructure + class Extract + def extract(h,o) + h ? h : o + end + end + class ObjectMetadata + attr_accessor :is,:of,:tags,:obj,:digest + def initialize + @tags={} + @is=@tmp=@digest=nil + @of=:meta + end + def metadata(tags) + of = @of #Symbol, classification - group + is = :meta #Symbol, classification - specific type + tags = tags || ((defined? o.tags) ? o.tags : {}) #String, metadata type/tag + obj = nil + @of,@is,@tags,@obj=of,is,tags,obj + self + end + end + class ObjectMeta + attr_accessor :obj,:is,:of,:tag,:digest,:tmp + def initialize + @is=@obj=@tag=@digest=@digest=@tmp=nil + @of=:meta + end + def metadata(h,o=nil) + of = @of #Symbol, classification - group + is = :meta #Symbol, classification - specific type + tag = h[:tag] || ((defined? o.tag) ? o.tag : nil) #String, metadata type/tag + obj = h[:obj] || ((defined? o.obj) ? o.obj : nil) #String, text content + tmp = h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + digest = h[:digest] || ((defined? o.digest) ? o.digest : nil) #hash digests, sha512, sha256 or md5 + @of,@is,@tag,@obj,@digest,@tmp=of,is,tag,obj,digest,tmp + self + end + end + class ObjectHeading + attr_accessor :obj,:is,:tags,:of,:lv,:ln,:lc,:use_,:name,:idx,:ocn,:odv,:osp,:node,:parent,:ocn_,:note_,:autonum_,:digest,:tmp + def initialize + @of=:para + @is=@obj=@lv=@ln=@lc=@use_=@name=@idx=@size=@ocn=@odv=@osp=@node=@parent=@ocn_=@note_=@autonum_=@digest=@tmp=nil + @tags=[] + end + def heading_ln(lv) + case lv + when /A/ then 0 + when /B/ then 1 + when /C/ then 2 + when /D/ then 3 + when /1/ then 4 + when /2/ then 5 + when /3/ then 6 + when /4/ then 7 + when /5/ then 8 + when /6/ then 9 + end + end + def heading_lv(ln) + case ln.to_s + when /0/ then 'A' + when /1/ then 'B' + when /2/ then 'C' + when /3/ then 'D' + when /4/ then '1' + when /5/ then '2' + when /6/ then '3' + when /7/ then '4' + when /8/ then '5' + when /9/ then '6' + end + end + def heading(h,o=nil) + if not h[:ln] \ + and (h[:lv] and h[:lv]=~/[1-6A-D]/) + h[:ln]=heading_ln(h[:lv]) + elsif not h[:lv] \ + and (h[:ln] and h[:ln].to_s=~/[0-9]/) + h[:lv]=heading_lv(h[:ln]) + end + of = @of #Symbol, classification - group + is = :heading #Symbol, classification - specific type + name = h[:name] || ((defined? o.name) ? o.name : nil) #String, named object? + tags = h[:tags] || ((defined? o.tags) ? o.tags : []) #Array, associated object tags, names if any + obj = h[:obj] || ((defined? o.obj) ? o.obj : nil) #String, text content + idx = h[:idx] || ((defined? o.idx) ? o.idx : nil) #String, book index provided? + ocn = h[:ocn] || ((defined? o.ocn) ? o.ocn : nil) #Integer, sequential on substantive-content objects + odv = h[:odv] || ((defined? o.odv) ? o.odv : nil) + osp = h[:osp] || ((defined? o.osp) ? o.osp : nil) + node = h[:node] || ((defined? o.node) ? o.node : nil) #[Node relationship doc structure info] + parent = h[:parent] || ((defined? o.parent) ? o.parent : nil) #[Node parent] + lv = h[:lv] || ((defined? o.lv) ? o.lv : nil) #Alpha-numeric, document structure as used in markup, A-D then 1-6 + ln = h[:ln] || ((defined? o.ln) ? o.ln : nil) #Integer, document structure level, for convenience in processing 1-9 + lc = h[:lc] || ((defined? o.lc) ? o.lc : nil) #Integer, document structure collapsed level, convenience (collapse sisu's dual level document structure for markup with simple linear structure) + use_ = if lv \ + and lv == '1' + h[:use_] || ((defined? o.use_) ? o.use_ : :ok) + elsif not lv.empty? \ + and lv =~ /[A-D2-3]/ + :ok + else + h[:use_] || ((defined? o.use_) ? o.use_ : :ok) + end + ocn_ = if h[:ocn_].nil? + ((defined? o.ocn_) ? o.ocn_ : true) #Bool? no ocn, non-substantive content, do not include in toc #consider + else h[:ocn_] + end + autonum_ = if h[:autonum_].nil? + ((defined? o.autonum_) ? o.autonum_ : true) #Bool? auto-numbering if requested default on, false suppresses + else h[:autonum_] + end + note_ = h[:note_] || ((defined? o.note_) ? o.note_ : false) #Bool, endnotes/footnotes? (processing optimization) + digest = h[:digest] || ((defined? o.digest) ? o.digest : nil) #hash digests, sha512, sha256 or md5 + tmp = h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of,@is,@lv,@ln,@lc,@name,@tags,@obj,@idx,@ocn,@odv,@osp,@node,@parent,@use_,@ocn_,@note_,@autonum_,@digest,@tmp= + of, is, lv, ln, lc, name, tags, obj, idx, ocn, odv, osp, node, parent, use_, ocn_, note_, autonum_, digest, tmp + self + end + def heading_insert(h,o=nil) + heading(h,o=nil) + @is = :heading_insert #String, classification - specific type + self + end + end + class ObjectPara + attr_accessor :obj,:is,:tags,:of,:name,:idx,:quote_,:bullet_,:indent,:hang,:ocn,:odv,:osp,:parent,:note_,:image_,:ocn_,:digest,:tmp + def initialize + @of=:para + @is=@obj=@name=@idx=@quote_=@bullet_=@indent=@hang=@size=@ocn=@odv=@osp=@parent=@note_=@image_=@ocn_=@digest=@tmp=nil + @tags=[] + end + def paragraph(h,o=nil) + of = @of #Symbol, classification - group + is = :para #Symbol, classification - specific type + name = h[:name] || ((defined? o.name) ? o.name : nil) #String, named object? + tags = h[:tags] || ((defined? o.tags) ? o.tags : []) #Array, associated object tags, names if any + obj = h[:obj] || ((defined? o.obj) ? o.obj : nil) #String, text content + idx = h[:idx] || ((defined? o.idx) ? o.idx : nil) #String, book index provided? + ocn = h[:ocn] || ((defined? o.ocn) ? o.ocn : nil) #Integer, sequential on substantive-content objects + odv = h[:odv] || ((defined? o.odv) ? o.odv : nil) + osp = h[:osp] || ((defined? o.osp) ? o.osp : nil) + parent = h[:parent] || ((defined? o.parent) ? o.parent : nil) #[Node parent] + indent = h[:indent].to_s || ((defined? o.indent) ? o.indent.to_s : nil) #Integer, indent level + hang = h[:hang].to_s || ((defined? o.hang) ? o.hang.to_s : nil) #Integer, hanging indent level + bullet_ = h[:bullet_] || ((defined? o.bullet_) ? o.bullet_ : false) #Bool, bulleted? + quote_ = h[:quote_] || ((defined? o.quote_) ? o.quote_ : false) #Bool, quote (blockquote)? + note_ = h[:note_] || ((defined? o.note_) ? o.note_ : false) #Bool, endnotes/footnotes? (processing optimization) + image_ = h[:image_] || ((defined? o.image_) ? o.image_ : false) #Bool, images? (processing optimization) + ocn_ = if h[:ocn_].nil? + ((defined? o.ocn_) ? o.ocn_ : true) #Bool? no ocn, non-substantive content, do not include in toc #consider + else h[:ocn_] + end + digest = h[:digest] || ((defined? o.digest) ? o.digest : nil) #hash digests, sha512, sha256 or md5 + tmp = h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of,@is,@name,@tags,@obj,@indent,@hang,@bullet_,@quote_,@idx,@ocn,@odv,@osp,@parent,@image_,@note_,@ocn_,@digest,@tmp= + of, is, name, tags, obj, indent, hang, bullet_, quote_, idx, ocn, odv, osp, parent, image_, note_, ocn_, digest, tmp + self + end + def docinfo(h,o=nil) + of = @of #String, classification - group + is = :docinfo #String, classification - specific type + name = h[:name] || ((defined? o.name) ? o.name : nil) #String, named object? + tags = h[:tags] || ((defined? o.tags) ? o.tags : nil) #Array, associated object tags, names if any + obj = h[:obj] || ((defined? o.obj) ? o.obj : nil) #String, text content + idx = nil #String, book index provided? + ocn = nil #Integer, sequential on substantive-content objects + odv = h[:odv] || ((defined? o.odv) ? o.odv : nil) + osp = h[:osp] || ((defined? o.osp) ? o.osp : nil) + parent = h[:parent] || ((defined? o.parent) ? o.parent : nil) #[Node parent] + indent = nil #Integer, indent level + hang = nil #Integer, indent level + bullet_ = false #Bool, bulleted? + note_ = false #Bool, endnotes/footnotes? (processing optimization) + image_ = h[:image_] || ((defined? o.image_) ? o.image_ : false) #Bool, images? (processing optimization) + ocn_ = if h[:ocn_].nil? + ((defined? o.ocn_) ? o.ocn_ : true) #Bool? no ocn, non-substantive content, do not include in toc #consider + else h[:ocn_] + end + digest = h[:digest] || ((defined? o.digest) ? o.digest : nil) #hash digests, sha512, sha256 or md5 + tmp = h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of,@is,@name,@tags,@obj,@indent,@hang,@bullet_,@idx,@ocn,@odv,@osp,@parent,@image_,@note_,@ocn_,@digest,@tmp= + of, is, name, tags, obj, indent, hang, bullet_, idx, ocn, odv, osp, parent, image_, note_, ocn_, digest, tmp + self + end + end + class ObjectBlockTxt + attr_accessor :obj,:is,:of,:tags,:lngsyn,:idx,:ocn,:odv,:osp,:parent,:note_,:number_,:ocn_,:digest,:tmp + def initialize + @of=:block + @is=@obj=@lngsyn=@idx=@ocn=@odv=@osp=@parent=@note_=@number_=@ocn_=@digest=@tmp=nil + @tags=[] + end + def code(h,o=nil) + of = @of #Symbol, classification - group #alt 'code' + is = :code #Symbol, classification - specific type + tags = h[:tags] || ((defined? o.tags) ? o.tags : []) #Array, associated object tags, names if any + obj = h[:obj] || ((defined? o.obj) ? o.obj : nil) #String, text content + lngsyn = h[:lngsyn] || ((defined? o.lngsyn) ? o.lngsyn : :txt) #symbol, code lngsyn + idx = h[:idx] || ((defined? o.idx) ? o.idx : nil) #String, book index provided? + ocn = h[:ocn] || ((defined? o.ocn) ? o.ocn : nil) #Integer, sequential on substantive-content objects + odv = h[:odv] || ((defined? o.odv) ? o.odv : nil) + osp = h[:osp] || ((defined? o.osp) ? o.osp : nil) + parent = h[:parent] || ((defined? o.parent) ? o.parent : nil) #[Node parent] + number_ = h[:number_] || ((defined? o.number_) ? o.number_ : false) #Bool, numbered or not? + note_ = h[:note_] || ((defined? o.note_) ? o.note_ : false) #Bool, endnotes/footnotes? (processing optimization) + ocn_ = if h[:ocn_].nil? + ((defined? o.ocn_) ? o.ocn_ : true) #Bool? no ocn, non-substantive content, do not include in toc #consider + else h[:ocn_] + end + num = h[:num] || ((defined? o.num) ? o.num : nil) + digest = h[:digest] || ((defined? o.digest) ? o.digest : nil) #hash digests, sha512, sha256 or md5 + tmp = h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of,@is,@tags,@obj,@lngsyn,@idx,@ocn,@odv,@osp,@parent,@number_,@note_,@ocn_,@num,@digest,@tmp= + of, is, tags, obj, lngsyn, idx, ocn, odv, osp, parent, number_, note_, ocn_, num, digest, tmp + self + end + def box(h,o=nil) + of = @of #Symbol, classification - group + is = :box #Symbol, classification - specific type + tags = h[:tags] || ((defined? o.tags) ? o.tags : []) #Array, associated object tags, names if any + obj = h[:obj] || ((defined? o.obj) ? o.obj : nil) #String, text content + idx = h[:idx] || ((defined? o.idx) ? o.idx : nil) #String, book index provided? + ocn = h[:ocn] || ((defined? o.ocn) ? o.ocn : nil) #Integer, sequential on substantive-content objects + odv = h[:odv] || ((defined? o.odv) ? o.odv : nil) + osp = h[:osp] || ((defined? o.osp) ? o.osp : nil) + parent = h[:parent] || ((defined? o.parent) ? o.parent : nil) #[Node parent] + note_ = h[:note_] || ((defined? o.note_) ? o.note_ : false) #Bool, endnotes/footnotes? (processing optimization) + ocn_ = if h[:ocn_].nil? + ((defined? o.ocn_) ? o.ocn_ : true) #Bool? no ocn, non-substantive content, do not include in toc #consider + else h[:ocn_] + end + num = h[:num] || ((defined? o.num) ? o.num : nil) + digest = h[:digest] || ((defined? o.digest) ? o.digest : nil) #hash digests, sha512, sha256 or md5 + tmp = h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of,@is,@tags,@obj,@idx,@ocn,@odv,@osp,@parent,@note_,@ocn_,@num,@digest,@tmp= + of, is, tags, obj, idx, ocn, odv, osp, parent, note_, ocn_, num, digest, tmp + self + end + def block(h,o=nil) + of = @of #Symbol, classification - group + is = :block #Symbol, classification - specific type + tags = h[:tags] || ((defined? o.tags) ? o.tags : []) #Array, associated object tags, names if any + obj = h[:obj] || ((defined? o.obj) ? o.obj : nil) #String, text content + idx = h[:idx] || ((defined? o.idx) ? o.idx : nil) #String, book index provided? + ocn = h[:ocn] || ((defined? o.ocn) ? o.ocn : nil) #Integer, sequential on substantive-content objects + odv = h[:odv] || ((defined? o.odv) ? o.odv : nil) + osp = h[:osp] || ((defined? o.osp) ? o.osp : nil) + parent = h[:parent] || ((defined? o.parent) ? o.parent : nil) #[Node parent] + note_ = h[:note_] || ((defined? o.note_) ? o.note_ : false) #Bool, endnotes/footnotes? (processing optimization) + ocn_ = if h[:ocn_].nil? + ((defined? o.ocn_) ? o.ocn_ : true) #Bool? no ocn, non-substantive content, do not include in toc #consider + else h[:ocn_] + end + num = h[:num] || ((defined? o.num) ? o.num : nil) + digest = h[:digest] || ((defined? o.digest) ? o.digest : nil) #hash digests, sha512, sha256 or md5 + tmp = h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of,@is,@tags,@obj,@idx,@ocn,@odv,@osp,@parent,@note_,@ocn_,@num,@digest,@tmp= + of, is, tags, obj, idx, ocn, odv, osp, parent, note_, ocn_, num, digest, tmp + self + end + def group(h,o=nil) + of = @of #Symbol, classification - group + is = :group #Symbol, classification - specific type + tags = h[:tags] || ((defined? o.tags) ? o.tags : []) #Array, associated object tags, names if any + obj = h[:obj] || ((defined? o.obj) ? o.obj : nil) #String, text content + idx = h[:idx] || ((defined? o.idx) ? o.idx : nil) #String, book index provided? + ocn = h[:ocn] || ((defined? o.ocn) ? o.ocn : nil) #Integer, sequential on substantive-content objects + odv = h[:odv] || ((defined? o.odv) ? o.odv : nil) + osp = h[:osp] || ((defined? o.osp) ? o.osp : nil) + parent = h[:parent] || ((defined? o.parent) ? o.parent : nil) #[Node parent] + note_ = h[:note_] || ((defined? o.note_) ? o.note_ : false) #Bool, endnotes/footnotes? (processing optimization) + ocn_ = if h[:ocn_].nil? + ((defined? o.ocn_) ? o.ocn_ : true) #Bool? no ocn, non-substantive content, do not include in toc #consider + else h[:ocn_] + end + num = h[:num] || ((defined? o.num) ? o.num : nil) + digest = h[:digest] || ((defined? o.digest) ? o.digest : nil) #hash digests, sha512, sha256 or md5 + tmp = h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of,@is,@tags,@obj,@idx,@ocn,@odv,@osp,@parent,@note_,@ocn_,@num,@digest,@tmp= + of, is, tags, obj, idx, ocn, odv, osp, parent, note_, ocn_, num, digest, tmp + self + end + def alt(h,o=nil) #see block + of = @of #Symbol, classification - group + is = :alt #Symbol, classification - specific type + tags = h[:tags] || ((defined? o.tags) ? o.tags : []) #Array, associated object tags, names if any + obj = h[:obj] || ((defined? o.obj) ? o.obj : nil) #String, text content + idx = h[:idx] || ((defined? o.idx) ? o.idx : nil) #String, book index provided? + ocn = h[:ocn] || ((defined? o.ocn) ? o.ocn : nil) #Integer, sequential on substantive-content objects + odv = h[:odv] || ((defined? o.odv) ? o.odv : nil) + osp = h[:osp] || ((defined? o.osp) ? o.osp : nil) + parent = h[:parent] || ((defined? o.parent) ? o.parent : nil) #[Node parent] + note_ = h[:note_] || ((defined? o.note_) ? o.note_ : false) #Bool, endnotes/footnotes? (processing optimization) + ocn_ = if h[:ocn_].nil? + ((defined? o.ocn_) ? o.ocn_ : true) #Bool? no ocn, non-substantive content, do not include in toc #consider + else h[:ocn_] + end + num = h[:num] || ((defined? o.num) ? o.num : nil) + digest = h[:digest] || ((defined? o.digest) ? o.digest : nil) #hash digests, sha512, sha256 or md5 + tmp = h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of,@is,@tags,@obj,@idx,@ocn,@odv,@osp,@parent,@note_,@ocn_,@num,@digest,@tmp= + of, is, tags, obj, idx, ocn, odv, osp, parent, note_, ocn_, num, digest, tmp + self + end + def verse(h,o=nil) #part of poem decide how you deal with this + of = @of #Symbol, classification - group + is = :verse #Symbol, classification - specific type + tags = h[:tags] || ((defined? o.tags) ? o.tags : []) #Array, associated object tags, names if any + obj = h[:obj] || ((defined? o.obj) ? o.obj : nil) #String, text content + idx = h[:idx] || ((defined? o.idx) ? o.idx : nil) #String, book index provided? + ocn = h[:ocn] || ((defined? o.ocn) ? o.ocn : nil) #Integer, sequential on substantive-content objects + odv = h[:odv] || ((defined? o.odv) ? o.odv : nil) + osp = h[:osp] || ((defined? o.osp) ? o.osp : nil) + parent = h[:parent] || ((defined? o.parent) ? o.parent : nil) #[Node parent] + ocn_ = if h[:ocn_].nil? + ((defined? o.ocn_) ? o.ocn_ : true) #Bool? no ocn, non-substantive content, do not include in toc #consider + else h[:ocn_] + end + num = h[:num] || ((defined? o.num) ? o.num : nil) + digest = h[:digest] || ((defined? o.digest) ? o.digest : nil) #hash digests, sha512, sha256 or md5 + tmp = h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of,@is,@tags,@obj,@idx,@ocn,@odv,@osp,@parent,@note_,@ocn_,@num,@digest,@tmp= + of, is, tags, obj, idx, ocn, odv, osp, parent, note_, ocn_, num, digest, tmp + @h=nil + self + end + end + class ObjectTable + attr_accessor :obj,:is,:of,:lv,:tags,:name,:idx,:indent,:hang,:size,:ocn,:num,:head_,:cols,:widths,:odv,:osp,:parent,:note_,:ocn_,:digest,:tmp + def initialize + @of=:block + @is=@obj=@lv=@name=@idx=@indent=@hang=@size=@ocn,@num,@head_,@cols,@widths=@odv=@osp=@parent=@note_=@ocn_=@num=@digest=@tmp=nil + @tags=[] + end + def table(h,o=nil) + of = @of #Symbol, classification - group + is = :table #Symbol, classification - specific type + tags = h[:tags] || ((defined? o.tags) ? o.tags : []) #Array, associated object tags, names if any + cols = h[:cols] || ((defined? o.cols) ? o.cols : nil) + widths = h[:widths] || ((defined? o.widths) ? o.widths : nil) + obj = h[:obj] || ((defined? o.obj) ? o.obj : nil) #String, text content + idx = h[:idx] || ((defined? o.idx) ? o.idx : nil) #String, book index provided? + ocn = h[:ocn] || ((defined? o.ocn) ? o.ocn : nil) #Integer, sequential on substantive-content objects + odv = h[:odv] || ((defined? o.odv) ? o.odv : nil) + osp = h[:osp] || ((defined? o.osp) ? o.osp : nil) + parent = h[:parent] || ((defined? o.parent) ? o.parent : nil) #[Node parent] + head_ = h[:head_] || ((defined? o.head_) ? o.head_ : false) + note_ = h[:note_] || ((defined? o.note_) ? o.note_ : false) #Bool, endnotes/footnotes? (processing optimization) + ocn_ = if h[:ocn_].nil? + ((defined? o.ocn_) ? o.ocn_ : true) #Bool? no ocn, non-substantive content, do not include in toc #consider + else h[:ocn_] + end + num = h[:num] || ((defined? o.num) ? o.num : nil) + digest = h[:digest] || ((defined? o.digest) ? o.digest : nil) #hash digests, sha512, sha256 or md5 + tmp = h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of,@is,@tags,@cols,@widths,@obj,@idx,@ocn,@odv,@osp,@parent,@head_,@note_,@ocn_,@num,@digest,@tmp= + of, is, tags, cols, widths, obj, idx, ocn, odv, osp, parent, head_, note_, ocn_, num, digest, tmp + self + end + end + class ObjectImage + attr_accessor :obj,:is,:of,:lv,:idx,:size,:ocn,:parent,:note_,:ocn_,:digest,:tmp + def initialize + @of=:image + @is=@obj=@lv=@idx=@size=@ocn=@parent=@note_=@ocn_=@tmp=@digest=nil + @tags=[] + end + def image(h,o=nil) #not yet used, and what of a paragraph containing several images, consider + of= @of #Symbol, classification - group + is= :image #Symbol, classification - specific type + tags= h[:tags] || ((defined? o.tags) ? o.tags : []) #Array, associated object tags, names if any + obj= h[:obj] || ((defined? o.obj) ? o.obj : nil) #String, text content + size= h[:size] || ((defined? o.size) ? o.size : nil) + idx= h[:idx] || ((defined? o.idx) ? o.idx : nil) #String, book index provided? + ocn= h[:ocn] || ((defined? o.ocn) ? o.ocn : nil) #Integer, sequential on substantive-content objects + odv= h[:odv] || ((defined? o.odv) ? o.odv : nil) + osp= h[:osp] || ((defined? o.osp) ? o.osp : nil) + parent= h[:parent] || ((defined? o.parent) ? o.parent : nil) #[Node parent] + note_= h[:note_] || ((defined? o.note_) ? o.note_ : false) #Bool, endnotes/footnotes? (processing optimization) + ocn_=if h[:ocn_].nil? + ((defined? o.ocn_) ? o.ocn_ : true) #Bool? no ocn, non-substantive content, do not include in toc #consider + else h[:ocn_] + end + digest= h[:digest] || ((defined? o.digest) ? o.digest : nil) #hash digests, sha512, sha256 or md5 + tmp= h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of,@is,@tags,@obj,@size,@idx,@ocn,@odv,@osp,@parent,@note_,@ocn_,@digest,@tmp=of,is,tags,obj,size,idx,ocn,odv,osp,parent,note_,ocn_,digest,tmp + self + end + end + class ObjectStructure + attr_accessor :obj,:tag,:node,:lv,:ln,:lc,:status,:is,:of,:tmp + def initialize + @of=:structure + @is=@obj=@node=@lv=@ln=@lc=@status=@tmp=nil + end + def xml_dom(h,o=nil) + of= @of #Symbol, classification - group + is= :xml_dom #Symbol, classification - specific type + obj= h[:obj] || ((defined? o.obj) ? o.obj : '') #String, text content + lv= h[:lv] || ((defined? o.lv) ? o.lv : nil) #Alpha-numeric, document structure as used in markup, A-D then 1-6 + ln= h[:ln] || ((defined? o.ln) ? o.ln : nil) #Integer, document structure level, for convenience in processing 1-9 + lc= h[:lc] || ((defined? o.lc) ? o.lc : nil) #Integer, document structure collapsed level, convenience (collapse sisu's dual level document structure for markup with simple linear structure) + node= h[:node] || ((defined? o.node) ? o.node : nil) #[Node relationship doc structure info] + status= h[:status] || ((defined? o.status) ? o.status : nil) #tag status Symbol :open or :close + tmp= h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of,@is,@obj,@status,@node,@lv,@ln,@lc,@tmp=of,is,obj,status,node,lv,ln,lc,tmp + self + end + end + class ObjectFlag + attr_accessor :obj,:is,:of,:flag,:act,:selections,:tmp + def initialize + @of=:flag + @is=@obj=@flag=@act=@selections=@tmp=nil + end + def flag(h,o=nil) + of= @of #Symbol, classification - group + is= :flag #Symbol, classification - specific type + obj= nil #String, text content + flag= h[:flag] || ((defined? o.flag) ? o.flag : nil) #String, text content + act= h[:act] || ((defined? o.act) ? o.act : nil) #String, text content + selections= h[:selections] || ((defined? o.selections) ? o.selections : nil) #String, text content + tmp= h[:flag] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of, @is,@obj,@flag,@act,@selections,@tmp= + of,is, obj, flag, act, selections, tmp + self + end + def flag_ocn(h,o=nil) + of= @of #Symbol, classification - group + is= :flag_ocn #Symbol, classification - specific type + obj= nil #String, text content + flag= h[:flag] || ((defined? o.flag) ? o.flag : nil) #String, text content + act= h[:act] || ((defined? o.act) ? o.act : nil) #String, text content + selections= h[:selections] || ((defined? o.selections) ? o.selections : nil) #String, text content + tmp= h[:flag] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of, @is,@obj,@flag,@act,@selections,@tmp= + of,is, obj, flag, act, selections,tmp + self + end + def flag_lng(h,o=nil) + of= @of #Symbol, classification - group + is= :flag_lng + obj= nil #String, text content + flag= h[:flag] || ((defined? o.flag) ? o.flag : nil) #Symbol, :lng_on or :lng_off + act= h[:act] || ((defined? o.act) ? o.act : nil) #Symbol, language set to :en etc. + selections= h[:selections] || ((defined? o.selections) ? o.selections : nil) #String, text content + tmp= h[:act] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of, @is,@obj,@flag,@act,@selections,@tmp= + of,is, obj, flag, act, selections,tmp + self + end + end + class ObjectLayout + attr_accessor :obj,:sym,:attr,:is,:is_for,:of,:from,:tmp,:num + def initialize + @of=:layout + @is=@is_for=@obj=@from=@tmp=@num=nil + end + def break(h,f=nil) #decide how to deal with + of= @of #Symbol, classification - group + is= :break #Symbol, classification - specific type + obj= h[:obj] #String, text content + from= f + tmp= h[:tmp] #available for processing, empty after use + @of,@is,@obj,@from,@tmp=of,is,obj,from,tmp + self + end + def insert(h,o=nil) #decide how to deal with, could mimic paragraph? + of= @of #Symbol, classification - group + is= :insert #Symbol, classification - specific type + obj= h[:obj] || ((defined? o.obj) ? o.obj : nil) #String, text content + tmp= h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of,@is,@obj,@tmp=of,is,obj,tmp + self + end + def open_close(h,o=nil) #useful for poem & quote + of= @of #Symbol, classification - group + is= :open_close_tags #Symbol, classification - specific type + is_for= h[:is_for] || ((defined? o.is_for) ? o.is_for : nil) #String, text content + obj= h[:obj] || ((defined? o.obj) ? o.obj : nil) #String, text content + sym= h[:sym] || ((defined? o.sym) ? o.sym : nil) #Symbol tag_open, tag_close + attr= h[:attr] || ((defined? o.attr) ? o.attr : nil) #String, text content + tmp= h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + num= h[:num] || ((defined? o.num) ? o.num : nil) + @of,@is,@is_for,@obj,@sym,@attr,@tmp,@num= + of, is, is_for, obj, sym, attr, tmp, num + self + end + end + class ObjectComment + attr_accessor :obj,:is,:of,:tmp + def initialize + @of=:comment + @is=@obj=@tmp=nil + end + def comment(h,o=nil) + of= @of #Symbol, classification - group + is= :comment #Symbol, classification - specific type + obj= h[:obj] || ((defined? o.obj) ? o.obj : nil) #String, text content + tmp= h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + @of,@is,@obj,@tmp=of,is,obj,tmp + self + end + end +end +__END__ +# ~# |-# no paragraph number # -# not included in toc +#+END_SRC + +** ao_doc_str.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_doc_str.rb" +# <<sisu_document_header>> +module SiSU_AO_DocumentStructureExtract + require_relative 'ao_persist' # ao_persist.rb + class Instantiate < SiSU_Param::Parameters::Instructions + def initialize + @@counter=@@column=@@columns=0 + @@line_mode='' + end + end + class Build + def initialize(md,data) + @md,@data=md,data + SiSU_AO_DocumentStructureExtract::Instantiate.new + @pb=SiSU_AO_DocumentStructure::ObjectLayout.new.break(Hx[:br_page]) + @pbn=SiSU_AO_DocumentStructure::ObjectLayout.new.break(Hx[:br_page_new]) + @pbl=SiSU_AO_DocumentStructure::ObjectLayout.new.break(Hx[:br_page_line]) + @per=SiSU_AO_Persist::PersistDocStructExt.new + @make=SiSU_Env::ProcessingSettings.new(@md) + end + def ln_get(lv) + case lv + when /A/ then 0 + when /B/ then 1 + when /C/ then 2 + when /D/ then 3 + when /1/ then 4 + when /2/ then 5 + when /3/ then 6 + when /4/ then 7 + when /5/ then 8 + when /6/ then 9 + end + end + def image_test(str) + str=~/\{\s*\S+?\.png.+?\}https?:\/\/\S+/ \ + ? true + : false + end + def bullet_test(str) + (str=~/\*/) \ + ? true + : false + end + def quotes? + @per.quote==:open \ + ? true + : false + end + def hang_and_indent_test(str) + hang_indent=if str=~/^_([1-9])[^_]/ + [$1,$1] + elsif str=~/^__([1-9])/ + [0,$1] + elsif str=~/^_([0-9])_([0-9])/ + [$1,$2] + else + [0,0] + end + hang,indent=hang_indent[0],hang_indent[1] + [hang,indent] + end + def hang_and_indent_def_test(str1,str2) + hang_indent=if str1=~/^_([1-9])[^_]/ + [$1,$1] + elsif str1=~/^__([1-9])/ + [0,$1] + elsif str1=~/^_([0-9])_([0-9])/ + [$1,$2] + else + [0,0] + end + obj=if str2 =~/^(.+?)\s+\\\\(?:\s+|\n)/ + str2.gsub(/^(.+?)(\s+\\\\(?:\s+|\n))/, + "#{Mx[:fa_bold_o]}\\1#{Mx[:fa_bold_c]}\\2") + else + str2.gsub(/^(.+?)\n/, + "#{Mx[:fa_bold_o]}\\1#{Mx[:fa_bold_c]}\n") + end + hang,indent=hang_indent[0],hang_indent[1] + [ + hang, + indent, + obj, + ] + end + def endnote_test?(str) + (str=~/~\{.+?\}~|~\[.+?\]~/) \ + ? true + : false + end + def extract_tags(str,nametag=nil) + tags=[] + if str.nil? + else + if str =~/(?:^|[ ])\*~([a-z0-9._-]+)(?=[ #{Mx[:br_nl]}]|$)/ + str=str.gsub(/(^|[ ])\*~([a-z0-9._-]+)(?=[ #{Mx[:br_nl]}]|$)/i, + "\\1#{Mx[:tag_o]}\\2#{Mx[:tag_c]}"). + gsub(/ [ ]+/i,' ') + tags=str.scan(/#{Mx[:tag_o]}(\S+?)#{Mx[:tag_c]}/).flatten.uniq + str=str.gsub(/[ ]?#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}[ ]?/,' ') #may be issues with spaces would leave one, but "code" blocks? + end + tags=nametag ? (tags << nametag) : tags + tags.each do |t| + t.gsub!(/[^a-z0-9._-]/,'') + end + end + [ + str, + tags, + ] + end + def rgx_idx_ocn_seg + @rgx_idx_ocn_seg=/(.+?)\s*[+](\d+)/ + end + def construct_idx_array_and_hash(idxraw) + idx_array_raw=idxraw.scan(/[^;]+/) + idx_hash,idx_array,idx_lst={},[],[] + idx_array_raw.each do |idx| + idx=idx.strip + idx_lst=case idx + when /\S+?\s*:/ + idx_couplet_tmp=[] + idx_couplet=idx.scan(/\s*[^:]+\s*/) + if idx_couplet[1] =~/[|]/ + idx_couplet_tmp << + idx_couplet[0] << + idx_couplet[1].scan(/\s*[^|]+\s*/) + else + idx_couplet_tmp << + idx_couplet[0] << + [idx_couplet[1]] + end + idx_couplet=idx_couplet_tmp + else [idx] + end + term_nodes=[] + idx_lst.each do |term_node| + case term_node + when String + term_node= + term_node[0].chr.capitalize + + term_node[1,term_node.length] + term_node=(term_node =~/.+?[+]\d+/) \ + ? term_node + : (term_node + '+0') + term_nodes << term_node + use,plus=rgx_idx_ocn_seg.match(term_node)[1,2] + @use=use.strip + unless idx_hash[@use] \ + and defined? idx_hash[@use] + idx_hash[@use]= + { sub: [], plus: plus } + end + when Array + subterm_nodes=[] + term_node.each do |subterm_node| + subterm_node=(subterm_node =~/.+?[+]\d+/) \ + ? subterm_node + : (subterm_node + '+0') + subterm_nodes << subterm_node + sub,sub_plus=rgx_idx_ocn_seg.match(subterm_node)[1,2] + unless idx_hash[@use] \ + and defined? idx_hash[@use] + idx_hash[@use]= + { sub: [], plus: 0 } + end + idx_hash[@use][:sub] << + { sub.strip => { plus: sub_plus } } + end + term_nodes << subterm_nodes + end + end + idx_array << term_nodes + end + { + hash: idx_hash, + array: idx_array, + } + end + def extract_structure_loop(data,tuned_file) + data.each do |t_o| + if t_o =~/^--([+~-])[#]$/ + h=case $1 + when /[+]/ + @per.ocn=:on + { + flag: :ocn_on, + } + when /[~]/ + @per.ocn=:ocn_off_headings_keep + { + flag: :ocn_off, + mod: :headings_keep, + } + when /[-]/ #of particular relevance with level 1~ which is required to precede substantive text & used e.g. in html segmented text + @per.ocn=:ocn_off_headings_dummy_lev1 + { + flag: :ocn_off, + mod: :headings_exclude, + } + else + @per.ocn=:on + { + flag: :ocn_on, + } + end + t_o=SiSU_AO_DocumentStructure::ObjectFlag.new.flag_ocn(h) + next + end + if t_o =~/^:[~](#{SiSU_is.language_list_regex?}|-)$/ # work with for identifying language of objects + lng=$1 + h=case lng + when /(?:#{SiSU_is.language_list_regex?})/ + @per.lng=:on + @per.lng_is=lng.to_sym + { + flag: :lng_on, + act: lng.to_sym, + } + else # ^:~- + if @per.lng==:on + @per.lng=:off + @per.lng_is=:doc_default + { + flag: :lng_off, + act: :doc_default, + } + end + end + t_o=SiSU_AO_DocumentStructure::ObjectFlag.new.flag_lng(h) + next + end + t_o=t_o.gsub(/(?:\n\s*\n)+/m,"\n") if @per.code==:off + unless t_o =~/^(?:@\S+?:|%+)\s/ # extract book index for paragraph if any + idx=if t_o=~/^=\{\s*(.+)\s*\}\s*$\Z/m + m=$1 + m=m.split(/[ ]*\n/).join(' '). + gsub(/\s+([|:;])\s+/,'\1'). + gsub(/\s+([+]\d+)\s+/,'\1') + t_o=t_o.gsub(/\n=\{.+?\}\s*$/m,'') + idx_array_and_hash=construct_idx_array_and_hash(m) + idx_array_and_hash[:hash] + else nil + end + end + if (t_o.is_a?(String) \ + && t_o !~/^(?:code(?:\.[a-z][0-9a-z_]+)?(?:\(.+?\))?|box(?:\.[a-z_]+)?|poem|alt|group|block)\{|^\}(?:code|poem|alt|group|block)|^(?:table\(.+?\)\{|\{table\()|^(?:table\{|\{table)[ ~]/ \ + && t_o !~/^```[ ]+(?:code(?:\.[a-z][0-9a-z_]+)?(?:\(.+?\))?|box(?:\.[a-z_]+)?|poem|alt|group|block|table)|^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$|^`:quote_(?:open|close)`/ \ + and @per.code==:off \ + and @per.poem==:off \ + and @per.group==:off \ + and @per.block==:off \ + and @per.alt==:off \ + and @per.box==:off \ + and @per.table==:off + ) + t_o=case t_o + when /^#{Mx[:meta_o]}\S+?#{Mx[:meta_c]}/ #metadata, header + if t_o=~/^#{Mx[:meta_o]}(\S+?)#{Mx[:meta_c]}\s*(.+)/m + tag,obj=$1,$2 + @metadata[tag]=obj + end + t_o=nil + when /^%+\s/ #comment + t_o=if t_o=~/^%+\s+(.+)/ + h={ obj: $1 } + SiSU_AO_DocumentStructure::ObjectComment.new.comment(h) + else nil + end + when /^:?([A-D1-6])\~/ #heading / lv + lv=$1 + ln=ln_get(lv) + t_o=if t_o=~/^:?[A-D1-6]\~\s+(.+)/m + obj=$1 + note=endnote_test?(obj) + obj,tags=extract_tags(obj) + if @per.ocn==:ocn_off_headings_dummy_lev1 \ + or @per.ocn==:ocn_off_headings_keep + unless obj =~ /[~-][#]\s*$/ + if @per.ocn==:ocn_off_headings_dummy_lev1 \ + and t_o =~/^1\~\S*\s+/m + obj << ' -#' + elsif @per.ocn==:ocn_off_headings_dummy_lev1 \ + or @per.ocn==:ocn_off_headings_keep + obj << ' ~#' + end + end + end + h={ + lv: lv, + ln: ln, + obj: obj, + idx: idx, + tags: tags, + } + SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h) + elsif t_o=~/^:?[A-D1-6]\~(\S+?)-\s+(.+)/m + name,obj=$1,$2 + note=endnote_test?(obj) + obj,tags=extract_tags(obj) + if @per.ocn==:ocn_off_headings_dummy_lev1 \ + or @per.ocn==:ocn_off_headings_keep + unless obj =~ /[~-][#]\s*$/ + if @per.ocn==:ocn_off_headings_dummy_lev1 \ + and t_o =~/^1\~\S*\s+/m + obj << ' -#' + elsif @per.ocn==:ocn_off_headings_dummy_lev1 \ + or @per.ocn==:ocn_off_headings_keep + obj << ' ~#' + end + end + end + h={ + lv: lv, + name: name, + obj: obj, + idx: idx, + autonum_: false, + tags: tags, + } + SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h) + elsif t_o=~/^:?[A-D1-6]\~(\S+)\s+(.+)/m + name,obj=$1,$2 + note=endnote_test?(obj) + obj,tags=extract_tags(obj,name) + if @per.ocn==:ocn_off_headings_dummy_lev1 \ + or @per.ocn==:ocn_off_headings_keep + unless obj =~ /[~-][#]\s*$/ + if @per.ocn==:ocn_off_headings_dummy_lev1 \ + and t_o =~/^1\~\S*\s+/m + obj << ' -#' + elsif @per.ocn==:ocn_off_headings_dummy_lev1 \ + or @per.ocn==:ocn_off_headings_keep + obj << ' ~#' + end + end + end + h={ + lv: lv, + name: name, + obj: obj, + idx: idx, + tags: tags, + } + SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h) + else nil + end + when /^_(?:[1-9]!?|[1-9]?\*)\s+/ #indented and/or bullet paragraph + t_o=if t_o=~/^(_(?:[1-9]?\*|[1-9]!?)\s+)(.+)/m + tst,obj=$1,$2 + if t_o=~/^_[1-9]!\s+.+/m + hang,indent,obj=hang_and_indent_def_test(tst,obj) + else + hang,indent=hang_and_indent_test(tst) + end + bullet=bullet_test(tst) + image=image_test(obj) + note=endnote_test?(obj) + obj,tags=extract_tags(obj) + unless obj=~/\A\s*\Z/m + if @per.ocn==:ocn_off_headings_dummy_lev1 \ + or @per.ocn==:ocn_off_headings_keep + unless obj =~ /[~-][#]\s*$/ + obj << ' ~#' + end + end + h={ + bullet_: bullet, + hang: hang, + indent: indent, + obj: obj, + idx: idx, + note_: note, + image_: image, + tags: tags, + quote: quotes?, + } + SiSU_AO_DocumentStructure::ObjectPara.new.paragraph(h) + end + else nil + end + when /^_[0-9]?_[0-9]!?\s+/ #hanging indent paragraph + t_o=if t_o=~/^(_[0-9]?_[0-9]!?\s+)(.+)/m + tst,obj=$1,$2 + if t_o=~/^_[0-9]?_[0-9]!\s+.+/m + hang,indent,obj=hang_and_indent_def_test(tst,obj) + else + hang,indent=hang_and_indent_test(tst) + end + image=image_test(obj) + note=endnote_test?(obj) + obj,tags=extract_tags(obj) + unless obj=~/\A\s*\Z/m + if @per.ocn==:ocn_off_headings_dummy_lev1 \ + or @per.ocn==:ocn_off_headings_keep + unless obj =~ /[~-][#]\s*$/ + obj << ' ~#' + end + end + h={ + hang: hang, + indent: indent, + obj: obj, + idx: idx, + note_: note, + image_: image, + tags: tags, + quote: quotes?, + } + SiSU_AO_DocumentStructure::ObjectPara.new.paragraph(h) + end + else nil + end + when /^<(?:br)?:(?:pa?r|o(?:bj|---)?)>\s*$/ #[br:par] #[br:obj] + SiSU_AO_DocumentStructure::ObjectLayout.new.break(Hx[:br_obj]) + when /^(?:-\\\\-|<:pb>)\s*$/ #[br:pg] + SiSU_AO_DocumentStructure::ObjectLayout.new.break(Hx[:br_page],:markup) + when /^(?:=\\\\=|<:pn>)\s*$/ #[br:pgn] + SiSU_AO_DocumentStructure::ObjectLayout.new.break(Hx[:br_page_new],:markup) + when /^-\.\.-\s*$/ #[br:pgl] + SiSU_AO_DocumentStructure::ObjectLayout.new.break(Hx[:br_page_line],:markup) + else #paragraph + image=image_test(t_o) + note=endnote_test?(t_o) + obj,tags=extract_tags(t_o) + if @per.ocn==:ocn_off_headings_dummy_lev1 \ + or @per.ocn==:ocn_off_headings_keep + unless obj =~ /[~-][#]\s*$/ + obj << ' ~#' + end + end + unless obj=~/\A\s*\Z/m + h={ + bullet_: false, + indent: 0, + hang: 0, + obj: obj, + idx: idx, + note_: note, + image_: image, + tags: tags, + quote: quotes?, + } + t_o=SiSU_AO_DocumentStructure::ObjectPara.new.paragraph(h) + end + t_o=SiSU_AO_DocumentStructureExtract::Structure.new(@md).structure_markup(t_o) #must happen earlier, node info etc. require + end + elsif @per.code==:off + if t_o =~/^(?:code(?:\.[a-z][0-9a-z_]+)?(?:\(.+?\))?\{|```[ ]+code(?:\.[a-z][0-9a-z_]+)?(?:\(.+?\))?)/ + @per.code=case t_o + when /^code(?:\.[a-z][0-9a-z_]+)?(?:\(.+?\))?\{/ then :curls + when /^```[ ]+code/ then :tics + else @per.code #error + end + @per.lngsyn=if t_o =~/^(?:code\.[a-z][0-9a-z_]+(?:\(.+?\))?\{|```[ ]+code\.[a-z_]+)/ + case t_o + when /^code\.([a-z][0-9a-z_]+)(?:\(.+?\))?\{/ + :"#{$1}" + when /^```[ ]+code\.([a-z][0-9a-z_]+)/ + :"#{$1}" + else :txt + end + else :txt + end + @@counter=1 + @codeblock_numbered= + (t_o =~/^(?:code(?:\.[a-z][0-9a-z_]+)?\(.*number(?:lines)?.*?\)\{|```[ ]+code(?:\.[a-z][0-9a-z_]+)?\(.*number(?:lines)?.*?\)|code(?:\.[a-z][0-9a-z_]+)?\{#|```[ ]+code(?:\.[a-z][0-9a-z_]+)?\s[#])/) \ + ? true + : false + if (t_o =~/^(?:code(?:\.[a-z][0-9a-z_]+)?\{#|```[ ]+code(?:\.[a-z][0-9a-z_]+)?\s[#])/) + puts "WARNING document using depreciated markup for numbering codeblocks\nuse: code(numberlines){ ... or: ```code(numberlines) ..." + end + @num_id[:code_block] +=1 + h={ + is_for: :code, + obj: '', + sym: :code_block_open, + num: @num_id[:code_block], + syntax: @per.lngsyn, + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + elsif t_o =~/^(?:poem\{|```[ ]+poem)/ + @per.poem=case t_o + when /^poem\{/ then :curls + when /^```[ ]+poem/ then :tics + else @per.poem #error + end + @num_id[:poem] +=1 + h={ + is_for: :poem, + obj: '', + sym: :poem_open, + num: @num_id[:poem], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + tuned_file << t_o + elsif t_o =~/^(?:box(?:\.[a-z_]+)?\{|```[ ]+box(?:\.[a-z_]+)?)/ + @per.box=case t_o + when /^box\{/ then :curls + when /^```[ ]+box/ then :tics + else @per.box #error + end + @num_id[:box] +=1 + h={ + is_for: :box, + obj: '', + sym: :box_open, + num: @num_id[:box], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + tuned_file << t_o + elsif t_o =~/^(?:group\{|```[ ]+group)/ + @per.group=case t_o + when /^group\{/ then :curls + when /^```[ ]+group/ then :tics + else @per.group #error + end + @num_id[:group] +=1 + h={ + is_for: :group, + obj: '', + sym: :group_open, + num: @num_id[:group], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + tuned_file << t_o + elsif t_o =~/^(?:block\{|```[ ]+block)/ + @per.block=case t_o + when /^block\{/ then :curls + when /^```[ ]+block/ then :tics + else @per.block #error + end + @num_id[:block] +=1 + h={ + is_for: :block, + obj: '', + sym: :block_open, + num: @num_id[:block], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + tuned_file << t_o + elsif t_o =~/^(?:alt\{|```[ ]+alt)/ + @per.alt=case t_o + when /^alt\{/ then :curls + when /^```[ ]+alt/ then :tics + else @per.alt #error + end + @num_id[:alt] +=1 + h={ + is_for: :alt, + obj: '', + sym: :alt_open, + num: @num_id[:alt], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + tuned_file << t_o + elsif t_o =~/^`:quote_open`/ + @per.quote=:open + @num_id[:quote] +=1 + h={ + is_for: :quote, + obj: '', + sym: :quote_open, + num: @num_id[:quote], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + #tuned_file << t_o #% find second source, entered twice, should be once so closed off here + elsif t_o =~/^(?:table\(.+?\)\{|```[ ]+table\(.+?\)|\{table\(.+?\))/ + @num_id[:table] +=1 + h={ + is_for: :table, + obj: '', + sym: :table_open, + num: @num_id[:table], + } + ins_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + tuned_file << ins_o + if t_o=~/^table\((?:.*?\bh;\s+)?.+?\)\{/ + @per.table=:curls + @rows='' + case t_o + when /table\(.*?\bh;\s+c(\d+):\s+(.+?)\)\{/ + cols=$1 + col=$2.scan(/\d+/) + heading=true + when /table\(.*?c(\d+):\s+(.+?)\)\{/ + cols=$1 + col=$2.scan(/\d+/) + heading=false + end + @h={ + head_: heading, + cols: cols, + widths: col, + idx: idx, + } + elsif t_o=~/^```[ ]+table\((?:.*?\bh;)?\s+c\d+:/ + @per.table=:tics + @rows='' + case t_o + when /^```[ ]+table\(.*?\bh;\s+c(\d+):\s+(.+?)\)/ + cols=$1 + col=$2.scan(/\d+/) + heading=true + when /^```[ ]+table\(\s*c(\d+):\s+(.+?)\)/ + cols=$1 + col=$2.scan(/\d+/) + heading=false + end + @h={ + head_: heading, + cols: cols, + widths: col, + idx: idx, + } + elsif t_o=~/^\{table\((?:.*?\bh;\s+)?(?:\s+\d+,?)?\)\s*\}\n.+\Z/m + m1,m2,hd=nil,nil,nil + tbl=/^\{table\((?:.*?\bh;\s+)?(?:\s+\d+,?)*\)\s*\}\n(.+)\Z/m.match(t_o)[1] # fix + hd=((t_o =~/^\{table\(.*?\bh;\s+/) ? true : false) + tbl,tags=extract_tags(tbl) + rws=tbl.split(/\n/) + rows='' + cols=nil + rws.each do |r| + cols=(cols ? cols : (r.scan('|').length) +1) + r=r.gsub(/\s*\|\s*/m,"#{Mx[:tc_p]}") #r.gsub!(/\|/m,"#{Mx[:tc_p]}") + rows += r + Mx[:tc_c] + end + col=[] + if t_o =~/^\{table\((?:.*?\bh;\s+)?\s+c(\d+):.*?\)\s*\}/ #width of col 1 given as %, usually when wider than rest that are even + c1=$1.to_i + width=(100 - c1)/(cols - 1) + col=[ c1 ] + (cols - 1).times { col << width } + else #all columns of equal width + width=100.00/cols + cols.times { col << width } + end + h={ + head_: hd, + cols: cols, + widths: col, + obj: rows, + idx: idx, + tags: tags, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectTable.new.table(h) \ + unless h.nil? + tuned_file << t_o + h={ + is_for: :table, + obj: '', + sym: :table_close, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + t_o + elsif t_o=~/^```[ ]+table\((?:.*?\bh;)?\s+/ + m1,m2,hd=nil,nil,nil + h=case t_o + when /^```[ ]+table\(.*?\bh;\s+(.+?)\)\n(.+)\Z/m #two table representations should be consolidated as one + m1,tbl,hd=$1,$2,true + when /^```[ ]+table\((.+?)\)\n(.+)\Z/m #two table representations should be consolidated as one + m1,tbl,hd=$1,$2,false + else nil + end + tbl,tags=extract_tags(tbl) + col=m1.scan(/\d+/) + rws=tbl.split(/\n/) + rows='' + rws.each do |r| + r=r.gsub(/\s*\|\s*/m,"#{Mx[:tc_p]}") #r.gsub!(/\|/m,"#{Mx[:tc_p]}") + rows += r + Mx[:tc_c] + end + h={ + head_: hd, + cols: col.length, + widths: col, + obj: rows, + idx: idx, + tags: tags, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectTable.new.table(h) \ + unless h.nil? + tuned_file << t_o + h={ + is_for: :table, + obj: '', + sym: :table_close, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + t_o + elsif t_o=~/^\{table\((?:.*?\bh;)?/ + m1,m2,hd=nil,nil,nil + h=case t_o + when /\{table\(.*?\bh;\s+(.+?)\)\s*\}\n(.+)\Z/m #two table representations should be consolidated as one + m1,tbl,hd=$1,$2,true + when /\{table\((.+?)\)\s*\}\n(.+)\Z/m #two table representations should be consolidated as one + m1,tbl,hd=$1,$2,false + else nil + end + tbl,tags=extract_tags(tbl) + col=m1.scan(/\d+/) + rws=tbl.split(/\n/) + rows='' + rws.each do |r| + r=r.gsub(/\s*\|\s*/m,"#{Mx[:tc_p]}") #r.gsub!(/\|/m,"#{Mx[:tc_p]}") + rows += r + Mx[:tc_c] + end + h={ + head_: hd, + cols: col.length, + widths: col, + obj: rows, + idx: idx, + tags: tags, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectTable.new.table(h) \ + unless h.nil? + tuned_file << t_o + h={ + is_for: :table, + obj: '', + sym: :table_close, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + t_o + end +## depreciated markup, code should work for new markup after removal { + elsif t_o =~/^(?:table\{|```[ ]+table|\{table)[ ~]/ + puts "WARNING document using depreciated markup for tables" + puts "use table([table attributes]) instead:" + puts "table(){" + puts "``` table()" + puts "{table()}" + @num_id[:table] +=1 + h={ + is_for: :table, + obj: '', + sym: :table_open, + num: @num_id[:table], + } + ins_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + tuned_file << ins_o + if t_o=~/^table\{(?:~h)?\s+/ + @per.table=:curls + @rows='' + case t_o + when /table\{~h\s+c(\d+);\s+(.+)/ + cols=$1 + col=$2.scan(/\d+/) + heading=true + when /table\{\s+c(\d+);\s+(.+)/ + cols=$1 + col=$2.scan(/\d+/) + heading=false + end + @h={ + head_: heading, + cols: cols, + widths: col, + idx: idx, + } + elsif t_o=~/^```[ ]+table(?:~h)?\s+c\d+/ + @per.table=:tics + @rows='' + case t_o + when /^```[ ]+table~h\s+c(\d+);\s+(.+)/ + cols=$1 + col=$2.scan(/\d+/) + heading=true + when /^```[ ]+table\s+c(\d+);\s+(.+)/ + cols=$1 + col=$2.scan(/\d+/) + heading=false + end + @h={ + head_: heading, + cols: cols, + widths: col, + idx: idx, + } + elsif t_o=~/^\{table(?:~h)?(?:\s+\d+;?)?\}\n.+\Z/m + m1,m2,hd=nil,nil,nil + tbl=/^\{table(?:~h)?(?:\s+\d+;?)?\}\n(.+)\Z/m.match(t_o)[1] + hd=((t_o =~/^\{table~h/) ? true : false) + tbl,tags=extract_tags(tbl) + rws=tbl.split(/\n/) + rows='' + cols=nil + rws.each do |r| + cols=(cols ? cols : (r.scan('|').length) +1) + r=r.gsub(/\s*\|\s*/m,"#{Mx[:tc_p]}") #r.gsub!(/\|/m,"#{Mx[:tc_p]}") + rows += r + Mx[:tc_c] + end + col=[] + if t_o =~/^\{table(?:~h)?\s+(\d+);?\}/ #width of col 1 given as %, usually when wider than rest that are even + c1=$1.to_i + width=(100 - c1)/(cols - 1) + col=[ c1 ] + (cols - 1).times { col << width } + else #all columns of equal width + width=100.00/cols + cols.times { col << width } + end + h={ + head_: hd, + cols: cols, + widths: col, + obj: rows, + idx: idx, + tags: tags, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectTable.new.table(h) \ + unless h.nil? + tuned_file << t_o + h={ + is_for: :table, + obj: '', + sym: :table_close, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + t_o + elsif t_o=~/^```[ ]+table(?:~h)?\s+/ + m1,m2,hd=nil,nil,nil + h=case t_o + when /^```[ ]+table~h\s+(.+?)\n(.+)\Z/m #two table representations should be consolidated as one + m1,tbl,hd=$1,$2,true + when /^```[ ]+table\s+(.+?)\n(.+)\Z/m #two table representations should be consolidated as one + m1,tbl,hd=$1,$2,false + else nil + end + tbl,tags=extract_tags(tbl) + col=m1.scan(/\d+/) + rws=tbl.split(/\n/) + rows='' + rws.each do |r| + r=r.gsub(/\s*\|\s*/m,"#{Mx[:tc_p]}") #r.gsub!(/\|/m,"#{Mx[:tc_p]}") + rows += r + Mx[:tc_c] + end + h={ + head_: hd, + cols: col.length, + widths: col, + obj: rows, + idx: idx, + tags: tags, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectTable.new.table(h) \ + unless h.nil? + tuned_file << t_o + h={ + is_for: :table, + obj: '', + sym: :table_close, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + t_o + elsif t_o=~/^\{table(?:~h)?\s+/ + m1,m2,hd=nil,nil,nil + h=case t_o + when /\{table~h\s+(.+?)\}\n(.+)\Z/m #two table representations should be consolidated as one + m1,tbl,hd=$1,$2,true + when /\{table\s+(.+?)\}\n(.+)\Z/m #two table representations should be consolidated as one + m1,tbl,hd=$1,$2,false + else nil + end + tbl,tags=extract_tags(tbl) + col=m1.scan(/\d+/) + rws=tbl.split(/\n/) + rows='' + rws.each do |r| + r=r.gsub(/\s*\|\s*/m,"#{Mx[:tc_p]}") #r.gsub!(/\|/m,"#{Mx[:tc_p]}") + rows += r + Mx[:tc_c] + end + h={ + head_: hd, + cols: col.length, + widths: col, + obj: rows, + idx: idx, + tags: tags, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectTable.new.table(h) \ + unless h.nil? + tuned_file << t_o + h={ + is_for: :table, + obj: '', + sym: :table_close, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + t_o +## } depreciated markup, code should (continue to) work for new markup after removal, +# when removing depreciated markup check only pass-through for new table attributes format +# table(.+?){ ``` table(.+?) {table(.+?)} formats + end + end + t_o + end + if @per.table==:curls or @per.table==:tics + if (@per.table==:curls \ + and (t_o.is_a?(String) and t_o =~/^\}table/)) \ + or (@per.table==:tics \ + and (t_o.is_a?(String) and t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/)) + @per.table=:off + headings,columns,widths,idx=@h[:head_],@h[:cols],@h[:widths],@h[:idx] + @h={ + head_: headings, + cols: columns, + widths: widths, + idx: idx, + obj: @rows, + } + t_o=SiSU_AO_DocumentStructure::ObjectTable.new.table(@h) + tuned_file << t_o + @h,@rows=nil,'' + h={ + is_for: :table, + obj: '', + sym: :table_close, + num: @num_id[:table], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + t_o + else + if t_o.is_a?(String) \ + and t_o !~/^(?:table\{|```[ ]+table)/ + t_o=t_o.gsub(/^\n+/m,''). + gsub(/\n+/m,"#{Mx[:tc_p]}") + @rows += t_o + Mx[:tc_c] + end + t_o=nil + end + end + if @per.code==:curls \ + or @per.code==:tics + if (@per.code==:curls \ + && (t_o.is_a?(String) && t_o =~/^\}code/)) \ + or (@per.code==:tics \ + && (t_o.is_a?(String) && t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/m) \ + ) + @per.code=:off + if @tuned_code[-1] + @tuned_code[-1]. + gsub!(/\s*(?:#{Mx[:br_line]}|#{Mx[:br_nl]})\s*\Z/m,'') + end + obj=@tuned_code.join("\n") + tags=[] + h={ + obj: obj, + idx: idx, + syntax: @per.lngsyn, + tags: tags, + num: @num_id[:code_block], + number_: @codeblock_numbered, + } + @per.lngsyn=:txt + t_o=SiSU_AO_DocumentStructure::ObjectBlockTxt.new.code(h) + @tuned_code=[] + tuned_file << t_o + h={ + is_for: :code, + obj: '', + sym: :code_close, + num: @num_id[:code_block], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + end + if (@per.code==:curls \ + || @per.code==:tics) \ + and t_o.is_a?(String) + sub_array=t_o.dup + "#{Mx[:br_nl]}" + @line_mode=[] + sub_array.scan(/.+/) {|w| @line_mode << w if w =~/[\S]+/} + t_o=SiSU_AO_DocumentStructureExtract::Build.new(@md,@line_mode).build_lines(:code).join + @tuned_code << t_o + t_o=nil + end + elsif (@per.poem==:curls \ + || @per.poem==:tics) \ + or (@per.box==:curls \ + || @per.box==:tics) \ + or (@per.group==:curls \ + || @per.group==:tics) \ + or (@per.block==:curls \ + || @per.block==:tics) \ + or (@per.alt==:curls \ + || @per.alt==:tics) \ + or (@per.quote==:open \ + && (t_o.is_a?(String) && t_o =~/`:quote_close`/m)) + if (@per.poem==:curls \ + && (t_o.is_a?(String) && t_o.to_s =~/^\}poem$/m)) \ + or (@per.poem==:tics \ + && (t_o.is_a?(String) && t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/)) + @per.poem=:off + h={ + is_for: :poem, + obj: '', + idx: idx, + sym: :poem_close, + num: @num_id[:poem], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + elsif (@per.box==:curls \ + && (t_o.is_a?(String) && t_o =~/^\}box/)) \ + or (@per.box==:tics \ + && (t_o.is_a?(String) && t_o.to_s =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/)) + @per.box=:off + obj,tags=extract_tags(@tuned_block.join("\n")) + h={ + obj: obj, + idx: idx, + tags: tags, + num: @num_id[:box], + } + @tuned_block=[] + t_o=SiSU_AO_DocumentStructure::ObjectBlockTxt.new.box(h) + tuned_file << t_o + h={ + is_for: :box, + obj: '', + idx: idx, + sym: :box_close, + num: @num_id[:box], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + elsif (@per.group==:curls \ + && ( t_o.is_a?(String) && t_o.to_s =~/^\}group/)) \ + or (@per.group==:tics \ + && (t_o.is_a?(String) && t_o.to_s =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/)) + @per.group=:off + obj,tags=extract_tags(@tuned_block.join("\n")) + h={ + obj: obj, + idx: idx, + tags: tags, + num: @num_id[:group], + } + @tuned_block=[] + t_o=SiSU_AO_DocumentStructure::ObjectBlockTxt.new.group(h) + tuned_file << t_o + h={ + is_for: :group, + obj: '', + sym: :group_close, + num: @num_id[:group], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + elsif (@per.block==:curls \ + && t_o.to_s =~/^\}block/) \ + or (@per.block==:tics \ + && (t_o.is_a?(String) \ + && t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/) \ + ) + @per.block=:off + obj,tags=extract_tags(@tuned_block.join("\n")) + h={ + obj: obj, + idx: idx, + tags: tags, + num: @num_id[:block], + } + @tuned_block=[] + t_o=SiSU_AO_DocumentStructure::ObjectBlockTxt.new.block(h) + tuned_file << t_o + h={ + is_for: :block, + obj: '', + sym: :block_close, + num: @num_id[:block], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + elsif (@per.alt==:curls \ + && (t_o.is_a?(String) && t_o =~/^\}alt/)) \ + or (@per.alt==:tics \ + && t_o.is_a?(String) \ + && (t_o =~/^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/) + ) + @per.alt=:off + obj,tags=extract_tags(@tuned_block.join("\n")) + h={ + obj: obj, + idx: idx, + tags: tags, + num: @num_id[:alt], + } + t_o=SiSU_AO_DocumentStructure::ObjectBlockTxt.new.alt(h) + @tuned_block=[] + tuned_file << t_o + h={ + is_for: :alt, + obj: '', + sym: :alt_close, + num: @num_id[:alt], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + elsif @per.quote==:open \ + and (t_o.is_a?(String) && t_o =~/`:quote_close`/m) + @per.quote=:off + h={ + is_for: :quote, + idx: idx, + obj: '', + sym: :quote_close, + num: @num_id[:quote], + } + t_o=SiSU_AO_DocumentStructure::ObjectLayout.new.open_close(h) + elsif @per.quote==:open + t_o,tags=extract_tags(t_o) + h={ + indent: 1, + obj: t_o, + idx: idx, + note_: note, + image_: image, + tags: tags, + quote: quotes?, + } + SiSU_AO_DocumentStructure::ObjectPara.new.paragraph(h) + end + if (@per.poem==:curls \ + || @per.poem==:tics) \ + or (@per.group==:curls \ + || @per.group==:tics) \ + or (@per.block==:curls \ + || @per.block==:tics) \ + or (@per.alt==:curls \ + || @per.alt==:tics) \ + and (t_o.is_a?(String) \ + and t_o.to_s =~/\S/ \ + and t_o.to_s !~/^(?:\}(?:verse|code|box|alt|group|block)|(?:verse|code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|alt|group|block)\{)/ \ + and t_o.to_s !~/^```[ ]+(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block)|^```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$/ + ) + sub_array=t_o.to_s.dup + @line_mode=sub_array.scan(/.+/) + type=if @per.poem==:curls or @per.poem==:tics + t_o=SiSU_AO_DocumentStructureExtract::Build.new(@md,@line_mode).build_lines(type).join + poem=t_o.split(/\n\n/) + poem.each do |v| + v=v.gsub(/\n/m,"#{Mx[:br_nl]}\n") + obj,tags=extract_tags(v) + h={ + obj: obj, + tags: tags, + num: @num_id[:poem], + } + t_o=SiSU_AO_DocumentStructure::ObjectBlockTxt.new.verse(h) + tuned_file << t_o + end + :poem + else :group + end + end + @verse_count+=1 if @per.poem==:curls or @per.poem==:tics + end + if @per.code==:off + if @per.poem==:curls or @per.poem==:tics \ + or @per.box==:curls or @per.box==:tics \ + or @per.group==:curls or @per.group==:tics \ + or @per.block==:curls or @per.block==:tics \ + or @per.alt==:curls or @per.alt==:tics \ + or (@per.quote==:open and t_o =~/`:quote_close`/m) + if t_o.is_a?(String) + t_o=t_o.gsub(/\n/m,"#{Mx[:br_nl]}"). + gsub(/[ ][ ]/m,"#{Mx[:nbsp]*2}"). + gsub(/#{Mx[:nbsp]}\s/,"#{Mx[:nbsp]*2}") + t_o=t_o + Mx[:br_nl] if t_o =~/\S+/ + elsif t_o.is==:group \ + || t_o.is==:block \ + || t_o.is==:alt \ + || t_o.is==:box \ + || t_o.is==:verse + t_o.obj=t_o.obj.gsub(/\n/m,"#{Mx[:br_nl]}"). + gsub(/[ ][ ]/m,"#{Mx[:nbsp]*2}"). + gsub(/#{Mx[:nbsp]}\s/,"#{Mx[:nbsp]*2}") + end + @tuned_block << t_o if t_o.to_s =~/\S+/ + else tuned_file << t_o + end + else tuned_file << t_o + end + end + tuned_file + end + def identify_parts + tuned_file=[] + @tuned_block,@tuned_code=[],[] + @@counter,@verse_count=0,0 + @num_id={ + code_block: 0, + poem: 0, + box: 0, + block: 0, + group: 0, + alt: 0, + quote: 0, + table: 0, + } + @metadata={} + if @md.flag_auto_biblio \ + or @md.flag_biblio + @data,bibliography=SiSU_AO_Appendices::Bibliography.new(@md,@data).biblio_extraction + end + if @md.flag_glossary + @data,glossary=SiSU_AO_Appendices::Glossary.new(@md,@data).glossary_extraction + end + tuned_file=extract_structure_loop(@data,tuned_file) + if @md.flag_endnotes + tuned_file << @pb + h={ + ln: 1, + lc: 1, + obj: 'Endnotes', + autonum_: false, + } + tuned_file << SiSU_AO_DocumentStructure::ObjectHeading.new.heading_insert(h) + h={ + ln: 4, + lc: 2, + obj: 'Endnotes', + name: 'endnotes', + autonum_: false, + } + tuned_file << SiSU_AO_DocumentStructure::ObjectHeading.new.heading_insert(h) + h={ + obj: 'Endnotes' + } + end + if @md.flag_glossary + tuned_file << @pb + h={ + ln: 1, + lc: 1, + obj: 'Glossary', + autonum_: false, + } + tuned_file << SiSU_AO_DocumentStructure::ObjectHeading.new.heading_insert(h) + h={ + ln: 4, + lc: 2, + obj: 'Glossary', + name: 'glossary', + autonum_: false, + } + tuned_file << SiSU_AO_DocumentStructure::ObjectHeading.new.heading_insert(h) + h={ + obj: 'Glossary' + } + if glossary.length > 0 + tuned_file=extract_structure_loop(glossary,tuned_file) + end + end + if @md.flag_auto_biblio + tuned_file << @pb + h={ + ln: 1, + lc: 1, + obj: 'References', + autonum_: false, + } + tuned_file << SiSU_AO_DocumentStructure::ObjectHeading.new.heading_insert(h) + h={ + ln: 4, + lc: 2, + obj: 'Bibliography', + name: 'biblio', + autonum_: false, + } + tuned_file << SiSU_AO_DocumentStructure::ObjectHeading.new.heading_insert(h) + h={ + obj: 'Bibliography' + } + citenumber=0 + bibliography.each do |cite| + citenumber +=1 if cite.is_a?(Hash) + h={ + obj: cite[:obj], + #obj: %{[#{citenumber}] } + cite[:obj], + tags: [cite[:id]], + hang: 0, + indent: 2, + ocn_: false, + } + tuned_file << SiSU_AO_DocumentStructure::ObjectPara.new.paragraph(h) + end + elsif @md.flag_biblio + tuned_file << @pb + h={ + ln: 1, + lc: 1, + obj: 'References', + autonum_: false, + } + tuned_file << SiSU_AO_DocumentStructure::ObjectHeading.new.heading_insert(h) + h={ + ln: 4, + lc: 2, + obj: 'Bibliography', + name: 'biblio', + autonum_: false, + } + tuned_file << SiSU_AO_DocumentStructure::ObjectHeading.new.heading_insert(h) + h={ + obj: 'Bibliography' + } + if not bibliography.nil? \ + and bibliography.length > 0 + tuned_file=extract_structure_loop(bibliography,tuned_file) + else + tuned_file, citations = + SiSU_AO_Appendices::Citations.new(@md,tuned_file).songsheet # ao_appendices.rb + citenumber=0 + citations.compact.each do |c| + citenumber +=1 if c.is_a?(Hash) + if c[:is]==:book + h={ + obj: %{#{c[:author]}. /{#{c[:publication]}}/ (#{c[:year]})}, + #obj: %{[#{citenumber}] *{#{c[:author]}}* /{#{c[:publication]}}/ (#{c[:year]})}, + hang: 0, + indent: 2, + ocn_: false, + } + tuned_file << SiSU_AO_DocumentStructure::ObjectPara.new.paragraph(h) + elsif c[:is]==:article + h={ + obj: %{#{c[:author]}. /{"#{c[:title]}"}/ #{c[:publication]} editor #{c[:editor]} (#{c[:year]})}, + #obj: %{[#{citenumber}] *{#{c[:author]}}* /{"#{c[:title]}"}/ #{c[:publication]} editor #{c[:editor]} (#{c[:year]})}, + hang: 0, + indent: 2, + ocn_: false, + } + tuned_file << SiSU_AO_DocumentStructure::ObjectPara.new.paragraph(h) + end + end + end + end + if @md.book_idx + tuned_file << @pb + h={ + ln: 1, + lc: 1, + obj: 'Index', + autonum_: false, + } + tuned_file << SiSU_AO_DocumentStructure::ObjectHeading.new.heading_insert(h) + h={ + ln: 4, + lc: 2, + obj: 'Index', + name: 'book_index', + autonum_: false, + } + tuned_file << SiSU_AO_DocumentStructure::ObjectHeading.new.heading_insert(h) + h={ + obj: 'Index' + } + end + tuned_file << @pb + if @make.build.metadata? + h={ + ln: 1, + lc: 1, + obj: 'Metadata', + autonum_: false, + ocn_: false, + } + tuned_file << SiSU_AO_DocumentStructure::ObjectHeading.new.heading_insert(h) + h={ + ln: 4, + lc: 2, + obj: 'SiSU Metadata, document information', + name: 'metadata', + autonum_: false, + ocn_: false, + } + tuned_file << SiSU_AO_DocumentStructure::ObjectHeading.new.heading_insert(h) + end + h={ + obj: 'eof', + } + meta=SiSU_AO_DocumentStructure::ObjectMetadata.new.metadata(@metadata) + [tuned_file,meta,bibliography,glossary] + end + def table_rows_and_columns_array(table_str) + table=[] + table_str.split(/#{Mx[:tc_c]}/).each do |table_row| + table_row_with_columns=table_row.split(/#{Mx[:tc_p]}/) + table << table_row_with_columns + end + table + end + def meta_heading(h) + h={ + lv: h[:lv], + ln: h[:ln], + name: h[:name], + obj: h[:obj], + ocn: '0', + } + SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h) + end + def meta_para(str) + h={ + obj: str, + ocn_: false, + } + SiSU_AO_DocumentStructure::ObjectPara.new.paragraph(h) + end + def build_lines(type=:none) + lines=@data + lines.each.map do |line| + line=if line =~/\S/ \ + and line !~/^(?:code(?:\.[a-z][0-9a-z_]+)?\{|\}code)/ \ + and line !~/^(?:```[ ]+code(?:\.[a-z][0-9a-z_]+)?|```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*$)/ \ + and not line.is_a?(Hash) #watch + @@counter+=1 if @per.code==:curls or @per.code==:tics + line=line.gsub(/\s\s/,"#{Mx[:nbsp]*2}"). + gsub(/#{Mx[:nbsp]}\s/,"#{Mx[:nbsp]*2}") + line=line.gsub(/^/,"#{Mx[:gr_o]}codeline#{Mx[:gr_c]}") if type==:code # REMOVE try sort for texpdf special case + line=if line =~/(?:https?|file|ftp):\/\/\S+$/ + line.gsub(/\s*$/," #{Mx[:br_nl]}") + else line.gsub(/\s*$/,"#{Mx[:br_nl]}") #unless type=='code' + end + elsif line =~/^\s*$/ + line.gsub(/\s*$/,"#{Mx[:br_nl]}") + else line + end + line + end + end + end + class Structure # this must happen early + def initialize(md) + @md=md + end + def structure(data) + data.compact.each do |dob| + structure_markup(dob) + end + end + def structure_markup(dob) #build structure where structure provided only in meta header + dob=if dob.is==:para \ + && (((dob.hang !~/[1-9]/) && (dob.indent !~/[1-9]/)) \ + || (dob.hang != dob.indent)) \ + and not dob.bullet_ + dob=case dob.obj + when /^#{@md.lv0}/ + h={ + is: :heading, + lv: 'A', + ln: 0, + } + SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob) + when /^#{@md.lv1}/ + h={ + is: :heading, + lv: 'B', + ln: 1, + } + SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob) + when /^#{@md.lv2}/ + h={ + is: :heading, + lv: 'C', + ln: 2, + } + SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob) + when /^#{@md.lv3}/ + h={ + is: :heading, + lv: 'D', + ln: 3, + } + SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob) + when /^#{@md.lv4}/ + h={ + is: :heading, + lv: '1', + ln: 4, + } + SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob) + when /^#{@md.lv5}/ + h={ + is: :heading, + lv: '2', + ln: 5, + } + SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob) + when /^#{@md.lv6}/ + h={ + is: :heading, + lv: '3', + ln: 6, + } + SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob) + else dob + end + else dob + end + dob + end + end + class OCN + def initialize(md,data,fnx,process) + @md,@data,@fnx,@process=md,data,fnx,process + end + def structure_info + def lv + %w[A~ B~ C~ D~ 1 2 3 4] + end + def possible_parents(child) + case child + when /A~/ then 'none' + when /B~/ then 'A~' + when /C~/ then 'B~' + when /D~/ then 'C~' + when /1/ then 'A~, B~, C~, D~' + when /2/ then '1' + when /3/ then '2' + when /4/ then '3' + end + end + def possible_children(parent) + case parent + when /A~/ then 'B~, 1' + when /B~/ then 'C~, 1' + when /C~/ then 'D~, 1' + when /D~/ then '1' + when /1/ then '2' + when /2/ then '3' + when /3/ then '4' + when /4/ then 'none' + end + end + self + end + def document_structure_check_info(node,node_parent,status=:ok) + node_ln=/^([0-7])/.match(node)[1].to_i + node_parent_ln=/^([0-7])/.match(node_parent)[1].to_i + if status==:error \ + or @md.opt.act[:maintenance][:set]==:on + puts %{node: #{node}, parent node: #{node_parent} #{status.upcase}} + if status==:error + node_ln=/^([0-7])/.match(node)[1].to_i + node_parent_ln=/^([0-7])/.match(node_parent)[1].to_i + STDERR.puts %{current level: #{structure_info.lv[node_ln]} (possible parent levels: #{structure_info.possible_parents(structure_info.lv[node_ln])}) +parent level: #{structure_info.lv[node_parent_ln]} (possible child levels: #{structure_info.possible_children(structure_info.lv[node_parent_ln])}) +SKIPPED processing file: +[#{@md.opt.lng}] "#{@md.fns}"} + if @md.opt.act[:no_stop][:set]==:on + $process_document = :skip + else exit + end + end + end + end + def warning_incorrect_parent_level_or_level(txt) + puts %{ERROR. There is an error in markup of heading levels either here or in the parent heading. +The current header reads: +"#{txt}" +has incorrect level and/or parent level +--} + end + def required_headers_present? + if @process == :complete + unless (defined? @md.title \ + and @md.title.full) + STDERR.puts %{required header missing: + +@title: +SKIPPED processing file: +[#{@md.opt.lng}] "#{@md.fns}" +} + if @md.opt.act[:no_stop][:set]==:on + $process_document = :skip + else exit + end + end + unless (defined? @md.creator.author \ + and @md.creator.author) + STDERR.puts %{required header missing: + +@creator: + :author: anonymous? +SKIPPED processing file: +[#{@md.opt.lng}] "#{@md.fns}" +} + if @md.opt.act[:no_stop][:set]==:on + $process_document = :skip + else exit + end + end + end + end + def ocn #and auto segment numbering increment + required_headers_present? + data=@data + @o_array=[] + node=ocn=ocn_dv=ocn_sp=ocnh=ocnh0=ocnh1=ocnh2=ocnh3=ocnh4=ocnh5=ocnh6=ocnh7=ocno=ocnp=ocnt=ocnc=ocng=ocni=ocnu=0 # h heading, o other, t table, g group, i image + regex_exclude_ocn_and_node = /#{Rx[:meta]}|^@\S+?:\s|^4~endnotes|^#{Mx[:lv_o]}4:endnotes#{Mx[:lv_c]}|^\^~ |<:e[:_]\d+?>|^<:\#|<:- |<[:!]!4|<hr width|#{Mx[:br_endnotes]}|\A\s*\Z/mi #ocn here #  added with Tune.code #¡ + parent=node1=node2=node3=node4=node5=node6=node7=nil + node0='0:0;0' + @collapsed_lv0=0 + @lev_occurences={ a: 0, b: 0, c: 0, d: 0, l1: 0, l2: 0, l3: 0, l4: 0 } + data.each do |dob| + h={} + if (dob.obj !~ regex_exclude_ocn_and_node || dob.is==:code) \ + && (dob.of !=:comment \ + && dob.of !=:layout \ + && dob.of !=:meta) \ + && dob.ocn_ + #dob.ln now is determined, and set earlier, check how best to remove this --> + if dob.is==:heading + @ln=ln=case dob.lv + when 'A' then 0 + when 'B' then 1 + when 'C' then 2 + when 'D' then 3 + when '1' then 4 + when '2' then 5 + when '3' then 6 + when '4' then 7 + when '5' then 8 + when '6' then 9 + end + end + if not dob.obj =~/~#|-#/ + ocn+=1 + end + if @process == :complete \ + or (@fnx == @md.opt.fns \ + && @md.opt.fns =~/.sst$/) + if dob.is==:heading \ + and (ln.to_s =~/^[0-9]/ \ + or ln.to_s =~@md.lv0 \ + or ln.to_s =~@md.lv1 \ + or ln.to_s =~@md.lv2 \ + or ln.to_s =~@md.lv3 \ + or ln.to_s =~@md.lv4 \ + or ln.to_s =~@md.lv5 \ + or ln.to_s =~@md.lv6 \ + or ln.to_s =~@md.lv7) + if not dob.obj =~/~#|-#/ + ocnh+=1 + end + if ln==0 \ + or ln.to_s =~@md.lv0 + @lev_occurences[:a] += 1 + if not dob.obj =~/~#|-#/ + ocn_flag=true + ocnh0+=1 #heading + node0="0:#{ocnh0};#{ocn}" + else + #document_structure_check_info(node0,node0,:error) #fix + ocn_flag=false + node0="0:0;0" + end + document_structure_check_info(node0,node0) + @collapsed_lv0=0 + collapsed_level=@collapsed_lv0 + node,ocn_sp,parent=node0,"h#{ocnh}",'ROOT' + elsif ln==1 \ + or ln.to_s =~@md.lv1 + @lev_occurences[:b] += 1 + if not dob.obj =~/~#|-#/ + ocn_flag=true + ocnh1+=1 #heading + node1="1:#{ocnh1};#{ocn}" + else + #document_structure_check_info(node0,node0,:error) #fix + ocn_flag=false + node1="1:0;0" + end + parent=if node0 + document_structure_check_info(node1,node0) + @collapsed_lv1=@collapsed_lv0+1 + node0 + else + warning_incorrect_parent_level_or_level(dob.obj) + document_structure_check_info(node0,node0,:error) + node0 + end + collapsed_level=@collapsed_lv1 + node,ocn_sp,parent=node1,"h#{ocnh}",node0 #FIX + elsif ln==2 \ + or ln.to_s =~@md.lv2 + @lev_occurences[:c] += 1 + if not dob.obj =~/~#|-#/ + ocn_flag=true + ocnh2+=1 + node2="2:#{ocnh2};#{ocn}" + else + #document_structure_check_info(node0,node0,:error) #fix + ocn_flag=false + node2="2:0;0" + end + parent=if node1 + document_structure_check_info(node2,node1) + @collapsed_lv2=@collapsed_lv1+1 + node1 + else + warning_incorrect_parent_level_or_level(dob.obj) + document_structure_check_info(node2,node0,:error) + node0 + end + collapsed_level=@collapsed_lv2 + node,ocn_sp=node2,"h#{ocnh}" + elsif ln==3 \ + or ln.to_s =~@md.lv3 + @lev_occurences[:d] += 1 + if not dob.obj =~/~#|-#/ + ocn_flag=true + ocnh3+=1 + node3="3:#{ocnh3};#{ocn}" + else + #document_structure_check_info(node0,node0,:error) #fix + ocn_flag=false + node3="3:0;0" + end + parent=if node2 + document_structure_check_info(node3,node2) + @collapsed_lv3=@collapsed_lv2+1 + node2 + elsif node1 + warning_incorrect_parent_level_or_level(dob.obj) + puts %{parent is :A~ & this level #{dob.lv} +either parent should be level :B~ +or this level should be level :B~ rather than #{dob.lv}} + document_structure_check_info(node3,node1,:error) + @collapsed_lv3=@collapsed_lv1+1 + node1 + else + document_structure_check_info(node3,node0,:error) + warning_incorrect_parent_level_or_level(dob.obj) + node0 + end + collapsed_level=@collapsed_lv3 + node,ocn_sp=node3,"h#{ocnh}" + elsif ln==4 \ + or ln.to_s =~@md.lv4 + @lev_occurences[:l1] += 1 + if not dob.obj =~/~#|-#/ + ocn_flag=true + ocnh4+=1 + node4="4:#{ocnh4};#{ocn}" + else + ocn_flag=false + node4="4:0;0" + end + parent=if node3 + document_structure_check_info(node4,node3) + @collapsed_lv4=@collapsed_lv3+1 + node3 + elsif node2 + document_structure_check_info(node4,node2) + @collapsed_lv4=@collapsed_lv2+1 + node2 + elsif node1 + document_structure_check_info(node4,node1) + @collapsed_lv4=@collapsed_lv1+1 + node1 + elsif node0 + document_structure_check_info(node4,node0) + @collapsed_lv4=@collapsed_lv0+1 + node0 + else + warning_incorrect_parent_level_or_level(dob.obj) + document_structure_check_info(node4,node0,:error) + node0 + end + collapsed_level=@collapsed_lv4 + node,ocn_sp=node4,"h#{ocnh}" + elsif ln==5 \ + or ln.to_s =~@md.lv5 + @lev_occurences[:l2] += 1 + if not dob.obj =~/~#|-#/ + ocn_flag=true + ocnh5+=1 + node5="5:#{ocnh5};#{ocn}" + else + ocn_flag=false + node5="5:0;0" + end + parent=if node4 + document_structure_check_info(node5,node4) + @collapsed_lv5=@collapsed_lv4+1 + node4 + elsif node3 + warning_incorrect_parent_level_or_level(dob.obj) + document_structure_check_info(node5,node3,:error) + @collapsed_lv5=@collapsed_lv3+1 + node3 + elsif node2 + warning_incorrect_parent_level_or_level(dob.obj) + document_structure_check_info(node5,node2,:error) + @collapsed_lv5=@collapsed_lv2+1 + node2 + elsif node1 + warning_incorrect_parent_level_or_level(dob.obj) + document_structure_check_info(node5,node1,:error) + @collapsed_lv5=@collapsed_lv1+1 + node1 + else + warning_incorrect_parent_level_or_level(dob.obj) + document_structure_check_info(node5,node0,:error) + node0 + end + collapsed_level=@collapsed_lv5 + node,ocn_sp=node5,"h#{ocnh}" + elsif ln==6 \ + or ln.to_s =~@md.lv6 + @lev_occurences[:l3] += 1 + if not dob.obj =~/~#|-#/ + ocn_flag=true + ocnh6+=1 + node6="6:#{ocnh6};#{ocn}" + else + ocn_flag=false + node6="6:0;0" + end + parent=if node5 + document_structure_check_info(node6,node5) + @collapsed_lv6=@collapsed_lv5+1 + node5 + elsif node4 + warning_incorrect_parent_level_or_level(dob.obj) + puts "parent is level #4 (1~) & this level ##{dob.ln} (#{dob.lv}~) +either parent should be level #5 (2~) +or this level should be #5 (2~) rather ##{dob.ln} (#{dob.lv}~)" + document_structure_check_info(node6,node4,:error) + @collapsed_lv6=@collapsed_lv4+1 + node4 + elsif node3 + warning_incorrect_parent_level_or_level(dob.obj) + document_structure_check_info(node6,node3,:error) + @collapsed_lv6=@collapsed_lv3+1 + node3 + elsif node2 + warning_incorrect_parent_level_or_level(dob.obj) + document_structure_check_info(node6,node2,:error) + @collapsed_lv6=@collapsed_lv2+1 + node2 + elsif node1 + warning_incorrect_parent_level_or_level(dob.obj) + document_structure_check_info(node6,node1,:error) + @collapsed_lv6=@collapsed_lv1+1 + node1 + else + warning_incorrect_parent_level_or_level(dob.obj) + document_structure_check_info(node6,node0,:error) + node0 + end + collapsed_level=@collapsed_lv6 + node,ocn_sp=node6,"h#{ocnh}" + elsif ln==7 \ + or ln.to_s =~@md.lv7 + @lev_occurences[:l4] += 1 + if not dob.obj =~/~#|-#/ + ocn_flag=true + ocnh7+=1 + node7="7:#{ocnh7};#{ocn}" + else + ocn_flag=false + node7="7:0;0" + end + parent=if node6 + document_structure_check_info(node7,node6) + @collapsed_lv7=@collapsed_lv6+1 + node5 + elsif node5 + warning_incorrect_parent_level_or_level(dob.obj) + puts "parent is level #5 (2~) & this level ##{dob.ln} (#{dob.lv}~) +either parent should be level #6 (3~) +or this level should be #6 (3~) rather ##{dob.ln} (#{dob.lv}~)" + document_structure_check_info(node7,node5,:error) + @collapsed_lv6=@collapsed_lv5+1 + node5 + elsif node4 + warning_incorrect_parent_level_or_level(dob.obj) + puts "parent is level #4 (1~) & this level ##{dob.ln} (#{dob.lv}~) +either parent should be level 6~ +or this level should be #6 (3~) rather ##{dob.ln} (#{dob.lv}~)" + document_structure_check_info(node7,node4,:error) + @collapsed_lv6=@collapsed_lv4+1 + node4 + elsif node3 + warning_incorrect_parent_level_or_level(dob.obj) + document_structure_check_info(node7,node3,:error) + @collapsed_lv6=@collapsed_lv3+1 + node3 + elsif node2 + warning_incorrect_parent_level_or_level(dob.obj) + document_structure_check_info(node7,node2,:error) + @collapsed_lv6=@collapsed_lv2+1 + node2 + elsif node1 + warning_incorrect_parent_level_or_level(dob.obj) + document_structure_check_info(node7,node1,:error) + @collapsed_lv6=@collapsed_lv1+1 + node1 + else + warning_incorrect_parent_level_or_level(dob.obj) + document_structure_check_info(node7,node0,:error) + node0 + end + collapsed_level=@collapsed_lv7 + node,ocn_sp=node7,"h#{ocnh}" + end + else + unless @lev_occurences[:l1] > 0 + STDERR.puts %{Substantive text objects must follow a level 1~ heading and there are none at this point in processing: #{@lev_occurences[:l1]} +SKIPPED processing file: +[#{@md.opt.lng}] "#{@md.fns}"} + puts dob.obj #.gsub(/^(.{1,80})/,'"\1"') + exit + end + unless @ln >= 4 + lev=case @ln + when 0 then 'A' + when 1 then 'B' + when 2 then 'C' + when 3 then 'D' + when 4 then '1' + when 5 then '2' + when 6 then '3' + when 7 then '4' + when 8 then '5' + when 9 then '6' + end + STDERR.puts %{Substantive text objects must follow a level 1~ 2~ or 3~ heading: #{lev}~ +SKIPPED processing file: +[#{@md.opt.lng}] "#{@md.fns}"} + puts dob.obj.gsub(/^(.{1,80})/,'"\1"') + if @md.opt.act[:no_stop][:set]==:on + $process_document = :skip + break + else exit + end + end + if not dob.obj =~/~#|-#/ + ocn_flag=true + else + ocn_flag=false + end + ocno+=1 + if dob.is==:table + ocnt+=1 + ocn_sp,parent="t#{ocnt}",node + elsif dob.is==:code + ocnc+=1 + ocn_sp,parent="c#{ocnc}",node + elsif dob.is==:group \ + || dob.is==:box \ + || dob.is==:block \ + || dob.is==:alt \ + || dob.is==:verse + ocng+=1 #group, poem + ocn_sp,parent="g#{ocng}",node + elsif dob.is==:image #check + ocni+=1 + ocn_sp,parent="i#{ocni}",node + else ocnp+=1 #paragraph + ocn_sp,parent="p#{ocnp}",node + end + end + end + if dob.is==:heading + if ocn_flag==true + dob.ln,dob.node,dob.ocn,dob.ocn_,dob.odv,dob.osp,dob.parent,dob.lc= + ln, node, ocn, ocn_flag, ocn_dv,ocn_sp, parent, collapsed_level + else + ocnu+=1 + heading_use=:ok + if dob.obj=~/#{Mx[:pa_non_object_no_heading]}/ + dob.obj=dob.obj.gsub(/#{Mx[:pa_non_object_no_heading]}/,'') + heading_use=:ok + elsif dob.obj=~/#{Mx[:pa_non_object_dummy_heading]}/ + dob.obj=dob.obj.gsub(/#{Mx[:pa_non_object_dummy_heading]}/,'') + heading_use=:dummy + end + dob.ln,dob.node,dob.ocn,dob.ocn_,dob.use_, dob.odv,dob.osp,dob.parent,dob.lc= + ln, node, nil, ocn_flag,heading_use,ocn_dv, ocn_sp, parent, collapsed_level + end + else + if dob.of !=:meta \ + && dob.of !=:comment \ + && dob.of !=:layout + if ocn_flag == true + dob.ocn,dob.ocn_,dob.odv,dob.osp,dob.parent= + ocn, ocn_flag,ocn_dv, ocn_sp, parent + else + ocnu+=1 + dob.obj=dob.obj.gsub(/#{Mx[:fa_o]}[~-]##{Mx[:fa_c]}/,'') if dob.obj + ocn_dv,ocn_sp="u#{ocnu}","u#{ocnu}" + dob.ocn,dob.ocn_,dob.odv,dob.osp,dob.parent= + nil, ocn_flag,ocn_dv, ocn_sp, parent + end + end + end + h + else dob + end + if dob.is==:code \ + || dob.is==:verse \ + || dob.is==:alt \ + || dob.is==:box \ + || dob.is==:group \ + || dob.is==:block + dob.obj=dob.obj.gsub(/\n+/,"\n") #newlines taken out + end + @o_array << dob + end + if @process == :complete \ + or (@fnx == @md.opt.fns \ + && @md.opt.fns =~/.sst$/) + unless @lev_occurences[:a] == 1 + STDERR.puts %{The number of level A~ in this document: #{@lev_occurences[:a]} +There must be one level A~ (no more and no less) +SKIPPED processing file: +[#{@md.opt.lng}] "#{@md.fns}"} + if @md.opt.act[:no_stop][:set]==:on + $process_document = :skip + else exit + end + end + unless @lev_occurences[:l1] > 0 + STDERR.puts %{The number of level 1~ in this document: #{@lev_occurences[:l1]} +There must be at least one level 1~ (and as many as required) +SKIPPED processing file: +[#{@md.opt.lng}] "#{@md.fns}"} + if @md.opt.act[:no_stop][:set]==:on + $process_document = :skip + else exit + end + end + end + @o_array + end + end + class XML + def initialize(md,data) + @data,@md=data,md + end + def dom + @s=[ 'A', 'B', 'C', 'D', '1', '2', '3' ] + tuned_file=structure_build + tuned_file + end + def spaces + Ax[:spaces] + end + def structure_build + data=@data + tuned_file=[] + hs=[0,false,false,false] + t={ + lv: @s[0], + status: :open, + } + tuned_file << tags(t) + if @md.opt.act[:verbose_plus][:set]==:on + puts "\nXML sisu structure outline --->\n" + puts "<#{@s[0]}>" + end + data.each_with_index do |o,i| + if o.is==:heading \ + || o.is==:heading_insert + case o.ln + when 0 + tuned_file << tag_close(o.ln,hs) + tuned_file << tag_open(o,@s) + if @md.opt.act[:verbose_plus][:set]==:on + puts_tag_close(o.ln,hs) + puts_tag_open(o,@s) + end + hs=[0,true,false,false,false] + when 1 + tuned_file << tag_close(o.ln,hs) + tuned_file << tag_open(o,@s) + if @md.opt.act[:verbose_plus][:set]==:on + puts_tag_close(o.ln,hs) + puts_tag_open(o,@s) + end + hs=[1,true,true,false,false] + when 2 + tuned_file << tag_close(o.ln,hs) + tuned_file << tag_open(o,@s) + if @md.opt.act[:verbose_plus][:set]==:on + puts_tag_close(o.ln,hs) + puts_tag_open(o,@s) + end + hs=[2,true,true,true,false] + when 3 + tuned_file << tag_close(o.ln,hs) + tuned_file << tag_open(o,@s) + if @md.opt.act[:verbose_plus][:set]==:on + puts_tag_close(o.ln,hs) + puts_tag_open(o,@s) + end + hs=[3,true,true,true,true] + when 4 + tuned_file << tag_close(o.ln,hs) + tuned_file << tag_open(o,@s) + if @md.opt.act[:verbose_plus][:set]==:on + puts_tag_close(o.ln,hs) + puts_tag_open(o,@s) + end + hs[0]=4 + when 5 + tuned_file << tag_close(o.ln,hs) + tuned_file << tag_open(o,@s) + if @md.opt.act[:verbose_plus][:set]==:on + puts_tag_close(o.ln,hs) + puts_tag_open(o,@s) + end + hs[0]=5 + when 6 + tuned_file << tag_close(o.ln,hs) + tuned_file << tag_open(o,@s) + if @md.opt.act[:verbose_plus][:set]==:on + puts_tag_close(o.ln,hs) + puts_tag_open(o,@s) + end + hs[0]=6 + end + end + tuned_file << o + end + if @md.opt.act[:verbose_plus][:set]==:on + puts_tag_close(0,hs) + end + tuned_file << tag_close(0,hs) + tuned_file=tuned_file.flatten + end + def tags(o) + tag=(o[:status]==:open) \ + ? %{<#{o[:lv]} id="#{o[:node]}">} + : "</#{o[:lv]}>" + ln=case o[:lv] + when 'A' then 0 + when 'B' then 1 + when 'C' then 2 + when 'D' then 3 + when '1' then 4 + when '2' then 5 + when '3' then 6 + when '4' then 7 + when '5' then 8 + when '6' then 9 + end + h={ + tag: tag, + node: o[:node], + lv: o[:lv], + ln: ln, + status: o[:status], + } + SiSU_AO_DocumentStructure::ObjectStructure.new.xml_dom(h) #downstream code utilise else ignore like comments + end + def tag_open(o,tag) + t={ lv: tag[o.ln], node: o.node, status: :open } + t_o=tags(t) + t_o + end + def tag_close(lev,hs) + ary=[] + case hs[0] + when 0 + if (lev <= 0) and hs[0] + t={ + lv: @s[0], + status: :close, + } + ary << tags(t) + end + when 1 + if (lev <= 1) and hs[1] + t={ + lv: @s[1], + status: :close, + } + ary << tags(t) + end + if (lev==0) + t={ + lv: @s[0], + status: :close, + } + ary << tags(t) + end + when 2 + if (lev <= 2) and hs[2] + t={ + lv: @s[2], + status: :close, + } + ary << tags(t) + end + if (lev <= 1) and hs[1] + t={ + lv: @s[1], + status: :close, + } + ary << tags(t) + end + if (lev==0) + t={ + lv: @s[0], + status: :close, + } + ary << tags(t) + end + when 3 + if (lev <= 3) and hs[3] + t={ + lv: @s[3], + status: :close, + } + ary << tags(t) + end + if (lev <= 2) and hs[2] + t={ + lv: @s[2], + status: :close, + } + ary << tags(t) + end + if (lev <= 1) and hs[1] + t={ + lv: @s[1], + status: :close, + } + ary << tags(t) + end + if (lev==0) + t={ + lv: @s[0], + status: :close, + } + ary << tags(t) + end + when 4 + if (lev <= 4) + t={ + lv: @s[4], + status: :close, + } + ary << tags(t) + end + if (lev <= 3) and hs[3] + t={ + lv: @s[3], + status: :close, + } + ary << tags(t) + end + if (lev <= 2) and hs[2] + t={ + lv: @s[2], + status: :close, + } + ary << tags(t) + end + if (lev <= 1) and hs[1] + t={ + lv: @s[1], + status: :close, + } + ary << tags(t) + end + if (lev==0) + t={ + lv: @s[0], + status: :close, + } + ary << tags(t) + end + when 5 + if (lev <= 5) + t={ + lv: @s[5], + status: :close, + } + ary << tags(t) + end + if (lev <= 4) + t={ + lv: @s[4], + status: :close, + } + ary << tags(t) + end + if (lev <= 3) and hs[3] + t={ + lv: @s[3], + status: :close, + } + ary << tags(t) + end + if (lev <= 2) and hs[2] + t={ + lv: @s[2], + status: :close, + } + ary << tags(t) + end + if (lev <= 1) and hs[1] + t={ + lv: @s[1], + status: :close, + } + ary << tags(t) + end + if (lev==0) + t={ + lv: @s[0], + status: :close, + } + ary << tags(t) + end + when 6 + if (lev <= 6) + t={ + lv: @s[6], + status: :close, + } + ary << tags(t) + end + if (lev <= 5) + t={ + lv: @s[5], + status: :close, + } + ary << tags(t) + end + if (lev <= 4) + t={ + lv: @s[4], + status: :close, + } + ary << tags(t) + end + if (lev <= 3) and hs[3] + t={ + lv: @s[3], + status: :close, + } + ary << tags(t) + end + if (lev <= 2) and hs[2] + t={ + lv: @s[2], + status: :close, + } + ary << tags(t) + end + if (lev <= 1) and hs[1] + t={ + lv: @s[1], + status: :close, + } + ary << tags(t) + end + if (lev==0) + t={ + lv: @s[0], + status: :close, + } + ary << tags(t) + end + end + ary + end + def puts_tag_open(o,tag) + puts %{#{spaces*o.ln}<#{tag[o.ln]} id="#{o.node}">} + end + def puts_tag_close(lev,hs) + case hs[0] + when 0 + #puts "#{spaces*0}</#{@s[0]}>" if (lev <= 0) and hs[0] + puts "</#{@s[0]}>" if (lev==0) + when 1 + puts "#{spaces*1}</#{@s[1]}>" if (lev <= 1) and hs[1] + puts "</#{@s[0]}>" if (lev==0) + when 2 + puts "#{spaces*2}</#{@s[2]}>" if (lev <= 2) and hs[2] + puts "#{spaces*1}</#{@s[1]}>" if (lev <= 1) and hs[1] + puts "</#{@s[0]}>" if (lev==0) + when 3 + puts "#{spaces*3}</#{@s[3]}>" if (lev <= 3) and hs[3] + puts "#{spaces*2}</#{@s[2]}>" if (lev <= 2) and hs[2] + puts "#{spaces*1}</#{@s[1]}>" if (lev <= 1) and hs[1] + puts "</#{@s[0]}>" if (lev==0) + when 4 + puts "#{spaces*4}</#{@s[4]}>" if (lev <= 4) + puts "#{spaces*3}</#{@s[3]}>" if (lev <= 3) and hs[3] + puts "#{spaces*2}</#{@s[2]}>" if (lev <= 2) and hs[2] + puts "#{spaces*1}</#{@s[1]}>" if (lev <= 1) and hs[1] + puts "</#{@s[0]}>" if (lev==0) + when 5 + puts "#{spaces*5}</#{@s[5]}>" if (lev <= 5) + puts "#{spaces*4}</#{@s[4]}>" if (lev <= 4) + puts "#{spaces*3}</#{@s[3]}>" if (lev <= 3) and hs[3] + puts "#{spaces*2}</#{@s[2]}>" if (lev <= 2) and hs[2] + puts "#{spaces*1}</#{@s[1]}>" if (lev <= 1) and hs[1] + puts "</#{@s[0]}>" if (lev==0) + when 6 + puts "#{spaces*6}</#{@s[6]}>" if (lev <= 6) + puts "#{spaces*5}</#{@s[5]}>" if (lev <= 5) + puts "#{spaces*4}</#{@s[4]}>" if (lev <= 4) + puts "#{spaces*3}</#{@s[3]}>" if (lev <= 3) and hs[3] + puts "#{spaces*2}</#{@s[2]}>" if (lev <= 2) and hs[2] + puts "#{spaces*1}</#{@s[1]}>" if (lev <= 1) and hs[1] + puts "</#{@s[0]}>" if (lev==0) + end + end + end +end +__END__ +#+END_SRC + +** ao_endnotes.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_endnotes.rb_" +# <<sisu_document_header>> +module SiSU_AO_Endnotes + class Endnotes + def initialize(md,data,endnote_array=nil) + @md,@data,@endnote_array= + md, data, endnote_array + @endnote_counter, + @endnote_counter_asterisk, + @endnote_counter_dag= + 1,1,1 + end + def endnotes + data=@data + endnote_ref=1 + @tuned_file=data.each.map do |dob| + # manually numbered endnotes <!e(\d)!> <!e_(\d)!> --> + if @md.opt.selections.str =~/--no-asterisk|--no-annotate/ + dob.obj=dob.obj. + gsub(/#{Mx[:en_b_o]}\s.+?#{Mx[:en_b_c]}/,'') + end + if @md.opt.selections.str =~/--no-dagger|--no-annotate/ + dob.obj=dob.obj. + gsub(/#{Mx[:en_b_o]}[+]\s.+?#{Mx[:en_b_c]}/,'') + end + if (defined? dob.obj) \ + && (defined? dob.is) \ + && dob.is !=:code + case dob.obj # auto-numbered endnotes <!e!> <!e_!> --> + when /#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}[*+]\s+.+?#{Mx[:en_b_c]}/ + dob.obj=dob.obj. + gsub(/\s*(#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/,'\1') + word_mode=dob.obj.scan(/\S+/m) + word_mode=endnote_call_number(word_mode) + dob.obj=word_mode.join(' ') + endnote_ref+=1 + when /~\^(?:\s|$)/ #%note inserts endnotes previously gathered from /^(<!e[:_]!>|[-~]\{{3})/ (in earlier loop) + word_mode=dob.obj.scan(/\S+/m) + word_mode=endnote_call_number(word_mode) + dob.obj=word_mode.join(' ') + endnote_ref+=1 + end + end + dob + end.flatten + @endnote_counter, + @endnote_counter_asterisk, + @endnote_counter_dag= + 1,1,1 + @tuned_file + end + def endnote_call_number(words) + words.each do |word| + case word + when /#{Mx[:en_a_o]}/ + unless word =~/#{Mx[:en_a_o]}[*+]+/ + word.gsub!(/#{Mx[:en_a_o]}/, + "#{Mx[:en_a_o]}#{@endnote_counter} ") + @endnote_counter+=1 + end + when /#{Mx[:en_b_o]}/ + if word =~/#{Mx[:en_b_o]}[+]/ + word.gsub!(/#{Mx[:en_b_o]}[+]/, + "#{Mx[:en_b_o]}\+#{@endnote_counter_dag} ") + @endnote_counter_dag+=1 + else + word.gsub!(/#{Mx[:en_b_o]}[*]?/, + "#{Mx[:en_b_o]}\*#{@endnote_counter_asterisk} ") + @endnote_counter_asterisk+=1 + end + when /~\^/ + if @endnote_array + word.gsub!(/~\^/, + "#{@endnote_array[@endnote_counter-1]}") + @endnote_counter+=1 + end + end + end + end + end +end +__END__ +#+END_SRC + +** ao_expand_insertions.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_expand_insertions.rb" +# <<sisu_document_header>> +module SiSU_AO_Insertions + class Insertions + def initialize(md,data) + @md,@data=md,data + end + def output_filetypes_in_cmd(cmd_shortcut,lnk=nil) #make list of file types in shortcut command (as configured), e.g. when sisu -3 is used + act_defaults=SiSU_Env::InfoProcessingFlag.new + cmd_list=case cmd_shortcut.inspect #check on expectation, string v array + when /0/ then act_defaults.act_0.str + when /1/ then act_defaults.act_1.str + when /2/ then act_defaults.act_2.str + when /3/ then act_defaults.act_3.str + when /4/ then act_defaults.act_4.str + when /5/ then act_defaults.act_5.str + when /6/ then act_defaults.act_6.str + when /7/ then act_defaults.act_7.str + when /8/ then act_defaults.act_8.str + when /9/ then act_defaults.act_9.str + end + file_type_names={} + file_type_names[:gen],file_type_names[:src]=[],[] + file_type_names[:gen] <<= if cmd_list =~ /\b--manifest\b/ + "~^ { document manifest }#{lnk[:manifest]}" + end + file_type_names[:gen] <<= if cmd_list =~ /\b--html\b/ + [ + " { html, segmented text }#{lnk[:html_toc]}", + " { html, scroll, document in one }#{lnk[:html_doc]}", + ] + end + file_type_names[:gen] <<= if cmd_list =~ /\b--epub\b/ + [" { epub }#{lnk[:epub]}"] + end + file_type_names[:gen] <<= if cmd_list =~ /\b--pdf\b/ \ + or cmd_list =~ /--pdf-landscape/ + [ + " { pdf, landscape }#{lnk[:pdf_landscape]}", + ] + end + file_type_names[:gen] <<= if cmd_list =~ /\b--pdf\b/ \ + or cmd_list =~ /--pdf-portrait/ + [ + " { pdf, portrait }#{lnk[:pdf_portrait]}", + ] + end + file_type_names[:gen] <<= if cmd_list =~ /\b(?:--odt|--odf)\b/ + " { odf:odt, open document text }#{lnk[:odt]}" + end + file_type_names[:gen] <<= if cmd_list =~ /\b--xhtml\b/ + " { xhtml scroll }#{lnk[:xhtml]}" + end + file_type_names[:gen] <<= if cmd_list =~ /\b--docbook\b/ + " { docbook }#{lnk[:docbook]}" #CHECK + end + file_type_names[:gen] <<= if cmd_list =~ /\b--xml-sax\b/ + " { xml, sax }#{lnk[:xml_sax]}" + end + file_type_names[:gen] <<= if cmd_list =~ /\b--xml-dom\b/ + " { xml, dom }#{lnk[:xml_dom]}" + end + file_type_names[:gen] <<= if cmd_list =~ /\b(?:--txt|--text|--plaintext)\b/ + " { plain text utf-8 }#{lnk[:txt]}" + end + #file_type_names[:gen] <<= if cmd_list =~ /g/ + # 'wiki.txt' + #end + file_type_names[:gen] <<= if cmd_list =~ /\b--concordance\b/ + " { concordance }#{lnk[:html_concordance]}" + end + file_type_names[:gen] <<= if cmd_list =~ /\b--digest\b/ + " { dcc, document content certificate (digests) }#{lnk[:digest]}" + end + file_type_names[:src] <<= if source and cmd_shortcut =~ /\b--source\b/ + " { markup source text }#{lnk[:source]}" + end + file_type_names[:src] <<= if cmd_shortcut =~ /\b--sisupod\b/ + " { markup source (zipped) pod }#{lnk[:sisupod]}" + end + file_type_names[:gen]=file_type_names[:gen].flatten + file_type_names[:src]=file_type_names[:src].flatten + file_type_names + end + def by_language(linked_doc,lng,src=nil) + @linked_doc,@lng,@src=linked_doc,lng,src + @base_path="#{@md.file.output_path.base.url}/#{lng}" + def fnh + { + fn: @linked_doc, + } + end + def path_and_file(fn,pth) + @base_path + '/' + pth + '/' + fn + end + def manifest + fn=@md.file.base_filename.manifest(fnh) + path_and_file(fn,'manifest') + end + def html_toc + fn=@md.file.base_filename.html_segtoc(fnh) + @base_path + '/html/' + @linked_doc + '/' + fn + end + def html_doc + fn=@md.file.base_filename.html_scroll(fnh) + path_and_file(fn,'html') + end + def html_concordance + fn=@md.file.base_filename.html_concordance + @base_path + '/html/' + @linked_doc + '/' + fn + end + def epub + fn=@md.file.base_filename.epub(fnh) + path_and_file(fn,'epub') + end + def pdf_landscape + fn=@md.file.base_filename.pdf_l_a4(fnh) + path_and_file(fn,'pdf') + end + def pdf_portrait + fn=@md.file.base_filename.pdf_p_a4(fnh) + path_and_file(fn,'pdf') + end + def odt + fn=@md.file.base_filename.odt(fnh) + path_and_file(fn,'odt') + end + def xhtml + fn=@md.file.base_filename.xhtml(fnh) + path_and_file(fn,'xhtml') + end + def docbook + fn=@md.file.base_filename.xml_docbook_book(fnh) + path_and_file(fn,'docbook') + end + def xml_sax + fn=@md.file.base_filename.xml_sax(fnh) + path_and_file(fn,'xml_sax') + end + def xml_dom + fn=@md.file.base_filename.xml_dom(fnh) + path_and_file(fn,'xml_dom') + end + def txt + fn=@md.file.base_filename.txt(fnh) + path_and_file(fn,'txt') + end + def digest + fn=@md.file.base_filename.hash_digest(fnh) + path_and_file(fn,'digest') + end + def source + @base_path + '/src/' + @src + end + def sisupod + @base_path + '/src/' + @src + '.zip' + end + self + end + def by_filetype(linked_doc,lng,src=nil) + @linked_doc,@lng,@src=linked_doc,lng,src + @lc=SiSU_Env::FilenameLanguageCodeInsert.new(@md.opt,lng). + language_code_insert + @base_path="#{@md.file.output_path.base.url}" + def fnh + { + fn: @linked_doc, + lng: @lc, + } + end + def path_and_file(fn,pth) + @base_path + '/' + pth + '/' + fn + end + def manifest + fn=@md.file.base_filename.manifest(fnh) + path_and_file(fn,'manifest') + end + def html_toc + fn=@md.file.base_filename.html_segtoc(fnh) + path_and_file(fn,'html') + end + def html_doc + fn=@md.file.base_filename.html_scroll(fnh) + path_and_file(fn,'html') + end + def html_concordance + fn=@md.file.base_filename.html_concordance + path_and_file(fn,'html') + end + def epub + fn=@md.file.base_filename.epub(fnh) + path_and_file(fn,'epub') + end + def pdf_landscape + fn=@md.file.base_filename.pdf_l_a4(fnh) + path_and_file(fn,'pdf') + end + def pdf_portrait + fn=@md.file.base_filename.pdf_p_a4(fnh) + path_and_file(fn,'pdf') + end + def odt + fn=@md.file.base_filename.odt(fnh) + path_and_file(fn,'odt') + end + def xhtml + fn=@md.file.base_filename.xhtml(fnh) + path_and_file(fn,'xhtml') + end + def docbook + fn=@md.file.base_filename.xml_docbook_book(fnh) + path_and_file(fn,'docbook') + end + def xml_sax + fn=@md.file.base_filename.xml_sax(fnh) + path_and_file(fn,'xml_sax') + end + def xml_dom + fn=@md.file.base_filename.xml_dom(fnh) + path_and_file(fn,'xml_dom') + end + def txt + fn=@md.file.base_filename.txt(fnh) + path_and_file(fn,'txt') + end + def digest + fn=@md.file.base_filename.hash_digest(fnh) + path_and_file(fn,'digest') + end + def source + @base_path + '/src/' + @src + end + def sisupod + @base_path + '/src/' + @src + '.zip' + end + self + end + def by_filename(linked_doc,lng,src=nil) + @linked_doc,@lng,@src=linked_doc,lng,src + @lc=SiSU_Env::FilenameLanguageCodeInsert.new(@md.opt,lng).language_code_insert + @base_path="#{@md.file.output_path.base.url}/#{@linked_doc}" + def fnh + { + fn: @linked_doc, + lng: @lc, + } + end + def path_and_file(fn,pth=nil) + (pth.nil?) \ + ? @base_path + '/' + fn + : @base_path + '/' + pth + '/' + fn + end + def manifest + fn=@md.file.base_filename.manifest(fnh) + path_and_file(fn) + end + def html_toc + fn=@md.file.base_filename.html_segtoc(fnh) + path_and_file(fn) + end + def html_doc + fn=@md.file.base_filename.html_scroll(fnh) + path_and_file(fn) + end + def html_concordance + fn=@md.file.base_filename.html_concordance + path_and_file(fn) + end + def epub + fn=@md.file.base_filename.epub(fnh) + path_and_file(fn,'epub') + end + def pdf_landscape + fn=@md.file.base_filename.pdf_l_a4(fnh) + path_and_file(fn) + end + def pdf_portrait + fn=@md.file.base_filename.pdf_p_a4(fnh) + path_and_file(fn) + end + def odt + fn=@md.file.base_filename.odt(fnh) + path_and_file(fn) + end + def xhtml + fn=@md.file.base_filename.xhtml(fnh) + path_and_file(fn) + end + def docbook + fn=@md.file.base_filename.xml_docbook_book(fnh) + path_and_file(fn) + end + def xml_sax + fn=@md.file.base_filename.xml_sax(fnh) + path_and_file(fn) + end + def xml_dom + fn=@md.file.base_filename.xml_dom(fnh) + path_and_file(fn) + end + def txt + fn=@md.file.base_filename.txt(fnh) + path_and_file(fn) + end + def digest + fn=@md.file.base_filename.hash_digest(fnh) + path_and_file(fn) + end + def source + @base_path + '/' + @src + end + def sisupod + @base_path + '/' + @src + '.zip' + end + self + end + def expand_insertions? + data=@data + tuned_file,tuned_file_tmp=[],[] + codeblock_={ + status: :false, + type: :na, + } + data.each do |para| + codeblock_=if para =~/^code(?:\.[a-z][0-9a-z_]+)?\{/ \ + and codeblock_[:status]==:false + { + status: :true, + type: :curl, + } + elsif para =~/^```[ ]+code(?:\.[a-z][0-9a-z_]+)?/ \ + and codeblock_[:status]==:false + { + status: :true, + type: :tics, + } + elsif codeblock_[:type]==:curl \ + and para =~/^\}code/m + { + status: :false, + type: :na, + } + elsif codeblock_[:type]==:tics \ + and para =~/^```(?:\s|$)/m + { + status: :false, + type: :na, + } + else codeblock_ + end + if para !~/^%+\s/ \ + and codeblock_[:status] != :true \ + and para =~/\{(?:~\^\s+)?(.+?)\s\[(?:\d(?:[sS]*))\]\}(?:\.\.\/\S+?\/|\S+?\.ss[tm]\b)/ + @u=SiSU_Env::InfoEnv.new.url + m_cmd='' + if defined? @u.remote + if /(?<m_pre>.+?)\{(?<m_txt>.+?)\s\[(?<m_cmd>\d[sS]*)\]\}(?<m_source>(?<m_linked_doc>\S+?)\.ss[tm]\b)(?<m_note>.*)/m =~ para + m_pre=m_pre.strip + elsif /\{(?<m_txt>.+?)\s\[(?<m_cmd>\d[sS]*)\]\}(?<m_source>(?<m_linked_doc>\S+?)\.ss[tm]\b)(?<m_note>.*)/m =~ para + end + if m_linked_doc =~ /(\S+?)\/(\S+)/ + m_linked_doc,m_linked_doc_lang=$1,$2 + else + m_linked_doc,m_linked_doc_lang=m_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__}" + if /\{(?:~\^\s+)?(?<m_txt>.+?)\s\[(?<m_cmd>\d[sS]*)\]\}\.\.\/(?<m_linked_doc>\S+?)\/(?<m_note>\s+#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]})?/ =~ para + end + end + lnk=case @md.opt.dir_structure_by + when :language + { + manifest: by_language(m_linked_doc,m_linked_doc_lang).manifest, + html_toc: by_language(m_linked_doc,m_linked_doc_lang).html_toc, + html_doc: by_language(m_linked_doc,m_linked_doc_lang).html_doc, + epub: by_language(m_linked_doc,m_linked_doc_lang).epub, + pdf_landscape: by_language(m_linked_doc,m_linked_doc_lang).pdf_landscape, + pdf_portrait: by_language(m_linked_doc,m_linked_doc_lang).pdf_landscape, + odt: by_language(m_linked_doc,m_linked_doc_lang).odt, + xhtml: by_language(m_linked_doc,m_linked_doc_lang).xhtml, + docbook: by_language(m_linked_doc,m_linked_doc_lang).docbook, + xml_sax: by_language(m_linked_doc,m_linked_doc_lang).xml_sax, + xml_dom: by_language(m_linked_doc,m_linked_doc_lang).xml_dom, + txt: by_language(m_linked_doc,m_linked_doc_lang).txt, + html_concordance: by_language(m_linked_doc,m_linked_doc_lang).html_concordance, + digest: by_language(m_linked_doc,m_linked_doc_lang).digest, + sisupod: by_language(m_linked_doc,m_linked_doc_lang,m_source).sisupod, + source: by_language(m_linked_doc,m_linked_doc_lang,m_source).source, + } + when :filetype + { + manifest: by_filetype(m_linked_doc,m_linked_doc_lang).manifest, + html_toc: by_filetype(m_linked_doc,m_linked_doc_lang).html_toc, + html_doc: by_filetype(m_linked_doc,m_linked_doc_lang).html_doc, + epub: by_filetype(m_linked_doc,m_linked_doc_lang).epub, + pdf_landscape: by_filetype(m_linked_doc,m_linked_doc_lang).pdf_landscape, + pdf_portrait: by_filetype(m_linked_doc,m_linked_doc_lang).pdf_landscape, + odt: by_filetype(m_linked_doc,m_linked_doc_lang).odt, + xhtml: by_filetype(m_linked_doc,m_linked_doc_lang).xhtml, + docbook: by_filetype(m_linked_doc,m_linked_doc_lang).docbook, + xml_sax: by_filetype(m_linked_doc,m_linked_doc_lang).xml_sax, + xml_dom: by_filetype(m_linked_doc,m_linked_doc_lang).xml_dom, + txt: by_filetype(m_linked_doc,m_linked_doc_lang).txt, + html_concordance: by_filetype(m_linked_doc,m_linked_doc_lang).html_concordance, + digest: by_filetype(m_linked_doc,m_linked_doc_lang).digest, + sisupod: by_filetype(m_linked_doc,m_linked_doc_lang,m_source).sisupod, + source: by_filetype(m_linked_doc,m_linked_doc_lang,m_source).source, + } + else + { + manifest: by_filename(m_linked_doc,m_linked_doc_lang).manifest, + html_toc: by_filename(m_linked_doc,m_linked_doc_lang).html_toc, + html_doc: by_filename(m_linked_doc,m_linked_doc_lang).html_doc, + epub: by_filename(m_linked_doc,m_linked_doc_lang).epub, + pdf_landscape: by_filename(m_linked_doc,m_linked_doc_lang).pdf_landscape, + pdf_portrait: by_filename(m_linked_doc,m_linked_doc_lang).pdf_landscape, + odt: by_filename(m_linked_doc,m_linked_doc_lang).odt, + xhtml: by_filename(m_linked_doc,m_linked_doc_lang).xhtml, + docbook: by_filename(m_linked_doc,m_linked_doc_lang).docbook, + xml_sax: by_filename(m_linked_doc,m_linked_doc_lang).xml_sax, + xml_dom: by_filename(m_linked_doc,m_linked_doc_lang).xml_dom, + txt: by_filename(m_linked_doc,m_linked_doc_lang).txt, + html_concordance: by_filename(m_linked_doc,m_linked_doc_lang).html_concordance, + digest: by_filename(m_linked_doc,m_linked_doc_lang).digest, + sisupod: by_filename(m_linked_doc,m_linked_doc_lang,m_source).sisupod, + source: by_filename(m_linked_doc,m_linked_doc_lang,m_source).source, + } + end + linked_title="#{m_pre}{#{m_txt} }#{lnk[:manifest]}#{m_note}\n\n" + tuned_file_tmp << linked_title + output_filetypes=output_filetypes_in_cmd(m_cmd,lnk) + output_filetypes[:gen].each do |desc| + if desc + tuned_file_tmp << if @u.remote + "#{Mx[:nbsp]*4} #{desc} " + else # remove ... + "[provide document placement host location]" + end + end + end + output_filetypes[:src].each do |desc| + if desc + tuned_file_tmp << if @u.remote + "#{Mx[:nbsp]*4} #{desc} " + else + "[provide document placement host location]" + end + end + end + tuned_file << 'group{' << tuned_file_tmp.join("\n") << '}group' + tuned_file_tmp=[] + else tuned_file << para + end + end + tuned_file + end + end +end +__END__ +#+END_SRC + +** ao_hash_digest.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_hash_digest.rb" +# <<sisu_document_header>> +module SiSU_AO_Hash + require_relative 'shared_markup_alt.rb' #shared_markup_alt.rb + class ObjectDigest + def initialize(md,data,env=nil) + @md,@data,@env=md,data,env + @env ||=SiSU_Env::InfoEnv.new(@md.fns,@md) + end + def object_digest + # 1. clean/stripped text without any markup, paragraph, headings etc. without endnotes + # 2. endnotes clean/stripped text digest only (there may be several endnotes within a paragraph) + # 3. whole object, text with markup and any endnotes, (question: with or without the endnote digests??? presumption better without, [however may be easier to check with?]) + # [digests should not include other digests] + data=@data.compact + @tuned_file=[] + sha_ =@env.digest(@md.opt).type + begin + sha_ ? (require 'digest/sha2') : (require 'digest/md5') + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error(sha_ + ' NOT FOUND') + end + data.each do |t_o| + unless t_o.obj.is_a?(Array) + t_o.obj=t_o.obj.strip + end + if (t_o.of !=:structure \ + && t_o.of !=:comment \ + && t_o.of !=:layout) \ + && t_o.ocn.is_a?(Fixnum) + case sha_ + when :sha512 + for hash_class in [ Digest::SHA512 ] + @tuned_file << stamped(t_o,hash_class) + end + when :sha256 + for hash_class in [ Digest::SHA256 ] + @tuned_file << stamped(t_o,hash_class) + end + when :md5 + for hash_class in [ Digest::MD5 ] + @tuned_file << stamped(t_o,hash_class) + end + end + else @tuned_file << t_o unless t_o.nil? + end + end + @tuned_file=@tuned_file.flatten + #use md5 or to create hash of each ao object including ocn, & add into to each ao object + end + def endnote_digest(data) + data.each.map do |en_plus| + case en_plus + when /#{Mx[:en_a_o]}|#{Mx[:en_b_o]}/ + if en_plus =~/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/ + t_o_txt,en_open,en_txt,en_close= + /(.*?)(#{Mx[:en_a_o]}|#{Mx[:en_b_o]})(.+?)(#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/m. + match(en_plus)[1..4] + stripped_en=SiSU_TextRepresentation::Alter.new(en_txt).strip_clean_of_markup + digest_en_strip=case @env.digest(@md.opt).type + when :sha512 + Digest::SHA512.hexdigest(stripped_en) + when :sha256 + Digest::SHA256.hexdigest(stripped_en) + when :md5 + Digest::MD5.hexdigest(stripped_en) + else + Digest::SHA256.hexdigest(stripped_en) + end + t_o_txt + + en_open + + en_txt + + Mx[:id_o] + + digest_en_strip + + Mx[:id_c] + + en_close + else STDERR.puts "Error Exception - problem encountered with:\n#{en_plus}" #arbitrary exception, tidy up + end + else en_plus + end + end.join + end + def stamped(t_o,hash_class) #decide what hash information is most useful, is compromise necessary? + t_o.obj=SiSU_TextRepresentation::Alter.new(t_o).strip_clean_of_extra_spaces + #SiSU_TextRepresentation::Alter.new(t_o).strip_clean_of_markup #check + #SiSU_TextRepresentation::Alter.new(t_o).semi_revert_markup #check + #SiSU_TextRepresentation::ModifiedTextPlusHashDigest.new(@md,t_o).composite.dgst #check + unless t_o.is==:code + case t_o.obj + when /#{Mx[:en_a_o]}[\d*+]+\s+.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}[*+]\d+\s+.+?#{Mx[:en_b_c]}/m + en_and_t_o_digest=[] + t_o.obj=t_o.obj. + gsub(/\s*(#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/m,' \1') #watch + t_o_plus_en=t_o.obj. + scan(/.*?#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|.*?#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/m) + t_o_tail=if t_o.obj =~/(?:.*?#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|.*?#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})+([\s\S]+)/m + /(?:.*?#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|.*?#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})+.*/m.match(t_o.obj)[1] + else '' + end + t_o_plus_en << t_o_tail + en_and_t_o_digest << endnote_digest(t_o_plus_en) + en_and_t_o_digest.join(' ') + else #@tuned << t_o + Mx[:id_o] + digest_strip + ':' + digest_all + Mx[:id_c] unless t_o.nil? + end + else #@tuned << t_o + Mx[:id_o] + digest_strip + ':' + digest_all + Mx[:id_c] unless t_o.nil? + end + t_o #KEEP intact + end + def strip_clean_extra_spaces(s) # ao output tuned + s=s.dup + s=s.gsub(/[ ]+([,.;:?](?:$|\s))/,'\1') unless s =~/#{Mx[:en_a_o]}|#{Mx[:en_b_o]}/ + s=s.gsub(/ [ ]+/,' '). + gsub(/^ [ ]+/,''). + gsub(/ [ ]+$/,''). + gsub(/((?:#{Mx[:fa_bold_c]}|#{Mx[:fa_italics_c]})')[ ]+(s )/,'\1\2'). + gsub(/((?:#{Mx[:fa_bold_c]}|#{Mx[:fa_italics_c]})')[ ]+(s )/,'\1\2') + end + end +end +__END__ +#+END_SRC + +** ao_idx.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_idx.rb" +# <<sisu_document_header>> +module SiSU_AO_BookIndex + class BookIndex + def initialize(md,data,env=nil) + @md,@data,@env=md,data,env + @rgx_idx=/#{Mx[:idx_o]}(?:.+?)#{Mx[:idx_c]}\s*/ + @rgx_idx_ocn_seg=/(.+?)~(\d+)~(\S+)/ + @rgx_idx_ocn=/(.+?)~(\d+)/ + @env ||=SiSU_Env::InfoEnv.new(@md.fns) + end + def indexing_song + data=@data + data, + sisu_markup_idx_rel, + sisu_markup_idx_rel_html_seg, + html_idx,xhtml_idx= + extract_book_index(data) + data= + clean_and_insert_index( + data, + sisu_markup_idx_rel_html_seg + ) + [ + data, + sisu_markup_idx_rel, + sisu_markup_idx_rel_html_seg, + html_idx, + xhtml_idx, + ] + end + def extract_book_index(data) + tuned_file=[] + idx_array=[] + data.each do |dob| + if (dob.is ==:heading \ + || dob.is ==:heading_insert) \ + && dob.ln==4 + @seg=dob.name + end + if defined? dob.idx \ + and dob.idx.is_a?(Hash) + idx_array << { + idx: dob.idx, + ocn: dob.ocn, + seg: @seg + } + end + tuned_file << dob if dob + end + if idx_array.length > 0 + the_idx=construct_book_index(idx_array) + if @md.book_idx + idx=index(the_idx) + sisu_markup_idx_rel,sisu_markup_idx_rel_html_seg,html_idx, xhtml_idx= + idx[:sst_rel], idx[:sst_rel_html_seg], idx[:html],idx[:xhtml] + else + sisu_markup_idx_rel= + sisu_markup_idx_rel_html_seg= + html_idx= + xhtml_idx= + nil + end + end + [ + tuned_file, + sisu_markup_idx_rel, + sisu_markup_idx_rel_html_seg, + html_idx, + xhtml_idx, + ] + end + def construct_book_index(idx_array) + the_idx={} + idx_array.each do |idx| + idx[:idx].each_pair do |term,term_info| + location=(term_info[:plus].to_i > 0) \ + ? (%{#{idx[:ocn]}-#{idx[:ocn].to_i + term_info[:plus].to_i}}) + : idx[:ocn].to_s + the_idx[term]={} \ + unless the_idx[term] \ + and defined? the_idx[term] + the_idx[term]['node_0_terms']=[] \ + unless the_idx[term]['node_0_terms'] \ + and defined? the_idx[term]['node_0_terms'] + the_idx[term]['node_0_terms'] << { ocn: idx[:ocn], range: location, seg: idx[:seg] } + if term_info[:sub].is_a?(Array) \ + and term_info[:sub].length > 0 + term_info[:sub].each do |y| + y.each_pair do |subterm,subterm_info| + location=(subterm_info[:plus].to_i > 0) \ + ? (%{#{idx[:ocn]}-#{idx[:ocn].to_i + subterm_info[:plus].to_i}}) + : idx[:ocn].to_s + the_idx[term]={} \ + unless the_idx[term] \ + and defined? the_idx[term] + the_idx[term]['node_0_terms']=[] \ + unless the_idx[term]['node_0_terms']\ + and defined? the_idx[term]['node_0_terms'] + the_idx[term]['node_1_subterms']={} \ + unless the_idx[term]['node_1_subterms'] \ + and defined? the_idx[term]['node_1_subterms'] + the_idx[term]['node_1_subterms'][subterm]=[] \ + unless the_idx[term]['node_1_subterms'][subterm] \ + and defined? the_idx[term]['node_1_subterms'][subterm] + the_idx[term]['node_1_subterms'][subterm] << + { ocn: idx[:ocn], range: location, seg: idx[:seg] } + end + end + end + end + end + the_idx=the_idx.sort + the_idx + end + def clean_xml(str) + str=str.gsub(/&/,'&') + str + end + def index(the_idx) + @x=1 + idx={} + idx[:sst_rel_html_seg],idx[:sst_rel],idx[:html],idx[:xhtml]= + [], [], [], [] + h={ + obj: Mx[:br_page] + } + o=SiSU_AO_DocumentStructure::ObjectLayout.new.break(h) + idx[:sst_rel_html_seg] << o + idx[:sst_rel] << o + h={ + lv: '1', + name: 'index', + obj: "Index" + } + o=SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h) + idx[:sst_rel_html_seg] << o + idx[:sst_rel] << o + h={ + lv: '4', + name: 'idx', + obj: " [Index] #{Mx[:pa_non_object_dummy_heading]}" + } + o=SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h) + idx[:sst_rel_html_seg] << o + idx[:sst_rel] << o + alph=%W[9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z] + idx[:html] << '<p>' + idx[:xhtml] << '<p>' + alph.each do |x| + if x =~/[0-9]/ + idx[:html] << '' + idx[:xhtml] << '' + else + idx[:html] << + %{<a href="##{x}">#{x}</a>,#{$ep[:hsp]}} + idx[:xhtml] << + %{<a href="##{x.downcase}">#{x}</a>,#{$ep[:hsp]}} + end + end + idx[:html] << '</p>' + idx[:xhtml] << '</p>' + letter=alph.shift + idx[:html] << + %{\n<p class="book_index_lev1"><a name="numeral"></a></p>} + idx[:xhtml] << + %{\n<p class="letter" id="numeral">0 - 9</p>} + the_idx.each do |i| + i.each do |x| + if x.is_a?(String) + f=/^(\S)/.match(x)[1] + if letter < f + while letter < f + if alph.length > 0 + letter=alph.shift + idx[:html] << + %{\n<p class="letter"><a name="#{letter}">#{letter}</a></p><p class="book_index_lev1"><a name="#{letter.downcase}"> </a></p>} + idx[:xhtml] << + %{\n<p class="letter" id="#{letter.downcase}">#{letter}</p>} + else break + end + end + end + idx[:sst_rel_html_seg] << + %{\n\n#{Mx[:fa_bold_o]}#{x},#{Mx[:fa_bold_c]} } + idx[:sst_rel] << + %{\n\n#{Mx[:fa_bold_o]}#{x},#{Mx[:fa_bold_c]} } + aname=x.gsub(/\s+/,'_') + idx[:html] << + %{\n<p class="book_index_lev1"><a name="#{aname}"><b>#{x}</b></a>, } + c=clean_xml(x.dup) + idx[:xhtml] << + %{\n<p class="book_index_lev1"><b>#{c}</b>, } + @o=idx[:sst_rel_html_seg].index(idx[:sst_rel_html_seg].last) + @t=idx[:sst_rel].index(idx[:sst_rel].last) + @q=idx[:html].index(idx[:html].last) + @r=idx[:xhtml].index(idx[:xhtml].last) + print "\n" + x + ', ' if @md.opt.act[:verbose_plus][:set]==:on + elsif x.is_a?(Array) + p 'array error? -->' + print x + elsif x.is_a?(Hash) + if x['node_0_terms'].is_a?(Array) + x['node_0_terms'].each do |a| + if a[:range] + idx[:sst_rel_html_seg][@o]= + idx[:sst_rel_html_seg][@o] + + %{#{Mx[:lnk_o]}#{a[:range]}#{Mx[:lnk_c]}#{Mx[:rel_o]}/#{a[:seg]}.html##{a[:ocn]}#{Mx[:rel_c]}, } + idx[:sst_rel][@t]= + idx[:sst_rel][@t] + + %{#{Mx[:lnk_o]}#{a[:range]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{a[:ocn]}#{Mx[:rel_c]}, } + idx[:html][@q]= + idx[:html][@q] + + %{<a href="#{a[:seg]}.html##{a[:ocn]}">#{a[:range]}</a>, } + idx[:xhtml][@q]= + idx[:xhtml][@q] + + %{<a href="#{a[:seg]}.xhtml#o#{a[:ocn]}">#{a[:range]}</a>, } + print a[:range] + ', ' if @md.opt.act[:verbose_plus][:set]==:on + elsif a[:ocn] + idx[:sst_rel_html_seg][@o]= + idx[:sst_rel_html_seg][@o] + + %{#{Mx[:lnk_o]}#{a[:ocn]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{a[:seg]}.html##{a[:ocn]}#{Mx[:rel_c]}, } + idx[:sst_rel][@t]= + idx[:sst_rel][@t] + + %{#{Mx[:lnk_o]}#{a[:ocn]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{a[:ocn]}#{Mx[:rel_c]}, } + idx[:html][@q]= + idx[:html][@q] + + %{<a href="#{a[:seg]}.html##{a[:ocn]}">#{a[:ocn]}</a>, } + idx[:xhtml][@q]= + idx[:xhtml][@q] + + %{<a href="#{a[:seg]}.xhtml#o#{a[:ocn]}">#{a[:ocn]}</a>, } + print a[:ocn] + ', ' if @md.opt.act[:verbose_plus][:set]==:on + else p 'error' + end + end + idx[:html][@q]=idx[:html][@q] + '</p>' + idx[:xhtml][@r]=idx[:xhtml][@r] + '</p>' + end + if x['node_1_subterms'] + x['node_1_subterms'].sort.each do |k,y| + if k !~/node_0_terms/ + idx[:sst_rel_html_seg][@o]= + idx[:sst_rel_html_seg][@o] + + %{#{k}, } + idx[:sst_rel][@t]= + idx[:sst_rel][@t] + + %{#{k}, } + idx[:html][@q]= + idx[:html][@q] + + %{\n<p class="book_index_lev2">#{k}, } + c=clean_xml(k.dup) + idx[:xhtml][@r]= + idx[:xhtml][@r] + + %{\n<p class="book_index_lev2">#{c}, } + print "\n\t" + k + ', ' if @md.opt.act[:verbose_plus][:set]==:on + y.each do |z| + if z[:range] + idx[:sst_rel_html_seg][@o]= + idx[:sst_rel_html_seg][@o] + + %{#{Mx[:lnk_o]}#{z[:range]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{z[:seg]}.html##{z[:ocn]}#{Mx[:rel_c]}, } + idx[:sst_rel][@t]= + idx[:sst_rel][@t] + + %{#{Mx[:lnk_o]}#{z[:range]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{z[:ocn]}#{Mx[:rel_c]}, } + idx[:html][@q]= + idx[:html][@q] + + %{<a href="#{z[:seg]}.html##{z[:ocn]}">#{z[:range]}</a>, } + idx[:xhtml][@q]= + idx[:xhtml][@q] + + %{<a href="#{z[:seg]}.xhtml#o#{z[:ocn]}">#{z[:range]}</a>, } + print z[:range] + ', ' if @md.opt.act[:verbose_plus][:set]==:on + elsif z[:ocn] + idx[:sst_rel_html_seg][@o]= + idx[:sst_rel_html_seg][@o] + + %{#{Mx[:lnk_o]}#{z[:ocn]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{z[:seg]}.html##{z[:ocn]}#{Mx[:rel_c]}, } + idx[:sst_rel][@t]= + idx[:sst_rel][@t] + + %{#{Mx[:lnk_o]}#{z[:ocn]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{z[:ocn]}#{Mx[:rel_c]}, } + idx[:html][@q]= + idx[:html][@q] + + %{<a href="#{z[:seg]}.html##{z[:ocn]}">#{z[:ocn]}</a>, } + idx[:xhtml][@q]= + idx[:xhtml][@q] + + %{<a href="#{z[:seg]}.xhtml#o#{z[:ocn]}">#{z[:ocn]}</a>, } + print z[:ocn] + ', ' if @md.opt.act[:verbose_plus][:set]==:on + else p 'error' + end + end + idx[:html][@q]=idx[:html][@q] + '</p>' + idx[:xhtml][@r]=idx[:xhtml][@r] + '</p>' + end + end + end + @x +=1 + end + end + end + print "\n" if @md.opt.act[:verbose_plus][:set]==:on + idx + end + def screen_print(the_idx) + the_idx.each do |i| + i.each do |x| + if x.is_a?(String) + print "\n" + x + ', ' + elsif x.is_a?(Array) + p 'array error? -->' + print x + elsif x.is_a?(Hash) + if x['node_0_terms'].is_a?(Array) + x['node_0_terms'].each do |a| + if a[:range] + print a[:range] + ', ' + elsif a[:ocn] + print a[:ocn] + ', ' + else p 'error' + end + end + end + if x['node_1_subterms'] + x['node_1_subterms'].sort.each do |k,y| + if k !~/node_0_terms/ + print "\n\t" + k + ', ' + y.each do |z| + if z[:range] + print z[:range] + ', ' + elsif z[:ocn] + print z[:ocn] + ', ' + else p 'error' + end + end + end + end + end + end + end + end + end + def output_idx(idx) + if @md.book_idx + path="#{@env.path.output}/#{@md.fnb}" + Dir.mkdir(path) unless FileTest.directory?(path) + puts "#{path}/#{@md.fn[:book_idx_html]} #{__FILE__}::#{__LINE__}" + html_index_file=File.new("#{path}/#{@md.fn[:book_idx_html]}",'w') + idx[:html].each {|x| html_index_file << x } + html_index_file.close + end + end + def clean_and_insert_index(data,sisu_markup_idx) + tuned_file=[] + data.each do |dob| + tuned_file << dob + if dob.obj =~/#{Mx[:br_endnotes]}/ \ + and sisu_markup_idx + sisu_markup_idx.each do |idx| + tuned_file << idx + end + end + end + tuned_file + end + def clean_index(data) #check on use of dob + data.each.map do |para| + para.gsub(/\n*#{@rgx_idx}/m,'') + end + end + end +end +__END__ +#+END_SRC + +** ao_images.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_images.rb" +# <<sisu_document_header>> +module SiSU_AO_Images + class Images + begin + require 'rmagick' + include Magick + rescue LoadError + #SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).mark('rmagic NOT FOUND') + end + def initialize(md,data) + @md,@data=md,data + end + def images + data=@data + @rmgk=false + imagemagick_=true #imagemagick_=SiSU_Env::InfoSettings.new.program?('rmagick') + if imagemagick_ + begin + @rmgk=SiSU_Env::Load.new('rmagick').prog + rescue + @rmgk=false + end + else + if (@md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + '*WARN* use of rmagick is not enabled in sisurc.yml' + ).warn + end + end + data.select do |dob| + unless dob.is ==:table + dob.obj=dob.obj.strip + if dob.obj =~/#{Mx[:lnk_o]}\s*\S+\.(?:png|jpg|gif)(?:\s*|\s+.+)?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)/ + if dob.obj !~/#{Mx[:lnk_o]}\s*\S+\.(?:png|jpg|gif)\s+\d+x\d+/ + m=/#{Mx[:lnk_o]}\s*(\S+\.(?:png|jpg|gif))/ + if imagemagick_ + imgs=dob.obj.scan(m).flatten + img_col=img_row=nil + images=imgs.each do |image| + dir=SiSU_Env::InfoEnv.new(@md.fns) + path_image=[ + dir.path.image_source_include_local, + dir.path.image_source_include_remote, + dir.path.image_source_include + ] + image_path=nil + path_image.each do |img_pth| + image_path=img_pth + break if FileTest.exist?("#{img_pth}/#{image}") + end + if FileTest.exist?("#{image_path}/#{image}") + if @rmgk + img=Magick::ImageList.new("#{image_path}/#{image}") + img_col,img_row=img.columns,img.rows + else + if (@md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + '*WARN* rmagick not present, will attempt to use imagemagick (identify) directly' + ).warn + end + imgk=SiSU_Env::SystemCall.new.imagemagick + gmgk=SiSU_Env::SystemCall.new.graphicsmagick + if imgk or gmgk + if imgk + imgsys=`identify #{image_path}/#{image}`.strip #system call + elsif gmgk + imgsys=`gm identify #{image_path}/#{image}`.strip #system call + end + img_col,img_row=/(\d+)x(\d+)/m.match(imgsys)[1,2] + img_col,img_row=img_col.to_i,img_row.to_i + else + errmsg='imagemagick or graphicsmagick are required to process images' + if @md.opt.act[:no_stop][:set]==:on + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error("#{errmsg}, proceeding (as requested) without image processing") + break + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error("#{errmsg}, STOPPING") + exit + end + end + end + row=((img && defined? img.rows) ? img.rows : img_row) + col=((img && defined? img.columns) ? img.columns : img_col) + if img_col > img_row #landscape + if img_col> 640 + img_col=640 + img_row=((1.00*img_col/col)*row).round + end + else #portrait + if img_col> 640 + img_col=640 + img_row=((1.00*img_col/col)*row).round + end + if img_row > 640 + img_row=640 + img_col=((1.00*img_row/row)*col).round + end + end + dob.obj=dob.obj.gsub(/(#{image})/,"#{image} #{img_col}x#{img_row}") + else + dob.obj=dob.obj. + gsub(/#{Mx[:lnk_o]}\s*(\S+)\.(png|jpg|gif).+?#{Mx[:lnk_c]}(#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)/, + '[ \1 (\2 missing) ]') + end + end + else + images=dob.obj.scan(m) do |image| + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + '*WARN* where image dimensions have not been provided rmagick or imagemagick is required',image + ).warn unless @md.opt.act[:quiet][:set]==:on + end + end + end + end + if dob.obj =~/#{Mx[:lnk_o]}\s*\S+\.(?:png|jpg|gif).+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)/ + dob.obj=dob.obj.gsub(/(#{Mx[:lnk_o]})\s*(\S+\.(?:png|jpg|gif))\s+/i,'\1\2 ') + end + end + dob unless dob.nil? + end + end + end +end +__END__ +imgsys=`identify #{image_path}/#{image}`.strip +#+END_SRC + +** ao_metadata.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_metadata.rb" +# <<sisu_document_header>> +module SiSU_AO_Metadata + class Metadata + def initialize(md,metad) + @md,@metadata=md,metad + l=SiSU_Env::StandardiseLanguage.new(@md.opt.lng).language + language=l[:n] + @tr=SiSU_Translate::Source.new(md,language) + end + def make_para(obj,ocn) + h={ + obj: obj, + ocn: 0 + } + SiSU_AO_DocumentStructure::ObjectPara.new.paragraph(h) + end + def make_heading(obj,ocn,name,lv,ln) + h={ + lv: lv, + ln: ln, + name: name, + obj: obj, + ocn: 0 + } + SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h) + end + def metadata + end + end +end +__END__ +#+END_SRC + +** ao_misc_arrange.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_misc_arrange.rb" +# <<sisu_document_header>> +module SiSU_AO_MiscArrangeText + class SI + def initialize(md,data) + @md,@data=md,data + end + def conditional_headings(para) + para=para.gsub(/^(:?A~)\s*$/,'\1~ @title @author'). #conditional header + gsub(/^((?:[1-9]|:?[A-D])~\S*)\s*$/, + '\1~ [Note: heading marker::required title missing]~#') #conditional header for incorporated document 2004w12 + if para =~/^@\S+?:/ + para=para.gsub(/^@(\S+?):(\s+|$)/, + "#{Mx[:meta_o]}\\1#{Mx[:meta_c]}\\2"). + gsub(/^@(\S+?):([+-])(\s+|$)/, + "#{Mx[:meta_o]}\\1\\2#{Mx[:meta_c]}\\3") + end + para + end + def markup_blocks(para) + def ticks(para) + block_open,block_close,text=nil,nil,nil + if para =~/\A```[ ]+(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block|table).*?\n.+?\n```(?:\s+[~-][#]|\s+\~\{.+?\}\~)?\s*\Z/m + @flag=:close + block_open,text,block_close= + /\A(```[ ]+(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block|table).*?)\n(.+?)\n(```([ ]+[~-][#]|\s+\~\{.+?\}\~)?)\s*\Z/m. + match(para)[1..3] + ((para=~/^```[ ]+table(?:~h)?\s+/) \ + and (para !~/^```[ ]+table(?:~h)?\s+c\d+/)) \ + ? para + : (para=[]; para << block_open << text << block_close) + elsif para =~/\A```[ ]+(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block|table).*?\n.*?\Z/m #look at, study + @flag=:open + block_open,text=/\A(```(?:[ ]+.+?))\n(.*?)\Z/m.match(para)[1,2] + para=[] + if not text.to_s.empty? + para << block_open << text + else + para << block_open + end + elsif para =~/\A.+?\n```(?:\s+\~\{.+?\}\~)?(?:\s+[~-][#])?(\s*=\{.+?\})?\s*\Z/m \ + and @flag==:open + @flag=:close + text,block_close= + /\A(.+?)\n(```(?:\s+\~\{.+?\}\~)?(?:\s+[~-][#])?(?:\s+=\{.+?\})?)\s*\Z/m.match(para)[1,2] + para=[] + if not text.to_s.empty? + para << text.to_s << block_close + else + para << block_close + end + else para + end + para + end + def ticks_remove(para) + unless @md.opt.act[:quiet][:set] ==:on + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + mark("ticks not recognized, ticks removed from pargraph\n#{para}") + end + para=para.gsub(/```[ ]+\S+[ ]*/m,''). + gsub(/```\s*/m,''). + strip + end + def ticks_quote(para) + @flag=:quote_open + text=para + para=[] + if text =~ /```[ ]+quote/m + para << '`:quote_open`' + text=text.gsub(/```[ ]+quote/m,'') + end + text=if text =~/(?:\n|\A)=\{.+?\}/m #exclude book index from indent markup + txt,bkidx,tail=/(.+?)((?:\n|\A)=\{.+?\}$)(.*)/m.match(text).captures + txt=txt.gsub(/(?:\n|\A)([^`\n]+)/m,'_1 \1') + txt + bkidx + tail + else text.gsub(/(?:\n|\A)([^`\n]+)/m,'_1 \1') + end + para << text.gsub(/```/m,'') + if text =~/```/m + @flag=:quote_close + para << '`:quote_close`' + end + para + end + def curly_braces(para) + block_open,block_close,text=nil,nil,nil + para=if para =~/\A(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block|table)\{ .+?\n.+?\n\}(?:code|box|poem|alt|group|block|table)(?: [~-][#])?\s*\Z/m + block_open,text,block_close= + /\A((?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block|table)\{ .+?)\n(.+?)\n(\}(?:code|box|poem|alt|group|block|table)(?: [~-][#])?)\s*\Z/m. + match(para)[1..3] + para=[] + para << block_open << text << block_close + elsif para =~/\A(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block|table)\{ .+?\n.+?\Z/m + block_open,text= + /\A((?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block|table)\{ .+?)\n(.+?)\Z/m. + match(para)[1,2] + para=[] + if not text.to_s.empty? + para << block_open << text + else + para << block_open + end + elsif para =~/\A.+?\n\}(?:code|box|poem|alt|group|block|table)(?: [~-][#])?\s*\Z/m + text,block_close= + /\A(.+?)\n(\}(?:code|box|poem|alt|group|block|table)(?: [~-][#])?)\s*\Z/m. + match(para)[1,2] + para=[] + if not text.to_s.empty? + para << text.to_s << block_close + else + para << block_close + end + else para + end + para + end + para=if (para =~/\A```[ ]+quote/m \ + and @flag !=:open) \ + or @flag==:quote_open + ticks_quote(para) + elsif para =~/\A```[ ]+(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block|table).*?\n.*?\Z/m \ + or @flag==:open + ticks(para) + elsif para =~/```/m + ticks_remove(para) + else + para + end + para=if para =~/^(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|poem|alt|group|block|table)\{|^\}(?:code|box|poem|alt|group|block|table)/m + curly_braces(para) + else + para + end + end + def prepare_text + data=@data + if data[0] =~ /^#!\s*(?:\/usr\/bin\/env sisu|\/usr\/bin\/sisu)/ # remove bang from top #! (however file is stripped, so will be removed provided no content precedes it) + data[0]=data[0].gsub(/^#!\s*\/usr\/bin\/sisu/,''). + gsub(/^#!\s*\/usr\/bin\/env sisu/,'') + end + if data[0] =~ /^(SiSU\s+[\d.]*|sisu-[\d.]+)$/ # SiSU identifier + data[0]=data[0].gsub(/^(SiSU\s*[\d.]*)$/,'% \1'). + gsub(/^(sisu-[\d.]+)$/,'% \1') + end + data.each.map do |para| + para=conditional_headings(para) + markup_blocks(para) + end.flatten + end + end +end +__END__ +#+END_SRC + +** ao_numbering.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_numbering.rb" +# <<sisu_document_header>> +module SiSU_AO_Numbering + class Numbering + attr_accessor :obj,:osp,:ocn,:lv,:name,:index,:comment + @@segments_count=0 + def initialize(md,data,fnx,process) + @md,@data,@fnx,@process=md,data,fnx,process + @obj=@type=@ocn=@lv=@name=@index=@comment=nil + @chosen_seg_names=[] + end + def chosen_seg_names(chosen,chosen_seg_name,dob,md,type) + @chosen_seg_names=if chosen.compact.uniq.length \ + == chosen.compact.length + chosen + else + if md.opt.act[:maintenance][:set]==:on + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green). + mark( + "duplicated auto segment name: #{type} #{chosen}\n" \ + + "#{chosen}\n" \ + + " manually name level 1 segments '1~given_name'\n" \ + + 'filename: ' + md.fns + "\n" \ + + 'heading text: "' + dob.obj + '"' + "\n" \ + + 'duplication: "' + chosen_seg_name + '" (level: ' + dob.lv + '; numbering type: ' + type.to_s + ')' + ) + end + chosen=chosen[0..-2] + chosen_seg_name=auto_numbering_exceptions(chosen,md,dob) + chosen << chosen_seg_name + end + end + def number_of_segments? + if @@segments_count==0 + @data.each do |dob| + if dob.is == :heading \ + and dob.lv == '1' + @@segments_count += 1 + end + end + @@segments_count + else @@segments_count + end + end + def numbering_song + begin + data=@data + data=number_plaintext_para(data) + data=auto_number_heading_ie_title(data.compact) #tr issue + data=ocn(data.compact) #watch + data=xml(data.compact) + data=minor_numbering(data.compact) + if @process==:complete + data,tags_map,ocn_html_seg_map=name_para_seg_filename(data) + end + data=set_heading_top(data) unless @md.set_heading_top + [data,tags_map,ocn_html_seg_map] + ensure + @@segments_count=0 + end + end + def set_tags(tags,tag) + tags=if not tag.empty? \ + and tag !~/^\d+$/ + tag=tag.gsub(/[^a-z0-9._-]/,'') + [tag,tags].flatten + else tags + end + end + def number_plaintext_para(data) + @tuned_file=[] + data.each do |dob| + if (dob.of !=:block \ + && dob.of !=:comment \ + && dob.of !=:layout) \ + && dob.ocn_ #and dob.obj !~ /#{Mx[:gr_o]}Th|#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}/ #FIX + dob.obj=dob.obj.gsub(/(.+)\n/,'\1 ') #messy, but idea is that tables should retain breaks + end + unless dob.obj.is_a?(Array) + dob.obj=dob.obj.gsub(/^\s+/,''). + gsub(/\s$/,"\n") + end + @tuned_file << dob + end + @tuned_file=@tuned_file.flatten + end + def number_sub_heading(dob,num,title_no) + unless dob.obj =~/\d+\.|(?:chapter|article|section|clause)\s+\d+/i #name selection arbitrary, fix + dob.obj=case dob.name + when /-/ then dob.obj.gsub(/^/,"#{title_no} ") + when /^#/ then dob.obj.gsub(/^/,"#{title_no} ") + when /^[a-z_\.]+/ then dob.obj.gsub(/^/,"#{title_no} ") + else + dob.name=title_no if dob.name=~/^$/ #where title contains title number + dob.obj.gsub(/^/,"#{title_no} ") if title_no =~/\d+/ #main, where title number is to be provided #watch changed placement + end + if @md.toc_lev_limit \ + and @md.toc_lev_limit < num + dob.obj=dob.obj.gsub(/^/,'!_ ') #bold line, watch + end + end + dob + end + def heading_tag_clean(heading_tag) + heading_tag=heading_tag. + gsub(/[ ]+/,'_'). + gsub(/["']/,''). + gsub(/[\/]/,'-'). + gsub(/#{Mx[:fa_bold_o]}|#{Mx[:fa_bold_c]}/,''). + gsub(/#{Mx[:fa_italics_o]}|#{Mx[:fa_italics_c]}/,''). + gsub(/#{Mx[:fa_underscore_o]}|#{Mx[:fa_underscore_c]}/,''). + gsub(/#{Mx[:fa_cite_o]}|#{Mx[:fa_cite_c]}/,''). + gsub(/#{Mx[:fa_insert_o]}|#{Mx[:fa_insert_c]}/,''). + gsub(/#{Mx[:fa_strike_o]}|#{Mx[:fa_strike_c]}/,''). + gsub(/#{Mx[:fa_superscript_o]}|#{Mx[:fa_superscript_c]}/,''). + gsub(/#{Mx[:fa_subscript_o]}|#{Mx[:fa_subscript_c]}/,''). + gsub(/#{Mx[:fa_hilite_o]}|#{Mx[:fa_hilite_c]}/,''). + gsub(/#{Mx[:gl_bullet]}/,'') + end + def auto_number_heading_ie_title(data) #also does some segment naming + if defined? @md.make.num_top \ + and @md.make.num_top \ + and @md.make.num_top !~/^$/ + input||=@md.make.num_top + end + num_top=(input ? input.to_i : nil) + t_no1=t_no2=t_no3=0 + if num_top + no1=num_top; no2=(num_top + 1); no3=(num_top + 2) + end + chapter_number_counter=0 + data=data.compact + @tuned_file=data.each.map do |dob| #@md.seg_names << [additions to segment names] + title_no=nil + if dob.is ==:heading \ + && dob.autonum_ \ + and defined? @md.make.num_top \ + and @md.make.num_top !~/^$/ + if dob.lv=='1' \ + and dob.obj =~/^#\s|\s#(?:\s|$)/ + chapter_number_counter +=1 + dob.obj=dob.obj.gsub(/^#\s/,"#{chapter_number_counter} "). + gsub(/#([:,]?\s|[.]?$)/,"#{chapter_number_counter}\\1") + end + if dob.ln==no1 + @subnumber=1 + @subnumber=0 if dob.ln==no1 + end + if dob.ln.to_s =~/^[0-6]/ \ + and not dob.use_ ==:dummy \ + and dob.obj !~/#{Mx[:fa_o]}(?:~#|-#)#{Mx[:fa_c]}/ # <-- fix + if dob.ln==no1 + t_no1+=1; t_no2=0; t_no3=0 + title_no="#{t_no1}" + if @md.seg_names.is_a?(Array) \ + and not @md.seg_names.include?(title_no) + if dob.ln==no1 + dob.name="#{title_no}" if not dob.name + dob.tags=set_tags(dob.tags,title_no) + tag=dob.obj. + gsub(/(Article|Clause|Section|Chapter)\s+/, + "\\1_#{title_no}"). + downcase + tag=heading_tag_clean(tag) + dob.tags=set_tags(dob.tags,tag) + dob.obj=(dob.obj =~/(Article|Clause|Section)\s+/) \ + ? (dob.obj.gsub(/(Article|Clause|Section)\s+/,"\\1 #{title_no} ")) + : (dob.obj.gsub(/^/,"#{title_no}. ")) #fix stop later + end + if dob.ln !=no1 \ + and dob.obj =~/^[\d.]+\s/ #fix -> if the title starts with a numbering scheme, do not auto-number, review + dob.name ="#{title_no}" if not dob.name + dob.tags=set_tags(dob.tags,title_no) + dob.obj=dob.obj.gsub(/^/,"#{title_no}. ") + end + @md.seg_names << title_no + end + if dob.ln!=no1 \ + and dob.name!~/^[a-z_\.]+$/ \ + and dob.obj !~/[A-Z]\.?\s/ #bug -> tmp fix, excludes A. B. C. lettering, but not roman numerals, is arbitrary, review required # not fixed, work on + dob.tags=set_tags(dob.tags,title_no) + dob.obj=dob.obj.gsub(/^/i,"#{title_no}. ") + end + end + if dob.ln==no1 #watch because here you change dob.name + dob.tags=set_tags(dob.tags,"h#{title_no}") + end + if dob.ln==no2 #watch because here you change dob.name + t_no2+=1; t_no3=0 + title_no="#{t_no1}.#{t_no2}" + dob.tags=set_tags(dob.tags,"h#{title_no}") + dob=number_sub_heading(dob,no2,title_no) + end + if dob.ln==no3 #watch because here you change dob.name + t_no3+=1 + title_no="#{t_no1}.#{t_no2}.#{t_no3}" + dob.tags=set_tags(dob.tags,"h#{title_no}") + dob=number_sub_heading(dob,no3,title_no) + end + elsif dob.ln.to_s =~/^[0-6]/ \ + and dob.name =~ /^[\w-]+-/ # endnotes, watch2005# endnotes, watch2005 + dob.tags=set_tags(dob.tags,dob.name) + dob.name.gsub(/^([a-z_\.]+)-$/,'\1') + end + elsif dob.is ==:heading \ + and dob.autonum_ \ + and @md.markup =~/num_extract/ #AS DANGEROUS force enable with document, note already does this type of numbering for cisg, locate and coordinate logic, is currently misplaced in code, chengwei inspired 2004w23/4 + #here lies a bug, as is nil when run from -Dv --update, FIX + if (dob.name.nil? or dob.name.empty?) \ + and dob.ln.to_s =~/^[0-9]/ \ + and dob.obj =~ /^([\d\.]+)/ #risky (must be unique) consider output to 4~~\d instead of 4~\d + dob.name=$1 + dob.tags=set_tags(dob.tags,dob.name) + end + if @md.toc_lev_limit + end + elsif defined? dob.name \ + and dob.name + dob.tags=set_tags(dob.tags,dob.name) + end + dob.tags=dob.tags.uniq if defined? dob.tags + dob + end.flatten + end + def ocn(data) #and auto segment numbering increment + @tuned_file=SiSU_AO_DocumentStructureExtract::OCN.new(@md,data,@fnx,@process).ocn + @tuned_file + end + def xml(data) + @tuned_file=SiSU_AO_DocumentStructureExtract::XML.new(@md,data).dom + @tuned_file + end + def minor_numbering(data) #and auto segment numbering increment + number_small,letter_small=0,0 + letter=%w( a b c d e f g h i j k l m n o p q r s t u v w x y z ) + @tuned_file=data.each.map do |dob| + if dob.of ==:heading \ + || dob.of ==:heading_insert \ + || dob.of ==:para \ + || dob.of ==:block + if dob.is ==:heading \ + and dob.ln.to_s=~/^[0-9]/ #% sub-number system, (baby numbering) reset with any change of major number (more obviously should be placed in number titles, but that is conditionally executed, check and move later) + number_small,letter_small=0,0 + elsif dob.is ==:para + if dob.obj =~/^#[ 1]/ \ + and dob.obj !~/^#\s+(?:~#)?$/ + letter_small=0 + number_small=0 if dob.obj =~ /^#1/ + number_small+=1 + dob.obj=dob.obj.gsub(/^#[ 1]/,"#{number_small}. ") + end + if dob.obj =~/^_# / + dob.obj=dob.obj.gsub(/^_# /,"#{letter[letter_small]}. ") + dob.indent='1' + letter_small+=1 + end + end + end + dob + end.flatten + end + def leading_zeros_fixed_width_number(possible_seg_name) + if possible_seg_name.to_s =~/^([0-9]+?\.|[0-9]+)$/m #!~/[.,:-]+/ + possible_seg_name=possible_seg_name.to_s. + gsub(/\.$/,'') + nl=possible_seg_name.to_s.length + zero='0' + zeros_fixed_width=number_of_segments?.to_s.length + zero_width=(zeros_fixed_width - nl) + zero_width == 0 \ + ? possible_seg_name.to_s + : zero*zero_width + + possible_seg_name.to_s + end + end + def auto_numbering_exceptions(chosen_seg_names_,md,dob) + number_make=case dob.lv.to_i + when 1 + @num_exc={ + t1: @num_exc[:t1] += 1, + t2: 0, + t3: 0, + t4: 0 + } + Mx[:segname_prefix_auto_num_other] + '_' \ + + @num_exc[:t1].to_s + when 2 + @num_exc={ + t1: @num_exc[:t1], + t2: @num_exc[:t2] += 1, + t3: 0, + t4: 0 + } + Mx[:segname_prefix_auto_num_other] + '_' \ + + @num_exc[:t1].to_s + '_' \ + + @num_exc[:t2].to_s + when 3 + @num_exc={ + t1: @num_exc[:t1], + t2: @num_exc[:t2], + t3: @num_exc[:t3] += 1, + t4: 0 + } + Mx[:segname_prefix_auto_num_other] + '_' \ + + @num_exc[:t1].to_s + '_' \ + + @num_exc[:t2].to_s + '_' \ + + @num_exc[:t3].to_s + when 4 + @num_exc[:t4] += 1 + @num_exc={ + t1: @num_exc[:t1], + t2: @num_exc[:t2], + t3: @num_exc[:t3], + t4: @num_exc[:t4] += 1 + } + Mx[:segname_prefix_auto_num_other] + '_' \ + + @num_exc[:t1].to_s + '_' \ + + @num_exc[:t2].to_s + '_' \ + + @num_exc[:t3].to_s + '_' \ + + @num_exc[:t4].to_s + end + end + def check_that_seg_names_are_unique(chosen_seg_names_,chosen_seg_name,type,md,dob) + begin + chosen_seg_names_ << chosen_seg_name + chosen_seg_names_=chosen_seg_names(chosen_seg_names_,chosen_seg_name,dob,md,type) + if chosen_seg_names_.compact.uniq.length \ + == chosen_seg_names_.compact.length + #check that all auto given seg names are unique + chosen_seg_names_=chosen_seg_names(chosen_seg_names_,chosen_seg_name,dob,md,type) + chosen_seg_name + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green). + mark( + "duplicated auto segment name: #{type} #{chosen_seg_name}\n" \ + + "#{chosen_seg_names_}\n" \ + + " manually name level 1 segments '1~given_name'\n" \ + + 'filename: ' + md.fns + "\n" \ + + 'heading text: "' + dob.obj + '"' + "\n" \ + + 'duplication: "' + chosen_seg_name + '" (level: ' + dob.lv + '; numbering type: ' + type.to_s + ')' + ) + chosen_seg_name=auto_numbering_exceptions(chosen_seg_names_,md,dob) + check_that_seg_names_are_unique(chosen_seg_names_,chosen_seg_name,:exception,md,dob) + end + rescue + end + end + def auto_seg_name(possible_seg_name,heading_num_is,dob,type) + prefix=case type + when :auto then Mx[:segname_prefix_auto_num_provide] + when :extract then Mx[:segname_prefix_auto_num_extract] + else '_'*dob.lv.to_i #should not occur + end + if possible_seg_name =~/^[0-9]+?\.$/m #!~/[.,:-]+/ + possible_seg_name=possible_seg_name. + gsub(/\.$/,'') + end + @chosen_seg_name= + if dob.lv=='4' \ + and possible_seg_name.to_s =~/^[0-9]+(?:[.,:-][0-9]){3}/m + possible_seg_name=possible_seg_name.to_s. + gsub(/(?:[:,-]|\W)/,'.'). + gsub(/\.$/,'') + prefix + possible_seg_name + elsif dob.lv=='3' \ + and possible_seg_name.to_s =~/^[0-9]+(?:[.,:-][0-9]){2}/m + possible_seg_name=possible_seg_name.to_s. + gsub(/(?:[:,-]|\W)/,'.'). + gsub(/\.$/,'') + prefix + possible_seg_name + elsif dob.lv=='2' \ + and possible_seg_name.to_s =~/^[0-9]+(?:[.,:-][0-9]){1}/m + possible_seg_name=possible_seg_name.to_s. + gsub(/(?:[:,-]|\W)/,'.'). + gsub(/\.$/,'') + prefix + possible_seg_name + elsif dob.lv=='1' \ + and possible_seg_name.to_s =~/^[0-9]+[:,-]?$/m + if possible_seg_name.to_i <= heading_num_is.to_i + prefix + leading_zeros_fixed_width_number(possible_seg_name) + else + possible_seg_name=possible_seg_name.to_s. + gsub(/(?:[:,-]|\W)/,'.'). + gsub(/\.$/,'') + prefix + possible_seg_name + end + else + @chosen_seg_name=auto_numbering_exceptions(@chosen_seg_names,md,dob) + end + check_that_seg_names_are_unique(@chosen_seg_names,@chosen_seg_name,type,@md,dob) + end + def set_name_and_tags(dob,possible_seg_name) + if @md.seg_names.is_a?(Array) \ + and not @md.seg_names.include?(possible_seg_name) + dob.name=possible_seg_name + dob.tags=set_tags(dob.tags,dob.name) + @md.seg_names << possible_seg_name + elsif (@md.opt.act[:verbose_plus][:set]==:on \ + or @md.opt.act[:maintenance][:set]==:on) + puts 'warn, there may be a conflicting numbering scheme' + end + end + def name_para_seg_filename(data) #segment naming, remaining + # paragraph name/numbering rules + # manual naming overrides, manual naming may be + # alpha-numeric characters mixed, + # numeric only (a number), if + # all segments have been named, + # the numbers used are over 1000 or + # it is not minded that auto-numbering uses a funny scheme for naming segments (not yet implemented) + # [for now a warning is printed for such documents on use of maintenance or very-verbose flag] + # auto-naming takes the form of giving numbers to segments + # the rules for which are as follows + # if the title/heading text starts with a numeric, then that is used (1 3.1 3rd etc.) + # otherwise the level 4 segment number from the embedded document structure info is used + # if there is none a sequential number is designated, preceded by an underscore + @tuned_file,@unique_auto_name=[],[] + tags={} + @art_filename_auto=0 + @counter=1 + if not @md.seg_autoname_safe \ + and (@md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + puts 'manual segment names, numbers used as names, risk warning (segmented html)' + end + ocn_html_seg=[] + @num_exc={ t1: 0, t2: 0, t3: 0, t4: 0 } + data.each do |dob| + if dob.is==:heading \ + && dob.ln \ + and dob.ln.to_s =~/^[4-7]/ + heading_num_is=/^\d+:(\d+);\d/m.match(dob.node)[1] + if dob.ln==4 \ + and not dob.name \ + and not @md.set_heading_seg + @md.set_heading_seg=true + end + if dob.name !~/^\S+/ \ + and dob.ln.to_s =~/^[5-7]/ \ + and dob.obj =~/^\s*(?:\S+\s+)?([0-9]+(?:[.,:-][0-9])+)/m + #heading starts with a recognised numeric + #or word followed by a recognised numeric construct, + #use that as name + if dob.ln==7 \ + and dob.obj =~/^\s*(?:\S+\s+)?([0-9]+(?:[.,:-][0-9]){3})/m + possible_seg_name=$1. + gsub(/(?:[:,-]|\W)/,'.'). + gsub(/\.$/,'') + possible_seg_name= + auto_seg_name(possible_seg_name,heading_num_is,dob,:extract) + set_name_and_tags(dob,possible_seg_name) + elsif dob.ln==6 \ + and dob.obj =~/^\s*(?:\S+\s+)?([0-9]+(?:[.,:-][0-9]){2})/m + possible_seg_name=$1. + gsub(/(?:[:,-]|\W)/,'.'). + gsub(/\.$/,'') + possible_seg_name= + auto_seg_name(possible_seg_name,heading_num_is,dob,:extract) + set_name_and_tags(dob,possible_seg_name) + elsif dob.ln==5 \ + and dob.obj =~/^\s*(?:\S+\s+)?([0-9]+(?:[.,:-][0-9]){1})/m + possible_seg_name=$1. + gsub(/(?:[:,-]|\W)/,'.'). + gsub(/\.$/,'') + possible_seg_name= + auto_seg_name(possible_seg_name,heading_num_is,dob,:extract) + set_name_and_tags(dob,possible_seg_name) + end + end + if dob.ln==4 + if dob.name !~/^\S+/ \ + and dob.obj =~/^\s*(?:\S+\s+)?([0-9]+)/m + #heading starts with a recognised numeric + #or word followed by a recognised numeric construct, + #use that as name + possible_seg_name=$1 + possible_seg_name= + auto_seg_name(possible_seg_name,heading_num_is,dob,:extract) + set_name_and_tags(dob,possible_seg_name) + end + if dob.name + #extract segment name from embedded document structure info + if @md.seg_names.is_a?(Array) \ + and not @md.seg_names.include?(dob.name) + dob.tags=set_tags(dob.tags,dob.name) + @md.seg_names << dob.name + end + else + #if no segment name, + #provide a numerical one + @art_filename_auto+=1 + possible_seg_name= + auto_seg_name(@art_filename_auto,heading_num_is,dob,:auto) + if @md.seg_names.is_a?(Array) \ + and not @md.seg_names.include?(possible_seg_name) + dob.name=possible_seg_name + dob.tags=set_tags(dob.tags,dob.name) + @md.seg_names << possible_seg_name + else puts 'segment name (numbering) error' + end + end + if not dob.name #should not occur + puts "e r r o r -\t#{__FILE__}::#{__LINE__}\n#{dob.inspect}" + end + end + end + if (dob.is ==:heading \ + || dob.is ==:heading_insert) \ + && dob.ln==4 + @seg=dob.name + end + @tuned_file << if dob.is==:heading \ + && (@md.pagenew || @md.pagebreak || @md.pageline) + m=dob.ln.to_s + dob_tmp=[] + if @md.pagenew.inspect =~/#{m}/ + dob_tmp << + SiSU_AO_DocumentStructure::ObjectLayout.new.break(Hx[:br_page_new]) << + dob + elsif @md.pagebreak.inspect =~/#{m}/ + dob_tmp << + SiSU_AO_DocumentStructure::ObjectLayout.new.break(Hx[:br_page]) << + dob + elsif @md.pageline.inspect =~/#{m}/ + dob_tmp << + SiSU_AO_DocumentStructure::ObjectLayout.new.break(Hx[:br_page_line]) << + dob + end + unless dob_tmp.length > 0; dob + else dob_tmp + end + else dob + end + if defined? dob.ocn \ + and dob.ocn + @segname=((dob.is==:heading || dob.is==:heading_insert) && dob.ln==4 && (defined? dob.name)) \ + ? (dob.name) + : @segname + tags["#{dob.ocn}"]={ segname: @segname } + ocn_html_seg[dob.ocn]=if (dob.is==:heading || dob.is==:heading_insert) + if dob.ln.to_s =~/[0-3]/ + { + seg: nil, + level: dob.ln, + } + #elsif dob.ln =~/[4-6]/ + else + { + seg: @seg, + level: dob.ln, + } + end + else + { + seg: @seg, + level: nil, + } + end + end + dob.tags=dob.tags.uniq if defined? dob.tags + if defined? dob.tags \ + and dob.tags.length > 0 + #@segname=((dob.is=='heading'|| dob.is=='heading_insert') && dob.ln==4 && (defined? dob.name)) \ + #? (dob.name) \ + #: @segname + dob.tags.each do |y| + tags[y]={ ocn: dob.ocn.to_s, segname: @segname } + end + end + dob + end + ocn_html_seg.each_with_index do |ocn,i| + if ocn \ + and ocn[:level].to_s=~/[1-3]/ + (1..4).each do |x| + if ocn_html_seg[i+x] \ + and ocn_html_seg[i+x][:level]==4 + ocn[:seg]=ocn_html_seg[i+x][:seg] + end + end + end + end + if @md.seg_names.length > 0 + @md.set_heading_seg=true + end + tuned_file=@tuned_file.flatten + [tuned_file,tags,ocn_html_seg] + end + def set_heading_top(data) #% make sure no false positives + unless @md.set_heading_top + if (@md.opt.act[:verbose_plus][:set]==:on \ + or @md.opt.act[:maintenance][:set]==:on) + puts "\tdocument contains no top level heading, (will have to manufacture one)" + end + @tuned_file=[] + data.each do |t_o| + unless @md.set_heading_top + if t_o !~/^(?:#{Rx[:meta]}|@\S+:)\s/m \ + and t_o !~/\A\s*\Z/m + @md.set_heading_top=true + if defined? @md.title \ + and @md.title \ + and defined? @md.title.full \ + and defined? @md.creator \ + and @md.creator + head=@md.title.main \ + ? ([@lv='1',@obj=@md.title.main]) + : ([@lv='1',@obj='[no title provided]']) + @tuned_file << head + end + end + end + @tuned_file << t_o + end + @tuned_file=@tuned_file.flatten + end + end + def set_heading_seg(data) #% make sure no false positives + unless @md.set_heading_seg + if (@md.opt.act[:verbose_plus][:set]==:on \ + or @md.opt.act[:maintenance][:set]==:on) + puts "\tdocument contains no segment level, (will have to manufacture one)" + end + @tuned_file=[] + data.each do |dob| + unless @md.set_heading_seg + if defined? dob.ln and dob.ln.to_s !~/^[0-3]/m \ + and dob.obj !~/\A\s*\Z/m \ + and dob.is !=:layout + @md.set_heading_seg=true + head=@md.title.main \ + ? (dob.ln,dob.name,dob.obj=4,'seg',@md.title.main) + : (dob.ln,dob.name,dob.obj=4,'seg','[segment]') + @tuned_file << head + end + end + @tuned_file << dob + end + @tuned_file=@tuned_file.flatten + end + end + def set_header_title(data) #% make sure no false positives + unless @md.set_header_title + if (@md.opt.act[:verbose_plus][:set]==:on \ + or @md.opt.act[:maintenance][:set]==:on) + puts "\t no document title provided, (will have to manufacture one)" + end + @tuned_file=[] + data.each do |t_o| + unless @md.set_header_title + if t_o !~/^%{1,2}\s/m \ + and t_o !~/\A\s*\Z/m + @tuned_file << + "#{Mx[:meta_o]}title#{Mx[:meta_c]} #{@md.heading_seg_first}" + @md.title.main=@md.heading_seg_first + @md.set_header_title=true + end + end + @tuned_file << t_o + end + @tuned_file=@tuned_file.flatten + end + end + end +end +__END__ +#+END_SRC + +** ao_persist.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_persist.rb" +# <<sisu_document_header>> +module SiSU_AO_Persist + class Persist + @@persistance=nil + attr_accessor :fns, :ao_arr, :idx_arr_sst, :idx_arr_tex, :idx_arr_html, :idx_arr_xhtml, :map_arr_nametags, :map_arr_ocn_htmlseg + def initialize(args=nil) + @@persistance=args=(args ? args : (@@persistance || persist_init_hash_values)) + @fns=args[:fns] + @ao_arr=args[:ao_arr] + @idx_arr_sst=args[:idx_arr_sst] + @idx_arr_tex=args[:idx_arr_tex] + @idx_arr_html=args[:idx_arr_html] + @idx_arr_xhtml=args[:idx_arr_xhtml] + @map_arr_nametags=args[:map_arr_nametags] + @map_arr_ocn_htmlseg=args[:map_arr_ocn_htmlseg] + end + def fns + @fns + end + def ao_arr + @ao_arr + end + def idx_arr_sst + @idx_arr_sst + end + def idx_arr_tex + @idx_arr_tex + end + def idx_arr_html + @idx_arr_html + end + def idx_arr_xhtml + @idx_arr_xhtml + end + def map_arr_nametags + @map_arr_nametags + end + def map_arr_ocn_htmlseg + @map_arr_ocn_htmlseg + end + def persist_init_hash_values + { + fns: nil, + ao_arr: [], + idx_arr_sst: [], + idx_arr_tex: [], + idx_arr_html: [], + idx_arr_xhtml: [], + map_arr_nametags: [], + map_arr_ocn_htmlseg: [], + } + end + def persist_init + @@persistance=nil + Persist.new(persist_init_hash_values) + end + end + class PersistDocStructExt + @@persist=nil + attr_accessor :ocn, :lng, :lng_is, :code, :lngsyn, :poem, :block, :box, :group, :alt, :quote, :table, :table_to + def initialize(args=nil) + @@persist=args=(args ? args : (@@persist || persist_init_hash_values)) + @ocn=args[:ocn] + @lng=args[:lng] + @lng_is=args[:lng_is] + @code=args[:code] + @lngsyn=args[:lngsyn] + @poem=args[:poem] + @block=args[:block] + @box=args[:box] + @group=args[:group] + @alt=args[:alt] + @quote=args[:quote] + @table=args[:table] + @table_to=args[:table_to] + end + def ocn + @ocn + end + def lng + @lng + end + def lng_is + @lng_is + end + def code + @code + end + def lngsyn + @lngsyn + end + def poem + @poem + end + def block + @block + end + def box + @box + end + def group + @group + end + def alt + @alt + end + def quote + @quote + end + def table + @table + end + def table_to + @table_to + end + def persist_init_hash_values + { + ocn: :on, + lng: :off, + lng_is: :doc_default, + code: :off, + lngsyn: :txt, + poem: :off, + block: :off, + box: :off, + group: :off, + alt: :off, + quote: :off, + table: :off, + table_to: :off, + } + end + def persist_init + @@persist=nil + PersistDocStructExt.new(persist_init_hash_values) + end + end +end +__END__ +#+END_SRC + +** ao_syntax.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_syntax.rb" +# <<sisu_document_header>> +module SiSU_AO_Syntax + class Words + def initialize(line,md,mkp) + @line,@md,@mkp=line,md,mkp + end + end + class Markup + def initialize(md='',data='',biblio=[]) + @md,@data,@bibliography=md,data,biblio + @data_new=[] + url_and_stub=SiSU_Env::InfoEnv.new.url + @output_url="#{url_and_stub.remote}" + @env=SiSU_Env::InfoEnv.new + emph_set=if defined? @md.emphasis_set_to \ + and not @md.emphasis_set_to.nil? + @md.emphasis_set_to + else @env.markup_emphasis + end + @emph=case emph_set + when /bold/ + emph_italics=false + { o: Mx[:fa_bold_o], c: Mx[:fa_bold_c] } + when /italics/ + emph_italics=true + { o: Mx[:fa_italics_o], c: Mx[:fa_italics_c] } + when /underscore/ + emph_italics=false + { o: Mx[:fa_underscore_o], c: Mx[:fa_underscore_c] } + else p __LINE__.to_s + '::' + __FILE__ + end + @http_m=%r{\{.+?\}https?://\S+|https?:\S+|:\S+|\.\.\/\S+|#\S+|\S+?\.png\b|[*]~\S+|^#{Mx[:meta_o]}.+|#{Mx[:gr_o]}(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|block|group|alt|verse)(?:-end)?#{Mx[:gr_c]}|#{Mx[:fa_o]}:br#{Mx[:fa_c]}} + @manmkp_ital=emph_italics \ + ? '[i/*]\\{.+?\\}[i/*]' + : '[i/]\\{.+?\\}[i/]' + tail_m_ital=%q{(?:\s|'s\b|[.,;:?!'")]|~\^|~\\\{\s|$)} + tail_m_bold=%{(?:(?:#{Mx[:fa_italics_c]})?(?:\s|'s\b|[.,;:?!'")]|~\^|~\\\{\s|$))?} + bold_line=%{^!_\s.+?(?:#{Mx[:br_line]}|\n|$)} + #ital_line=%{^/_\s.+?(?:#{Mx[:br_line]}|\n|$)} #not implemented + @line_scan_ital=if defined? @md.italics_match_list[:str] + /#{@http_m}|#{bold_line}|#{@manmkp_ital}#{tail_m_ital}|#{@md.italics_match_list[:str]}#{tail_m_ital}|\S+|\n/i + end + @manmkp_bold=emph_italics \ + ? '^!_\s.+?(?:\n|$)|[!b]\\{.+?\\}[*!b]|[*!][a-zA-Z0-9\-_]+[!]' + : '^!_\s.+?(?:\n|$)|[*!b]\\{.+?\\}[*!b]|[*!][a-zA-Z0-9\-_]+[*!]' + @line_scan_bold=if defined? @md.bold_match_list[:str] \ + and @md.bold_match_list[:str] + /#{@http_m}|#{bold_line}|(?:#{@manmkp_bold}|#{@md.bold_match_list[:str]})#{tail_m_bold}|\S+|\n/i + end + end + def songsheet + @data=@data.compact + @data.each do |dob| + dob=breaks(dob) + dob=if @md.sem_tag then sem(dob) else dob end #revisit + dob=line_actions(dob) + dob=paragraph_set(dob) + dob=substitutions(dob) + dob=wordlist_italics(dob) + dob=wordlist_bold(dob) + dob=bodymarkup(dob) + @data_new << dob unless dob.nil? + end + @data_new + end + def sem(dob) #revisit + dob=SiSU_Sem::Tags.new(dob,@md).rm.all + end + def breaks(dob) + if dob.is !=:meta \ + && dob.is !=:comment \ + && dob.is !=:code \ + && dob.is !=:table + dob.obj=dob.obj. + gsub(/^-\\\\-\s*$/,"#{Mx[:br_page]}"). + gsub(/^=\\\\=\s*$/,"#{Mx[:br_page_new]}"). + gsub(/ \\\\(?: |$)/,"#{Mx[:br_line]}"). + gsub(/(?:<:?pb>)/,"#{Mx[:br_page]}"). # depreciated + gsub(/(?:<:?pn>)/,"#{Mx[:br_page_new]}"). # depreciated + gsub(/(?:<:?br>|<br \/>)/,"#{Mx[:br_line]}"). # depreciated + gsub(/(?:^-\.\.-\s*$)/,"#{Mx[:br_page_line]}") + end + dob + end + def wordlist_italics(dob) + dob=dob.dup + if (defined? @md.italics_match_list[:str] \ + and @md.italics_match_list[:str]) + dob.obj=if dob.is !=:meta \ + && dob.is !=:heading \ + && dob.is !=:heading_insert \ + && dob.is !=:code \ + && dob.is !=:layout \ + && dob.is !=:comment + word=dob.obj.scan(@line_scan_ital) + word=word.flatten.compact + line_array=[] + word.each do |w| + unless /#{@manmkp_ital}|#{@http_m}/.match(w) + if defined? @md.italics_match_list[:regx] \ + and @md.italics_match_list[:regx] + w=w.gsub(@md.italics_match_list[:regx], + "#{Mx[:fa_italics_o]}\\1#{Mx[:fa_italics_c]}") + else w + end + end + line_array << w + end + line_array.join(' ') + else dob.obj + end + end + dob + end + def embolden(given) + given=given. + gsub(/^!_\s+((?:\{|#{Mx[:lnk_o]})(?:~^ )?.+?(?:\}|#{Mx[:lnk_o]})https?:\/\/\S+.*?)([#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}])/, + "#{Mx[:fa_bold_o]} \\1 #{Mx[:fa_bold_c]}\\2"). + gsub(/^!_\s+((?:\{|#{Mx[:lnk_o]})(?:~^ )?.+?(?:\}|#{Mx[:lnk_o]})https?:\/\/\S+.*)/, + "#{Mx[:fa_bold_o]} \\1 #{Mx[:fa_bold_c]}"). + gsub(/(?:^!_|^#{Mx[:lv_o]}[7-9]:\S*?#{Mx[:lv_c]})\s*(.+?)([#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}])/, + "#{Mx[:fa_bold_o]}\\1#{Mx[:fa_bold_c]}\\2"). + gsub(/(?:^!_|^#{Mx[:lv_o]}[7-9]:\S*?#{Mx[:lv_c]})\s*(.+?)\s+((?:[*]~\S+\s*)+)/, + "#{Mx[:fa_bold_o]}\\1#{Mx[:fa_bold_c]}\\2"). + gsub(/(?:^!_|^#{Mx[:lv_o]}[7-9]:\S*?#{Mx[:lv_c]})\s*(.+?)\s*([~-]#)$/, + "#{Mx[:fa_bold_o]}\\1#{Mx[:fa_bold_c]}\\2"). + gsub(/(?:^!_\s+|^#{Mx[:lv_o]}[7-9]:\S*?#{Mx[:lv_c]}\s*)(.*)?\s*$/, + "#{Mx[:fa_bold_o]}\\1#{Mx[:fa_bold_c]}") + end + def italicise(given) + given=given. + gsub(/^\/_\s*(.+?)([#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}])/, + "#{Mx[:fa_italics_o]}\\1#{Mx[:fa_italics_c]}\\2"). + gsub(/^\/_\s*(.+?)\s+((?:[*]~\S+\s*)+)/, + "#{Mx[:fa_italics_o]}\\1#{Mx[:fa_italics_c]}\\2"). + gsub(/^\/_\s*(.+?)\s*([~-]#)$/, + "#{Mx[:fa_italics_o]}\\1#{Mx[:fa_italics_c]}\\2"). + gsub(/^\/_\s+(.*)?\s*$/, + "#{Mx[:fa_italics_o]}\\1#{Mx[:fa_italics_c]}") + end + def line_actions(dob) + dob.obj=if (dob.is !=:heading \ + && dob.is !=:heading_insert \ + && dob.is !=:comment \ + && dob.is !=:meta) \ + and dob.obj =~ /^!_\s+/ + embolden(dob.obj) + elsif dob.obj =~ /^\/_\s+/ + italicise(dob.obj) + else dob.obj + end + dob + end + def paragraph_set(dob) + dob.obj=if dob.is !=:meta \ + && dob.is !=:heading \ + && dob.is !=:heading_insert \ + && dob.is !=:code \ + && dob.is !=:comment \ + && dob.is !=:table + dob.obj.gsub(/\n/m,' '). + gsub(/ \s+/m,' ') + else dob.obj + end + dob + end + def substitutions(dob) + dob=dob.dup + dob=if @md.flag_auto_biblio \ + and @bibliography.length > 0 + dob=if dob.is !=:meta \ + && dob.is !=:heading_insert \ + && dob.is !=:code \ + && dob.is !=:comment \ + && dob.is !=:table + @bibliography.each do |c| + if c[:id] and not c[:id].nil? and not c[:id].empty? + dob.obj=dob.obj.gsub(/#{c[:id]}/mi,c[:short_name]) + end + end + dob + else dob + end + dob + else dob + end + dob=if defined? @md.substitution_match_list[:match_and_replace] \ + and @md.substitution_match_list[:match_and_replace].is_a?(Array) + dob=if dob.is !=:meta \ + && dob.is !=:heading_insert \ + && dob.is !=:code \ + && dob.is !=:comment \ + && dob.is !=:table + if dob.obj =~/#{@md.substitution_match_list[:matches]}/ + @md.substitution_match_list[:match_and_replace].each do |x| + dob.obj=if x[:case_s]==:i + dob.obj.gsub(/#{x[:match]}/mi,x[:replace]) + else + dob.obj.gsub(/#{x[:match]}/m,x[:replace]) + end + end + end + dob + else dob + end + dob + else dob + end + end + def wordlist_bold(dob) + dob=dob.dup + if (defined? @md.bold_match_list[:str] \ + and @md.bold_match_list[:str]) + dob.obj=if dob.is !=:meta \ + && dob.is !=:heading \ + && dob.is !=:heading_insert \ + && dob.is !=:code \ + && dob.is !=:comment \ + && dob.is !=:table + line_array=[] + word=dob.obj.scan(@line_scan_bold) + word=word.flatten.compact + word.each do |w| + unless /#{@manmkp_bold}|#{@http_m}/.match(w) + if defined? @md.bold_match_list[:regx] \ + and @md.bold_match_list[:regx] #document header: @bold: [bold word list] + w=w.gsub(@md.bold_match_list[:regx], + "#{Mx[:fa_bold_o]}\\1#{Mx[:fa_bold_c]}") + end + else + w=if w =~ /(?:^!_|^#{Mx[:lv_o]}[7-9]:\S*?#{Mx[:lv_c]})\s+/ + embolden(w) #bold paragraph/emphasize #may wish to remove think about 7{ 8{ conversion not satisfactory, as information is lost! + elsif w =~/^\/_\s+/ + italicise(w) + else w + end + end + line_array << w + end + line_array.join(' ') + else dob.obj + end + else + dob.obj=if dob.is==:heading \ + and dob.ln.to_s =~/[7-9]/ + embolden(dob.obj) + else dob.obj + end + end + dob + end + def fontface_lines(dob,leader) + while (dob.obj =~/#{Mx[:br_nl]}/ \ + and dob.obj =~/(?:#{leader})([*!\/_#])\{(.+?)\}\1/m) \ + and $2 =~/#{Mx[:br_nl]}/ + dob=if dob.obj =~/#{Mx[:br_nl]}/ \ + and dob.obj =~/(#{leader})([*!\/_#])\{(.+?)\}\2/m + lead,fce,txt=$1,$2,$3 + dob=if txt =~/#{Mx[:br_nl]}/ + lead_break=if dob.obj =~/^#{Mx[:br_nl]}/ + dob.obj=dob.obj.sub(/^#{Mx[:br_nl]}/,'') + Mx[:br_nl] + else '' + end + txt="#{lead_break}#{fce}\{" + txt.split(Mx[:br_nl]).join("\}#{fce}#{Mx[:br_nl]}#{fce}\{") + "\}#{fce}" + dob.obj=dob.obj. + sub(/(?:^|#{Mx[:gl_c]}|\s+|['"]|[#{Mx[:nbsp]}#{Mx[:fa_o_c]}#{Mx[:fa_c]}#{Mx[:lnk_o]}#{Mx[:br_nl]}#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:tc_c]}#{Mx[:tc_p]}]|[\(\[\{]|\>)([*!\/_#])\{.+?\}\1/m, + "#{lead}#{txt}") + dob + else dob + end + end + dob + end + dob + end + def fontface(dob) + leader=/^|#{Mx[:gl_c]}|\s+|['"]|[#{Mx[:nbsp]}#{Mx[:fa_o_c]}#{Mx[:fa_c]}#{Mx[:lnk_o]}#{Mx[:br_nl]}#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:tc_c]}#{Mx[:tc_p]}]|[\(\[\{]|[、。「‹«¿¡]|\>/ + dob=fontface_lines(dob,leader) + dob.obj=dob.obj. + gsub(/(#{leader})\*\{(.+?)\}\*/m, + "\\1#{@emph[:o]}\\2#{@emph[:c]}"). #emphasis + gsub(/(#{leader})!\{(.+?)\}!/m, + "\\1#{Mx[:fa_bold_o]}\\2#{Mx[:fa_bold_c]}"). #bold + gsub(/(#{leader})\/\{(.+?)\}\//m, + "\\1#{Mx[:fa_italics_o]}\\2#{Mx[:fa_italics_c]}"). #italics + gsub(/(#{leader})_\{(.+?)\}_/m, + "\\1#{Mx[:fa_underscore_o]}\\2#{Mx[:fa_underscore_c]}"). #underscore + gsub(/(#{leader})#\{(.+?)\}#/m, + "\\1#{Mx[:fa_monospace_o]}\\2#{Mx[:fa_monospace_c]}"). #monospace + gsub(/(^|#{Mx[:gl_c]}|\s+|['"]|[#{Mx[:nbsp]}#{Mx[:fa_o_c]}#{Mx[:fa_c]}]|\(|\>)\"\{(.+?)\}\"/m, + "\\1#{Mx[:fa_cite_o]}\\2#{Mx[:fa_c_o]}cite#{Mx[:fa_c]}"). #cite /blockquote? + gsub(/(^|[^\\])\^\{(.+?)\}\^/m, + "\\1#{Mx[:fa_superscript_o]}\\2#{Mx[:fa_superscript_c]}"). #superscript + gsub(/(^|[^\\]),\{(.+?)\},/m, + "\\1#{Mx[:fa_subscript_o]}\\2#{Mx[:fa_subscript_c]}"). #subscript + gsub(/(^|#{Mx[:gl_c]}|\s+|['"]|#{Mx[:nbsp]}|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\+\{(.+?)\}\+/m, + "\\1#{Mx[:fa_insert_o]}\\2#{Mx[:fa_insert_c]}"). #inserted text + gsub(/(^|#{Mx[:gl_c]}|\s+|['"]|#{Mx[:nbsp]}|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)-\{(.+?)\}-/m, + "\\1#{Mx[:fa_strike_o]}\\2#{Mx[:fa_strike_c]}"). #strikethrough - deleted text + gsub(/(^|#{Mx[:gl_c]}|\s+|['"]|#{Mx[:nbsp]}|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>|\d+)\^(\S+?)\^/, + "\\1#{Mx[:fa_superscript_o]}\\2#{Mx[:fa_superscript_c]}") #superscript single word, watch digit added + dob + end + def bodymarkup(dob) + # << http://www.jus.uio.no/sisu/sisu_markup_table/markup >> + # See: data/sisu/sample/document_samples_sisu_markup/ + ## fontface + # *{emphasis}* e{emphasis}e <strong>emphasis</strong> + # !{bold text}! b{bold}b <b>bold text</b> + # _{underline}_ u{underline}u <u>underline</u> + # /{italics}/ i{italics}i <i>italics</i> + # "{citation}" c{citation}c <cite>citation</cite> #blockquote? + # ^{superscript}^ <sup>superscript</sup> + # ,{subscript}, <sub>subscript</sub> + # +{inserted text}+ <ins>inserted text</ins> + # -{deleted text}- <del>deleted text</del> + # #{monospace text}# + # + # {url address}:url + # {image.png}imageurl + # {image.png}png + # ~{endnote}~ + # !_ #bold/emphasise paragraph + # _" #blockquote paragraph + # _1 <:i1> #indent paragraph 1 step + # _2 <:i2> #indent paragraph 2 steps + # _3 <:i3> #indent paragraph 3 steps + # _4 <:i4> #indent paragraph 4 steps + # _* #bullet (list) ● + # _1* #bullet (list) indented + # _1* #bullet (list) indented + # # #numbered (list) level 1 + # _# #numbered (list) level 2 + dob=dob.dup + if dob.is !=:meta \ + && dob.is !=:comment \ + && dob.is !=:code \ + && dob.is !=:table + line_array=[] + word=dob.obj.scan(/\S+|\n/) #unless line =~/^(?:#{Mx[:meta_o]}|%+\s)/ #visit + if word + word.each do |w| # _ - / # | : ! ^ ~ + unless w =~/~\{|\}~|~\[|\]~|^\^~|~\^|\*~\S+|~#|\{t?~|\{table|https?:\/\/\S+/ # do something earlier about table!! + w=w.gsub(/\\?~/,"#{Mx[:gl_o]}#126#{Mx[:gl_c]}") #escaped special character + end + w=w.gsub(/^\<$/, + "#{Mx[:gl_o]}#lt#{Mx[:gl_c]}").gsub(/^\>$/,"#{Mx[:gl_o]}#gt#{Mx[:gl_c]}") #escaped special character + line_array << w + end + dob.obj=line_array.join(' ') + dob.obj=dob.obj.strip + end + dob.obj=dob.obj. + gsub(/^([*#.-]{1,12})$/,'\1 ~#'). #ocn off for these paragraph separators + gsub(/~\{(.+?)\}~/m,Mx[:en_a_o] + '\1' + Mx[:en_a_c]). + gsub(/~\[([^*+].+?)\]~/m,Mx[:en_b_o] + '* \1' + Mx[:en_b_c]). #default if markup does not specify + gsub(/~\[(.+?)\]~/m,Mx[:en_b_o] + '\1' + Mx[:en_b_c]) + if dob.is ==:heading \ + and dob.ln ==0 + dob.obj=dob.obj.gsub(/\s*@title\b/," #{@md.title.full}") + dob.obj=if defined? @md.creator.author \ + and @md.creator.author + dob.obj.gsub(/\s+(?:@creator|@author)/,",#{Mx[:br_line]}#{@md.creator.author}") + else dob.obj.gsub(/\s+(?:@creator|@author)/,'') + end + end + if defined? @md.title \ + and @md.title \ + and defined? @md.title.full \ + and defined? @md.creator \ + and @md.creator + if dob.is ==:heading + dob.obj=dob.obj.gsub(/^\s*@title\s*$/,@md.title.full) if dob.lv =~/1/ + dob.obj=if dob.lv =~/[23]/ \ + and defined? @md.creator.author \ + and @md.creator.author + dob.obj. + gsub(/^\s*(?:(by\s+)?(?:@creator|@author))\s*$/, + "\\1#{@md.creator.author}") + else dob.obj.gsub(/^\s*(?:(by\s+)?(?:@creator|@author))\s*$/,'\1') + end + end + end + dob.obj=dob.obj.gsub(/<(https?:\/\/\S+?)>/,'< \1 >'). #catch problem markup + gsub(/<:=(\S+?)>/,'{ c_\1.png 14x14 }image'). + gsub(/<!(\S+)!>/,'<:\1>'). #escaped special character + gsub(/ /,"#{Mx[:nbsp]}"). #escaped special character + gsub(/\\~/,"#{Mx[:gl_o]}#126#{Mx[:gl_c]}"). #escaped special character + gsub(/\\\{/,"#{Mx[:gl_o]}#123#{Mx[:gl_c]}"). #escaped special character + gsub(/\\\}/,"#{Mx[:gl_o]}#125#{Mx[:gl_c]}"). #escaped special character + gsub(/\\\<</,"#{Mx[:gl_o]}#lt#{Mx[:gl_c]}#{Mx[:gl_o]}#lt#{Mx[:gl_c]}"). #escaped special character + gsub(/\\\>>/,"#{Mx[:gl_o]}#gt#{Mx[:gl_c]}#{Mx[:gl_o]}#gt#{Mx[:gl_c]}"). #escaped special character + gsub(/\\\</,"#{Mx[:gl_o]}#lt#{Mx[:gl_c]}"). #escaped special character + gsub(/\\\>/,"#{Mx[:gl_o]}#gt#{Mx[:gl_c]}"). #escaped special character + gsub(/\\\_/,"#{Mx[:gl_o]}#095#{Mx[:gl_c]}"). #escaped special character + gsub(/\\\-/,"#{Mx[:gl_o]}#045#{Mx[:gl_c]}"). #escaped special character + gsub(/\\\+/,"#{Mx[:gl_o]}#043#{Mx[:gl_c]}"). #escaped special character + gsub(/\\\//,"#{Mx[:gl_o]}#047#{Mx[:gl_c]}"). #escaped special character + gsub(/\\\#/,"#{Mx[:gl_o]}#035#{Mx[:gl_c]}"). #escaped special character + gsub(/\\\&/,"#{Mx[:gl_o]}#038#{Mx[:gl_c]}"). #& #escaped special character + gsub(/\\\|/,"#{Mx[:gl_o]}#124#{Mx[:gl_c]}"). #not really a sisu special character but made available as possibility + gsub(/\\\:/,"#{Mx[:gl_o]}#058#{Mx[:gl_c]}"). #not really a sisu special character but made available as possibility + gsub(/\\\!/,"#{Mx[:gl_o]}#033#{Mx[:gl_c]}"). #not really a sisu special character but made available as possibility + gsub(/\\\^/,"#{Mx[:gl_o]}#094#{Mx[:gl_c]}"). #not really a sisu special character but made available as possibility + gsub(/\\\,/,"#{Mx[:gl_o]}#044#{Mx[:gl_c]}"). #not really a sisu special character but made available as possibility + gsub(/\\\\/,"#{Mx[:gl_o]}#092#{Mx[:gl_c]}"). #escaped special character + gsub(/\\\*/,"#{Mx[:gl_o]}#042#{Mx[:gl_c]}"). #escaped special character + gsub(/\\\!/,"#{Mx[:gl_o]}#033#{Mx[:gl_c]}") #escaped special character + if dob.obj=~/(?:https?:|ftp:|\{([^{}]+?)\}(?:#|:|[.]{1,2}\/))\S+/m + if dob.obj=~/(?:^|[#{Mx[:gl_c]}#{Mx[:nbsp]} ])\{~\^ (?:.+?)\s*\}(?:(?:https?:|ftp:|:|[.]{1,2}\/)\S+?)\s*#{Mx[:en_a_o]}(.+?)#{Mx[:en_a_c]}/m + dob.obj=dob.obj. + gsub(/(^|[#{Mx[:gl_c]}#{Mx[:nbsp]} ])\{~\^ ([^}]+?)\s*\}((?:https?:|ftp:|:|[.]{1,2}\/)\S+?)\s*#{Mx[:en_a_o]}(.+?)#{Mx[:en_a_c]}/m, + "\\1#{Mx[:lnk_o]}\\2#{Mx[:lnk_c]}\\3 #{Mx[:en_a_o]}\\3 \\4#{Mx[:en_a_c]}") # watch + end + if dob.obj=~/(?:^|[#{Mx[:gl_c]}#{Mx[:nbsp]} ])\{~\^ (?:.+?)\s*\}(?:(?:https?:|ftp:|:|[.]{1,2}\/)\S+?)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}]|$)/m + dob.obj=dob.obj. + gsub(/(^|[#{Mx[:gl_c]}#{Mx[:nbsp]} ])\{~\^ (.+?)\s*\}((?:https?:|ftp:|:|[.]{1,2}\/)\S+?)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}]|$)/m, + "\\1#{Mx[:lnk_o]}\\2#{Mx[:lnk_c]}\\3\\4 #{Mx[:en_a_o]}\\3#{Mx[:en_a_c]} ") + end + dob.obj=dob.obj. + gsub(/(^|[^#])\{\s*([^{}]+?)\s*\}((?:https?:|:|[.]{2}\/|#)\S+?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}]|$)/, + "\\1#{Mx[:lnk_o]}\\2#{Mx[:lnk_c]}\\3"). #linked (text or image, however text cannot include modified face, e.g. bold, ital, underline) + gsub(/(^|[#{Mx[:gl_c]}#{Mx[:lnk_c]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}(\s])((?:https?|ftp):\/\/\S+?\.[^>< ]+?)([,.;'"]?)(?=[\s#{Mx[:en_a_c]}#{Mx[:en_b_c]}#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}]|$)/m, + %{\\1#{Mx[:url_o]}\\2#{Mx[:url_c]}\\3}). + gsub(/#{Mx[:lnk_c]}#(\S+?[^>< ]+?)([()\[\]]*[,.;:!?'"]{0,2})(?=[\s#{Mx[:en_a_c]}#{Mx[:en_b_c]}#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}]|$)/m, + %{#{Mx[:lnk_c]}#{Mx[:rel_o]}\\1#{Mx[:rel_c]}\\2}). + gsub(/#{Mx[:lnk_c]}:(\S+?[^>< ]+?)([()\[\]]*[,.;:!?'"]{0,2})(?=[\s#{Mx[:en_a_c]}#{Mx[:en_b_c]}#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}]|$)/m, + %{#{Mx[:lnk_c]}#{Mx[:rel_o]}:\\1#{Mx[:rel_c]}\\2}). + gsub(/#{Mx[:lnk_c]}[.]{2}\/(\S+?[^>< ]+?)([()\[\]]*[,.;:!?'"]{0,2})(?=[\s#{Mx[:en_a_c]}#{Mx[:en_b_c]}#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}]|$)/m, + %{#{Mx[:lnk_c]}#{Mx[:rel_o]}:\\1#{Mx[:rel_c]}\\2}) + end + if dob.obj=~/_(?:https?|ftp):\S+/m # _http://url #CHECK + dob.obj=dob.obj.gsub(/(^|[#{Mx[:gl_c]}#{Mx[:lnk_c]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}(\s])(_(?:https?|ftp):\/\/\S+?\.[^>< ]+?)([,.;'"]?)(?=[\s#{Mx[:en_a_c]}#{Mx[:en_b_c]}#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}]|$)/m, + %{\\1#{Mx[:url_o]}\\2#{Mx[:url_c]}\\3}) + end + dob=fontface(dob) + dob.obj=dob.obj. + gsub(/<[:e]\s+(.+?)!?>/, + "#{Mx[:en_a_o]}\\1#{Mx[:en_a_c]}"). #not tested + gsub(/(^|#{Mx[:br_nl]})\s*_\*\s*/, + "\\1#{Mx[:gl_bullet]}"). #bullets, shortcut + gsub(/=\{(.+?)\}/, + "#{Mx[:idx_o]}\\1#{Mx[:idx_c]}"). + gsub(/^\s*_([1-9])\*\s*/, + "#{Mx[:pa_o]}:i\\1:\\1#{Mx[:pa_c]}#{Mx[:gl_bullet]}"). #bullets, shortcut + gsub(/^\s*_([1-9])\s+/, + "#{Mx[:pa_o]}:i\\1:\\1#{Mx[:pa_c]}"). #indent + gsub(/^\s*_([1-9])!\s+(.+?)\s*$/, + "#{Mx[:pa_o]}:i\\1:\\1#{Mx[:pa_c]}#{Mx[:fa_bold_o]}\\2#{Mx[:fa_bold_c]} "). #indent bold + gsub(/^\s*__([1-9])\s+/, + "#{Mx[:pa_o]}:i0:\\1#{Mx[:pa_c]}"). #hang + gsub(/^\s*__([1-9])!\s+(.+?)\s*$/, + "#{Mx[:pa_o]}:i0:\\1#{Mx[:pa_c]}#{Mx[:fa_bold_o]}\\2#{Mx[:fa_bold_c]} "). #hangdef + gsub(/^\s*_([0-9])_([0-9])\s+/, + "#{Mx[:pa_o]}:i\\1:\\2#{Mx[:pa_c]}"). #hang + gsub(/^\s*_([0-9])_([0-9])!\s+(.+?)\s*$/, + "#{Mx[:pa_o]}:i\\1:\\2#{Mx[:pa_c]}#{Mx[:fa_bold_o]}\\3#{Mx[:fa_bold_c]} "). #hangdef + gsub(/<:hi>/,"#{Mx[:fa_hilite_o]}"). #'<span style="background-color: rgb(255,240,196)">'). # bright yellow rgb(255,255,0) pale yellow rgb(255,255,200) + gsub(/<:\/hi>/,"#{Mx[:fa_hilite_c]}"). #'</span>'). + gsub(/(#{Mx[:gr_o]}verse#{Mx[:gr_c]}.+)/m,"\\1\n"). + gsub(/[ ]+($)/,'\1'). + gsub(/\{\s*(.+?)\s*\}(https?:\S+?)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}]|$)/, + "#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}#{Mx[:url_o]}\\2#{Mx[:url_c]}\\3"). #any remaining linked text or image + gsub(/\{\s*(.+?)\s*\}(#{Mx[:url_o]}\S+?#{Mx[:url_c]})/, + "#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}\\2"). #any remaining linked text or image + gsub(/(^|\s)([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)/,"\\1#{Mx[:url_o]}\\2#{Mx[:url_c]}"). + gsub(/(^|[ ])\{\s*(.+?)\s*\}(\S+?)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}]|$)/, + "\\1#{Mx[:lnk_o]}\\2#{Mx[:lnk_c]}\\3\\4"). #any remaining linked text or image + gsub(/\{\s*(.+?)\s*\}#([a-zA-Z0-9][a-zA-Z0-9_-]*)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}]|$)/, + "#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}#{Mx[:rel_o]}\\2#{Mx[:rel_c]}\\3"). #any remaining linked text or image, check need + gsub(/\{\s*(.+?)\s*\}(#{Mx[:rel_o]}\S+?#{Mx[:rel_c]})/, + "#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}\\2"). #any remaining linked text or image, check need + gsub(/\{\s*(.+?)\s*\}(image)/, + "#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}\\2") #linked image + elsif dob.is==:table + dob=fontface(dob) + elsif dob.is ==:code + dob.obj=dob.obj. + gsub(/#{Mx[:meta_o]}(\S+?)#{Mx[:meta_c]}\s*/,'@\1: '). + gsub(/(^|#{Mx[:gl_c]}|\s)<(?:br(?: \/)?)>([\s,.]|$)/,'\1<br>\2') #convert <br> <br /> back, clumsy + if dob.number_ + codeline=[] + ln=1 + dob.obj.split(/#{Mx[:gr_o]}codeline#{Mx[:gr_c]}|<br(?: \/)?>|\n/).each_with_index do |cl,i| + unless i == 0 + cl=cl.gsub(Mx[:br_nl],'') + w=3-ln.to_s.length + cl = "#{ln}#{Mx[:nbsp]*w}#{Mx[:vline]}#{cl}#{Mx[:br_nl]}" + ln +=1 + end + codeline << cl + end + codeline= codeline.join("") + dob.obj=codeline + else + dob.obj=dob.obj.gsub(/#{Mx[:gr_o]}codeline#{Mx[:gr_c]}/,"\n") + end + dob + else # @\S+?: + end + dob + end + def tech #script markup planned to be more strict for technical documents + # *{emphasis}* e{emphasis}e <strong>emphasis</strong> + # !{bold text}! b{bold}b <b>bold text</b> + # _{underline}_ u{underline}u <u>underline</u> + # /{italics}/ i{italics}i <i>italics</i> + # "{citation}" c{citation}c <cite>citation</cite> + # ^{superscript}^ <sup>superscript</sup> + # ,{subscript}, <sub>subscript</sub> + # +{inserted text}+ <ins>inserted text</ins> + # -{deleted text}- <del>deleted text</del> + # #{monospace text}# + # {url address}:url + # {image.png}imageurl + # {image.png}png + # ~{endnote}~ + # +1 <!i1!> + # +2 <!i2!> + puts 'tech' + @data.each do |line| + line=line. + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)e\{(.+?)\}e/, + "\\1#{@emph[:o]}\\2#{@emph[:c]}"). #emphasis + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)b\{(.+?)\}b/, + "\\1#{Mx[:fa_bold_o]}\\2#{Mx[:fa_bold_c]}"). #bold + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)u\{(.+?)\}u/, + "\\1#{Mx[:fa_underscore_o]}\\2#{Mx[:fa_underscore_c]}"). #underscore + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)c\{(.+?)\}c/, + "\\1#{Mx[:fa_cite_o]}\\2#{Mx[:fa_c_o]}cite#{Mx[:fa_c]}"). #cite + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)i\{(.+?)\}i/, + "\\1#{Mx[:fa_italics_o]}\\2#{Mx[:fa_italics_c]}"). #italics + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)!\{(.+?)\}!/, + "\\1#{Mx[:fa_bold_o]}\\2#{Mx[:fa_bold_c]}"). #bold + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)\*\{(.+?)\}\*/, + "\\1#{@emph[:o]}\\2#{@emph[:c]}"). #emphasis + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)_\{(.+?)\}_/, + "\\1#{Mx[:fa_underscore_o]}\\2#{Mx[:fa_underscore_c]}"). #underscore + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\(|\>)\/\{(.+?)\}\//, + "\\1#{Mx[:fa_italics_o]}\\2#{Mx[:fa_italics_c]}"). #italics + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\"\{(.+?)\}\"/, + "\\1#{Mx[:fa_cite_o]}\\2#{Mx[:fa_c_o]}cite#{Mx[:fa_c]}"). + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\^\{(.+?)\}\^/, + "\\1#{Mx[:fa_superscript_o]}\\2#{Mx[:fa_superscript_c]}"). + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)9\{(.+?)\}9/, + "\\1#{Mx[:fa_superscript_o]}\\2#{Mx[:fa_superscript_c]}"). + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>),\{(.+?)\},/, + "\\1#{Mx[:fa_subscript_o]}\\2#{Mx[:fa_subscript_c]}"). + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)6\{(.+?)\}6/, + "\\1#{Mx[:fa_subscript_o]}\\2#{Mx[:fa_subscript_c]}"). + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\+\{(.+?)\}\+/, + "\\1#{Mx[:fa_insert_o]}\\2#{Mx[:fa_insert_c]}"). + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)v\{(.+?)\}v/, + "\\1#{Mx[:fa_insert_o]}\\2#{Mx[:fa_insert_c]}"). + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)-\{(.+?)\}-/, + "\\1#{Mx[:fa_strike_o]}\\2#{Mx[:fa_strike_c]}"). + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)x\{(.+?)\}x/, + "\\1#{Mx[:fa_strike_o]}\\2#{Mx[:fa_strike_c]}"). + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\*(\S+?)\*/, + "\\1#{@emph[:o]}\\2#{@emph[:c]}"). #emphasise single word, watch + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\!(\S+?)\!/, + "\\1#{Mx[:fa_bold_o]}\\2#{Mx[:fa_bold_c]}"). #bold single word, watch + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\/([\(\)a-zA-Z0-9']+?)\/([ ,.;:'"~$]|[^a-zA-Z0-9])/, + "\\1#{Mx[:fa_italics_o]}\\2#{Mx[:fa_italics_c]}\\3"). #italics single word, watch + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)_(\S+?)_/, + "\\1#{Mx[:fa_underscore_o]}\\2#{Mx[:fa_underscore_c]}"). #underscore single word, watch + gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\^(\S+?)\^/, + "\\1#{Mx[:fa_superscript_o]}\\2#{Mx[:fa_superscript_c]}"). #check #superscript single word, watch digit added + gsub(/^\s*_\([1-9]\)\(\*\+\)\s*/, + "#{Mx[:pa_o]}:i\\1#{Mx[:pa_c]}#{Mx[:fa_o]}\\2#{Mx[:fa_c_o]}"). #bullets, shortcut + gsub(/^\s*_\([1-9]\)\s+/, + "#{Mx[:pa_o]}:i\\1#{Mx[:pa_c]}"). #watch + gsub(/^\s*__\([1-9]\)\s+/, + "#{Mx[:pa_o]}:h\\1#{Mx[:pa_c]}"). #watch + #line.gsub(/^\s*__\([1-9]\)!\s+/, + # "#{Mx[:pa_o]}:hd\\1#{Mx[:pa_c]}"). #watch + gsub(/#{Mx[:br_line]}\s*_[12]\s+/, + "#{Mx[:br_line]} ") #indent used in endnotes, not implemented, replace when ready with: line.gsub(/(?:<br>|<br \/>)\s*_([12])\s+/,'<br><:i\1> ') + end + @data + end + end +end +__END__ +#+END_SRC + +** ao_endnotes.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_endnotes.rb" +# <<sisu_document_header>> +module SiSU_AO_Endnotes + class Endnotes + def initialize(md,data,endnote_array=nil) + @md,@data,@endnote_array= + md, data, endnote_array + @endnote_counter, + @endnote_counter_asterisk, + @endnote_counter_dag= + 1,1,1 + end + def endnotes + data=@data + endnote_ref=1 + @tuned_file=data.each.map do |dob| + # manually numbered endnotes <!e(\d)!> <!e_(\d)!> --> + if @md.opt.selections.str =~/--no-asterisk|--no-annotate/ + dob.obj=dob.obj. + gsub(/#{Mx[:en_b_o]}\s.+?#{Mx[:en_b_c]}/,'') + end + if @md.opt.selections.str =~/--no-dagger|--no-annotate/ + dob.obj=dob.obj. + gsub(/#{Mx[:en_b_o]}[+]\s.+?#{Mx[:en_b_c]}/,'') + end + if (defined? dob.obj) \ + && (defined? dob.is) \ + && dob.is !=:code + case dob.obj # auto-numbered endnotes <!e!> <!e_!> --> + when /#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}[*+]\s+.+?#{Mx[:en_b_c]}/ + dob.obj=dob.obj. + gsub(/\s*(#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/,'\1') + word_mode=dob.obj.scan(/\S+/m) + word_mode=endnote_call_number(word_mode) + dob.obj=word_mode.join(' ') + endnote_ref+=1 + when /~\^(?:\s|$)/ #%note inserts endnotes previously gathered from /^(<!e[:_]!>|[-~]\{{3})/ (in earlier loop) + word_mode=dob.obj.scan(/\S+/m) + word_mode=endnote_call_number(word_mode) + dob.obj=word_mode.join(' ') + endnote_ref+=1 + end + end + dob + end.flatten + @endnote_counter, + @endnote_counter_asterisk, + @endnote_counter_dag= + 1,1,1 + @tuned_file + end + def endnote_call_number(words) + words.each do |word| + case word + when /#{Mx[:en_a_o]}/ + unless word =~/#{Mx[:en_a_o]}[*+]+/ + word.gsub!(/#{Mx[:en_a_o]}/, + "#{Mx[:en_a_o]}#{@endnote_counter} ") + @endnote_counter+=1 + end + when /#{Mx[:en_b_o]}/ + if word =~/#{Mx[:en_b_o]}[+]/ + word.gsub!(/#{Mx[:en_b_o]}[+]/, + "#{Mx[:en_b_o]}\+#{@endnote_counter_dag} ") + @endnote_counter_dag+=1 + else + word.gsub!(/#{Mx[:en_b_o]}[*]?/, + "#{Mx[:en_b_o]}\*#{@endnote_counter_asterisk} ") + @endnote_counter_asterisk+=1 + end + when /~\^/ + if @endnote_array + word.gsub!(/~\^/, + "#{@endnote_array[@endnote_counter-1]}") + @endnote_counter+=1 + end + end + end + end + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + <ralph.amissah@gmail.com> + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, Ralph Amissah, + All Rights Reserved. + + - License: GPL 3 or later: + + SiSU, a framework for document structuring, publishing and search + + Copyright (C) Ralph Amissah + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation, either version 3 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + You should have received a copy of the GNU General Public License along with + this program. If not, see <http://www.gnu.org/licenses/>. + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + <http://www.fsf.org/licensing/licenses/gpl.html> + <http://www.gnu.org/licenses/gpl.html> + + <http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html> + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + <http://www.sisudoc.org> + + - Git + <https://git.sisudoc.org/projects/> + <https://git.sisudoc.org/projects/?p=software/sisu.git;a=summary> + <https://git.sisudoc.org/projects/?p=markup/sisu-markup-samples.git;a=summary> +#+END_SRC diff --git a/org/cgi.org b/org/cgi.org new file mode 100644 index 00000000..b127d405 --- /dev/null +++ b/org/cgi.org @@ -0,0 +1,1459 @@ +-*- mode: org -*- +#+TITLE: sisu cgi +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:cgi: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* cgi +** cgi.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/cgi.rb" +# <<sisu_document_header>> +module SiSU_CGI #% database building documents + require_relative 'se' # se.rb + require_relative 'cgi_pgsql' # cgi_pgsql.rb + require_relative 'cgi_sqlite' # cgi_sqlite.rb + class SearchSQL + def initialize(opt) + @opt=opt + @webserv=@opt.files[0].to_s.strip + end + def read + if @opt.act[:sample_search_form][:db]==:pg # cgi_pgsql.rb + SiSU_CGI_PgSQL::SearchPgSQL.new(@opt,@webserv).pgsql + elsif @opt.act[:sample_search_form][:db]==:sqlite # cgi_sqlite.rb + SiSU_CGI_SQLite::SearchSQLite.new(@opt,@webserv).sqlite + else + puts <<-WOK + please select database type for which sample search form should be built (pgsql or sqlite) + sisu --sample-search-form --db=sqlite + sisu --sample-search-form --db=pg + other options include + --webserv-cgi='[cgi-server-name]' + --webserv-output='[sisu-output-server-with-base-path]' + WOK + end + end + end +end +__END__ +#+END_SRC + +** cgi_sqlite.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/cgi_sqlite.rb" +# <<sisu_document_header>> +module SiSU_CGI_SQLite #% database building documents + require_relative 'se' # se.rb + require_relative 'cgi_sql_common' # cgi_sql_common.rb + include SiSU_CGI_SQL + class SearchSQLite < CGI_Common + def initialize(opt,webserv) + @opt,@webserv=opt,webserv + @cX=SiSU_Screen::Ansi.new(opt.act[:color_state][:set]).cX + @env=SiSU_Env::InfoEnv.new('',opt) + @image_src="#{@env.url.webserv_cgi(opt)}/_sisu/image_sys" + @name_of={} + @name_of[:output_dir_structure]=if opt.dir_structure_by.to_s =~/(?:language|filetype|filename)/ + opt.dir_structure_by.to_s + else 'language' + end + @name_of[:lingual]=if opt.lingual.to_s =~/(?:mono|multi)/ + opt.lingual.to_s + else 'multi' + end + @name_of[:host_url_cgi]=%q{http://#{ENV['HTTP_HOST']}#{ENV['PATH_INFO']}} + @name_of[:host_url_docs]=%q{http://#{ENV['HTTP_HOST']}} + @name_of[:cgi_script]=%q{#{ENV['SCRIPT_NAME']}} + @image_src=%q{http://#{ENV['HTTP_HOST']}/_sisu/image_sys} + @common=SiSU_CGI_SQL::CGI_Common.new(@webserv,opt,@image_src,@env) + @cgi_file_name=@env.url.cgi_sample_search_form_name(opt) + @name_of_sqlite_db_file='sisu_sqlite.db' + end + def sqlite + serve=[] + Dir.foreach(@env.path.webserv) do |x| + if x !~/^\./ \ + and FileTest.directory?("#{@env.path.webserv}/#{x}") + if FileTest.file?("#{@env.path.webserv}/#{x}/#{@name_of_sqlite_db_file}") + serve << x unless x =~/^_\S+/ + end + end + end + serve=serve.sort + f1,f2,f3='','','' + serve.each do |x| + f1 << %{ <option value="#{Db[:name_prefix]}#{x}">#{x}</option>\n} + end + f2 << %{ selected_db=case cgi['db']\n} + serve.each do |x| + f2 << %{ when /#{Db[:name_prefix]}#{x}/ then '<option value="#{Db[:name_prefix]}#{x}">#{x}</option>'\n} + end + f2 << " end\n" + f3 << %{ db_name='#{@name_of_sqlite_db_file}'\n} + f3 << %{ db_sqlite=case cgi['db']\n} + serve.each do |x| + f3 << %{ when /#{Db[:name_prefix]}#{x}/ then "#{@env.path.webserv}/#{x}/\#{db_name}"\n} + end + f3 << %{ else "#{@env.path.webserv}/#{serve[0]}/\#{db_name}"\n end\n} + if FileTest.writable?('.') + output=File.open(@cgi_file_name,'w') + output << header0 << header1 << header_desc << header2 << f1 << buttons1 << buttons2 << search_request << search_statement << search_statement_common << search_query1 << @common.pages << search_query2 << @common.tail << @common.main1 << f2 << f3 << dbi_connect << @common.main2 << @common.dir_structure << @common.main3 + puts <<-WOK + generated sample search form: #{@cX.green}#{@cgi_file_name}#{@cX.off} + default database name: #{@cX.green}#{Db[:name_prefix]}#{@env.path.base_markup_dir_stub}#{@cX.off} (#{@env.path.base_markup_dir_stub}) + cgi & db host on: #{@cX.blue}#{@env.url.webserv_base_cgi(@opt)}#{@cX.off} + to modify use: #{@cX.brown}sisu --db-sqlite --webserv-search='#{@env.url.webserv_base_cgi(@opt)}'#{@cX.off} + sisu output on: #{@cX.blue}#{@env.url.webserv_files_from_db(@opt)}#{@cX.off} + to modify use: #{@cX.brown}sisu --db-sqlite --webserv-output='#{@env.url.webserv_files_from_db(@opt)}'#{@cX.off} + cgi search form link name: #{@cX.green}#{@env.url.cgi_sample_search_form_name(@opt)}#{@cX.off} + to modify use: #{@cX.brown}sisu --db-sqlite --cgi-search-form-name='#{@env.url.cgi_sample_search_form_name(@opt)}'#{@cX.off} + #{@cX.fuchsia}(settings priority: command line; sisurc.yml; else defaults)#{@cX.off} + + #{@cX.fuchsia}NOTE it is first necessary to create the database and tables and populate it#{@cX.off} + + sisu --sqlite --dropall # removes existing postgresql db & tables + sisu --sqlite --createall -v # creates postgresql db & tables + sisu --sqlite --update -v *.sst *.ssm # populate the db + sisu --sample-search-form --sqlite # creates the postgresql search form + # this should be done after creating the db + # to be searched + sisu --webrick & # starts ruby webrick web server + + # if necessary make the directory '/usr/lib/cgi-bin' + # here we copy the postgresql search form to cgi-bin + # (copy #{@cgi_file_name} to your cgi directory) + # set file permissions to 755 + WOK + a=case @webserv + when /pwd/ then '' + else <<-WOK + + sudo cp -vi #{Dir.pwd}/#{@cgi_file_name} /usr/lib/cgi-bin/.; \\ + sudo chmod -v 755 /usr/lib/cgi-bin/#{@cgi_file_name} + WOK + end + b='(to create and populate sisu sqlite database see "man sisu" and in particular the -d flag)' + SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],a,b).warn + a=<<-WOK + + #{@env.webserv_base_cgi(@opt)}/cgi-bin/#{@cgi_file_name} + + WOK + SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],a).print_blue + else puts "failed in attempt to write #{@cgi_file_name} to present directory, is directory writable?" + end + end + def header0 + <<-WOK_SQL +#!/usr/bin/env ruby +=begin +#{about} + * Description: generates naive cgi search form for search of sisu database (sqlite) +#{gpl} +=end + begin + require 'cgi' + require 'fcgi' + require 'sqlite3' + rescue LoadError + puts 'cgi, fcgi or sqlite3 NOT FOUND (LoadError)' + end + @stub_default='sisu_sqlite' + @image_src="#{@image_src}" + @hosturl_cgi="#{@name_of[:host_url_cgi]}" + @hosturl_files="#{@name_of[:host_url_docs]}" + @output_dir_structure_by='#{@name_of[:output_dir_structure]}' + @lingual='#{@name_of[:lingual]}' + @db_name_prefix='#{Db[:name_prefix]}' + @base="#{@name_of[:host_url_cgi]}#{@name_of[:cgi_script]}" + WOK_SQL + end + def search_statement + <<-'WOK_SQL' + class DBI_SearchString + def initialize(l,t,q,cse=false) + @l,@t,@q=l,t,q + end + def string + search={ search: [], flag: false } + if @t =~/\S+/ or @q =~/\S+/ + if @t =~/\S+/ then unescaped_search=CGI.unescape(@t) + elsif @q =~/\S+/ then unescaped_search=CGI.unescape(@q) + end + search_construct=[] + unescaped_search=unescaped_search.gsub(/\s*(AND|OR)\s*/,"%' \) \\1 #{@l} LIKE \( '%"). + gsub(/(.+)/,"#{@l} LIKE \( '%\\1%' \)") + search_construct << unescaped_search + search_construct=search_construct.join(' ') + search[:search] << search_construct + search[:flag]=true + search + end + search + end + end + WOK_SQL + end + def search_query1 + <<-'WOK_SQL' + @search_text='' + @search_text=search[:text].flatten.join(' AND ') + @search_text=@search_text.gsub(/(doc_objects\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\)\s+(?:(?:AND|OR)\s+doc_objects\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\))+)/,'(\1)') + end + WOK_SQL + end + def search_query2 + <<-'WOK_SQL' + def sql_select_body + limit ||=@@limit + offset ||=@@offset + @sql_statement[:body]=%{SELECT metadata_and_text.title, metadata_and_text.creator_author, metadata_and_text.src_filename, metadata_and_text.language_document_char, metadata_and_text.notes_suffix, doc_objects.body, doc_objects.seg, doc_objects.ocn, metadata_and_text.tid FROM doc_objects, metadata_and_text WHERE #{@search_text} AND doc_objects.metadata_tid = metadata_and_text.tid ORDER BY metadata_and_text.language_document_char, metadata_and_text.title, metadata_and_text.src_filename, doc_objects.ocn} + @sql_statement[:range]=%{LIMIT #{limit} OFFSET #{offset} ;} + select=@sql_statement[:body] + ' ' + @sql_statement[:range] + select + end + def sql_select_body_format + %{<font color="#666666" size="2">#{sql_select_body}</font>} + end + def contents + @conn.execute(sql_select_body) + end + end + WOK_SQL + end + def dbi_connect + <<-'WOK_SQL' + @conn=SQLite3::Database.new(db_sqlite) + @conn.results_as_hash=true + WOK_SQL + end + end +end +__END__ +#+END_SRC + +** cgi_pgsql.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/cgi_pgsql.rb" +# <<sisu_document_header>> +module SiSU_CGI_PgSQL #% database building documents + require_relative 'se' # se.rb + require_relative 'cgi_sql_common' # cgi_sql_common.rb + include SiSU_CGI_SQL + class SearchPgSQL < CGI_Common + def initialize(opt,webserv) + @opt,@webserv=opt,webserv + @cX=SiSU_Screen::Ansi.new(opt.act[:color_state][:set]).cX + @env=SiSU_Env::InfoEnv.new('',opt) + @sys=SiSU_Env::SystemCall.new + @db=SiSU_Env::InfoDb.new + get_init=SiSU_Env::GetInit.new + @rc=get_init.sisu_yaml.rc + @name_of={} + @name_of[:output_dir_structure]=if opt.dir_structure_by.to_s =~/(?:language|filetype|filename)/ + opt.dir_structure_by.to_s + else 'language' + end + @name_of[:lingual]=if opt.lingual.to_s =~/(?:mono|multi)/ + opt.lingual.to_s + else 'multi' + end + @name_of[:db]=if defined? @rc['search'] \ + and defined? @rc['search']['sisu'] \ + and defined? @rc['search']['sisu']['action'] \ + and @rc['search']['sisu']['action'] =~/https?:\/\/\S+?\.cgi/ \ + and defined? @rc['search']['sisu']['db'] \ + and @rc['search']['sisu']['db'] =~/\S+/ + @rc['search']['sisu']['db'] + else + @env.path.base_markup_dir_stub #'sisu' #breaks if not present + end + @name_of[:host_url_cgi]=%q{http://#{ENV['HTTP_HOST']}#{ENV['PATH_INFO']}} + @name_of[:host_url_docs]=%q{http://#{ENV['HTTP_HOST']}} + @name_of[:cgi_script]=%q{#{ENV['SCRIPT_NAME']}} + @name_of[:user]=@db.psql.user(opt) + @image_src=%q{http://#{ENV['HTTP_HOST']}/_sisu/image_sys} + @common=SiSU_CGI_SQL::CGI_Common.new(@webserv,opt,@image_src,@env) + @cgi_file_name=@env.url.cgi_sample_search_form_name(opt) + end + def pgsql + serve=[] + if @sys.psql + available_db_table=`psql --list` # system call requires psql + available_db=available_db_table.scan(/(#{Db[:name_prefix]}\S+)/) if not available_db_table.nil? + if available_db \ + and available_db.is_a?(Array) + available_db.flatten.each do |x| + serve << x.gsub(/#{Db[:name_prefix]}(\S+)/,'\1') + end + else STDERR.puts "WARNING: no postgresql database available, (have you created one?)" + end + serve=serve.sort + f1,f2='','' + serve.each do |x| + f1 << %{ <option value="#{Db[:name_prefix]}#{x}">#{x}</option>\n} unless x =~/apache|sisu\/image/ #check + end + end + f2 << %q{ selected_db=%{<option value="#{@db_name_prefix}#{@stub}">#{@stub}</option>}} + "\n" + if FileTest.writable?('.') + output=File.open(@cgi_file_name,'w') + output << header0 << header1 << header_desc << header2 << f1 << buttons1 << buttons1_pgsql << buttons2 << search_request << search_statement << search_statement_common << search_query1 << @common.pages << search_query2 << @common.tail << @common.main1 << f2 << dbi_connect << @common.main2 << @common.dir_structure << @common.main3 + puts <<-WOK + generated sample search form: #{@cX.green}#{@cgi_file_name}#{@cX.off} + default database name: #{@cX.green}#{Db[:name_prefix]}#{@name_of[:db]}#{@cX.off} (#{@name_of[:db]}) + db user: #{@cX.green}#{@name_of[:user]}#{@cX.off} + to modify use: #{@cX.brown}sisu --db-pg --db-user='#{@name_of[:user]}'#{@cX.off} + + #{@cX.fuchsia}BASED ON ALREADY EXISTING databases#{@cX.off} (default database name: #{@db.psql.db}) + NOTE it is first necessary to createdb, + use sisu to create the tables & populate the postgresql db + + the database to be used for this directory (#{@db.psql.db}) + will have to be created manually if it does not exist: + using postgresql tools directly (the following may work): + (i) if you are not yet a postgresql user, + #{@cX.brown}sudo su postgres + createuser -d -a #{@env.user} + exit#{@cX.off} + (ii) create the database: + #{@cX.brown}createdb #{@db.psql.db}#{@cX.off} + [for a list of existing databases try 'psql --list']" + + you can use sisu to create the database tables and populate the database with documents + + sisu --pg --dropall # removes existing postgresql db & tables + sisu --pg --createall -v # creates postgresql db & tables + sisu --pg --update -v *.sst *.ssm # populate the db + sisu --sample-search-form --db-pg # creates the postgresql search form + # this should be done after creating the db + # to be searched + sisu --webrick & # starts ruby webrick web server + + # if necessary make the directory '/usr/lib/cgi-bin' + # here we copy the postgresql search form to cgi-bin + # (copy #{@cgi_file_name} to your cgi directory) + # set file permissions to 755 + WOK + a=case @webserv + when /pwd/ then '' + else <<-WOK + + sudo cp -vi #{Dir.pwd}/#{@cgi_file_name} /usr/lib/cgi-bin/.; \\ + sudo chmod -v 755 /usr/lib/cgi-bin/#{@cgi_file_name} + WOK + end + SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],a).warn + a=<<-WOK + #{@env.webserv_base_cgi(@opt)}/cgi-bin/#{@cgi_file_name} + WOK + SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],a).print_blue + a="\n\t(to create and populate postgresql database see 'man sisu' and in particular the --pg option)\n\t[the database to be used for this directory (#{@db.psql.db}) will have to be created manually if it does not exist,\n\tusing postgresql tools directly: 'createdb #{@db.psql.db}' for a list of existing databases try 'psql --list']" + SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],a).txt_grey + else puts 'failed in attempt to write #{@cgi_file_name} to present directory, is directory writable?' + end + end + def header0 + <<-WOK_SQL +#!/usr/bin/env ruby +=begin +#{about} + * Description: generates naive cgi search form for search of sisu database (pgsql) +#{gpl} +=end + begin + require 'cgi' + require 'fcgi' + require 'pg' + rescue LoadError + puts 'cgi, fcgi or pg NOT FOUND (LoadError)' + end + @stub_default='#{@name_of[:db]}' + @image_src="#{@image_src}" + @hosturl_cgi="#{@name_of[:host_url_cgi]}" + @hosturl_files="#{@name_of[:host_url_docs]}" + @output_dir_structure_by='#{@name_of[:output_dir_structure]}' + @lingual='#{@name_of[:lingual]}' + @port='#{@db.psql.port}' + @db_name_prefix='#{Db[:name_prefix]}' + @user='#{@name_of[:user]}' # check user name for access to pg database: e.g. www-data or '#{@env.user}' + @base="#{@name_of[:host_url_cgi]}#{@name_of[:cgi_script]}" + WOK_SQL + end + def search_statement + <<-'WOK_SQL' + class DBI_SearchString + def initialize(l,t,q,cse=false) + @l,@t,@q,@c=l,t,q,cse + end + def string + search={ search: [], flag: false } + if @t =~/\S+/ or @q =~/\S+/ + if @t =~/\S+/ then unescaped_search=CGI.unescape(@t) + elsif @q =~/\S+/ then unescaped_search=CGI.unescape(@q) + end + search_construct=[] + unescaped_search=if @c + unescaped_search.gsub(/\s*(AND|OR)\s*/,"' \) \\1 #{@l}~\( '"). + gsub(/(.+)/,"#{@l}~\( '\\1' \)") + else + unescaped_search.gsub(/\s*(AND|OR)\s*/,"' \) \\1 #{@l}~*\( '"). + gsub(/(.+)/,"#{@l}~*\( '\\1' \)") + end + search_construct << unescaped_search + search_construct=search_construct.join(' ') + search[:search] << search_construct + search[:flag]=true + search + end + search + end + end + WOK_SQL + end + def search_query1 + <<-'WOK_SQL' + @search_text='' + @search_text=search[:text].flatten.join(' AND ') + @search_text=@search_text.gsub(/(doc_objects\.clean~[*]?\(\s*'[^']+'\s*\)\s+(?:(?:AND|OR)\s+doc_objects\.clean~[*]?\(\s*'[^']+'\s*\))+)/,'(\1)') + end + WOK_SQL + end + def search_query2 + <<-'WOK_SQL' + def sql_select_body + limit ||=@@limit + offset ||=@@offset + @sql_statement[:body]=%{SELECT metadata_and_text.title, metadata_and_text.creator_author, metadata_and_text.src_filename, metadata_and_text.language_document_char, metadata_and_text.notes_suffix, doc_objects.body, doc_objects.seg, doc_objects.ocn, metadata_and_text.tid FROM doc_objects, metadata_and_text WHERE (#{@search_text}) AND doc_objects.metadata_tid = metadata_and_text.tid ORDER BY metadata_and_text.language_document_char, metadata_and_text.title, metadata_and_text.src_filename, doc_objects.ocn} + @sql_statement[:range]=%{LIMIT #{limit} OFFSET #{offset} ;} + select=@sql_statement[:body] + ' ' + @sql_statement[:range] + select + end + def sql_select_body_format + %{<font color="#666666" size="2">#{sql_select_body}</font>} + end + def contents + @conn.exec(sql_select_body) + end + end + WOK_SQL + end + def buttons1_pgsql + <<-'WOK_SQL' + <input type="checkbox" name="casesense" #{@checked_case}> case sensitive + WOK_SQL + end + def dbi_connect + <<-'WOK_SQL' + @conn=PG::Connection.open(dbname: @db, port: @port, user: @user) + WOK_SQL + end + end +end +__END__ +#+END_SRC + +** cgi_sql_common.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/cgi_sql_common.rb" +# <<sisu_document_header>> +module SiSU_CGI_SQL + class CGI_Common + def initialize(webserv,opt,image_src,dir) + @webserv,@opt,@image_src,@env=webserv,opt,image_src,dir + end + def about + <<-'WOK_SQL' + * Name: SiSU information Structuring Universe + * Author: Ralph Amissah + * http://www.jus.uio.no/sisu + * http://www.jus.uio.no/sisu/SiSU/download + WOK_SQL + end + def gpl + <<-'WOK_SQL' + * Name: SiSU generated sample cgi search form + + * Description: generated sample cgi search form for SiSU + (SiSU is a framework for document structuring, publishing and search) + + * Author: Ralph Amissah + + * Copyright: (C) 1997 - 2015, 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/licenses/gpl.html> + [http://www.gnu.org/licenses/gpl.html] + <http://www.jus.uio.no/sisu/gpl.fsf> + + * SiSU uses: + * Standard SiSU markup syntax, + * Standard SiSU meta-markup syntax, and the + * Standard SiSU object citation numbering and system + + * Homepages: + [http://www.jus.uio.no/sisu] + [http://www.sisudoc.org] + + * Ralph Amissah + [ralph@amissah.com] + [ralph.amissah@gmail.com] + WOK_SQL + end + def header1 + <<-'WOK_SQL' +#Common TOP + @@offset=0 + @@canned_search_url=@base + @color_heading='#DDFFAA' + @color_match='#ffff48' + class Form + def initialize(base,search_field,selected_db,result_type,checked_sql_limit,checked_tip,checked_stats,checked_searched,checked_url,checked_case,checked_echo,checked_sql,checked_all,checked_none,checked_selected,checked_default,search_note,the_can='') + search_note='' if checked_searched !~/\S/ + the_can='' if checked_url !~/\S/ + search_field='' if checked_echo !~/\S/ + @base,@search_field,@selected_db,@result_type,@checked_sql_limit,@checked_tip,@checked_stats,@checked_searched,@checked_url,@checked_case,@checked_echo,@checked_sql,@checked_all,@checked_none,@checked_selected,@checked_default,@search_note,@the_can=base,search_field,selected_db,result_type,checked_sql_limit,checked_tip,checked_stats,checked_searched,checked_url,checked_case,checked_echo,checked_sql,checked_all,checked_none,checked_selected,checked_default,search_note,the_can + @tip=if checked_tip =~/\S/ + '<font size="2" color="#666666">text:__; fulltxt:__; keywords:__; title:__; author:__; topic_register:__; subject:__; description:__; publisher:__; editor:__; contributor:__; date:__; type:__; format:__; identifier:__; source:__; language:__; relation:__; coverage:__; rights:__; comment:__; abstract:__; filename:__;</font><br>' + else '' + end + end + def submission_form + search_form=<<-WOK + WOK_SQL + end + def header_desc + <<-WOK_SQL + <!DOCTYPE html> + <html> + <head> + <title> + <meta charset="utf-8"> + <meta name="sourcefile" content="SiSU._sst" /> + SiSU search form (sample): SiSU information Structuring Universe + + + + + + + + + +
+ + +
+
+ SiSU + +
+ git + +
+
+ +
+ WOK_SQL + end + def header2 + <<-'WOK_SQL' +
+ + +
+ + + #{@tip} + #{@search_note} + #{@the_can} +
+ + + + + to search: select which database to search (drop-down menu below); enter your search query (in the form above); and click on the search button (below) +
+ + + index + text / grep + WOK_SQL + end + def buttons2 + <<-'WOK_SQL' +
+ match limit: + 1,000 + 2,500 +
+ echo query + result stats + search url + searched + available fields + sql statement +
+ checks: + default + selected + all + none +
+ + +
+ WOK + end + end + WOK_SQL + end + def search_request + <<-'WOK_SQL' + class SearchRequest #% search_for + attr_accessor :text1,:fulltext,:keywords,:title,:author,:topic_register,:subject,:description,:publisher,:editor,:contributor,:date,:type,:format,:identifier,:source,:language,:relation,:coverage,:rights,:comment,:abstract,:owner,:date_created,:date_issued,:date_modified,:date_available,:date_valid,:filename + def initialize(search_field='',q='') + @search_field,@q=search_field,q + @text1=@fulltext=@keywords=@title=@author=@topic_register=@subject=@description=@publisher=@editor=@contributor=@date=@type=@format=@identifier=@source=@language=@relation=@coverage=@rights=@comment=@abstract=@owner=@date_created=@date_issued=@date_modified=@date_available=@date_valid=@filename='' + if @search_field=~/\S/ + @text1=text_to_match('text:') + @fulltext=text_to_match('fulltxt:') + @topic_register=text_to_match('topic_register:') + @title=text_to_match('title:') # DublinCore 1 - title + @author=text_to_match('(?:author|creator)s?:') # DublinCore 2 - creator/author + @subject=text_to_match('subj(?:ect)?:') # DublinCore 3 - subject + @description=text_to_match('description:') # DublinCore 4 - description + @publisher=text_to_match('pub(?:lisher)?:') # DublinCore 5 - publisher + @editor=text_to_match('editor:') + @contributor=text_to_match('contributor:') # DublinCore 6 - contributor + @date=text_to_match('date:') # DublinCore 7 - date dd-mm-yy + @type=text_to_match('type:') # DublinCore 8 - type + @format=text_to_match('format:') # DublinCore 9 - format + @identifier=text_to_match('identifier:') # DublinCore 10 - identifier + @source=text_to_match('source:') # DublinCore 11 - source + @language=text_to_match('language:') # DublinCore 12 - language + @relation=text_to_match('relation:') # DublinCore 13 - relation + @coverage=text_to_match('coverage:') # DublinCore 14 - coverage + @rights=text_to_match('rights:') # DublinCore 15 - rights + @keywords=text_to_match('key(?:words?)?:') + @comment=text_to_match('comment:') + @abstract=text_to_match('abs(?:tract)?:') + @owner=text_to_match('owner:') + @date_created=text_to_match('date_created:') + @date_issued=text_to_match('date_issued:') + @date_modified=text_to_match('date_modified:') + @date_available=text_to_match('date_available:') + @date_valid=text_to_match('date_valid:') + @filename=text_to_match('filename:') + @text1=text_to_match unless @keywords or @author or @title or @text1 or @fulltext or @comment or @abstract or @rights or @subject or @publisher or @date or @filename or @topic_register + else + @text1=q['s1'] if q['s1']=~/\S/ + @fulltext=q['ft'] if q['ft']=~/\S/ + @keywords=q['key'] if q['key']=~/\S/ + @title=q['ti'] if q['ti']=~/\S/ + @author=q['au'] if q['au']=~/\S/ + @topic_register=q['tr'] if q['tr']=~/\S/ + @subject=q['sj'] if q['sj']=~/\S/ + @description=q['dsc'] if q['dsc']=~/\S/ + @publisher=q['pb'] if q['pb']=~/\S/ + @editor=q['cntr'] if q['cntr']=~/\S/ + @contributor=q['cntr'] if q['cntr']=~/\S/ + @date=q['dt'] if q['dt']=~/\S/ + @type=q['ty'] if q['ty']=~/\S/ + @identifier=q['id'] if q['id']=~/\S/ + @source=q['src'] if q['src']=~/\S/ + @language=q['lang'] if q['lang']=~/\S/ + @relation=q['rel'] if q['rel']=~/\S/ + @coverage=q['cov'] if q['cov']=~/\S/ + @rights=q['cr'] if q['cr']=~/\S/ + @comment=q['co'] if q['co']=~/\S/ + @abstract=q['ab'] if q['ab']=~/\S/ + @date_created=q['dtc'] if q['dtc']=~/\S/ + @date_issued=q['dti'] if q['dti']=~/\S/ + @date_modified=q['dtm'] if q['dtm']=~/\S/ + @date_available=q['dta'] if q['dta']=~/\S/ + @date_valid=q['dtv'] if q['dtv']=~/\S/ + @filename=if q['doc'] and q['search'] !~/search db/ then q['doc'] + elsif q['fns']=~/\S/ then q['fns'] + end + @@limit=q['ltd'] if q['ltd']=~/\d+/ # 1000 + @@offset=q['off'] if q['off']=~/\d+/ # 0 + end + end + def text_to_match(identifier='') + m={ + string: /#{identifier}\s*(.+?)/, + string: /#{identifier}\s*(.+?)(?:;|\n|\r|$)/, + word: /#{identifier}[\s(]*(\S+)/ + } + search_string=if @search_field =~m[:word] + search_string=if @search_field =~m[:braces] then m[:braces].match(@search_field)[1] + elsif @search_field =~m[:string] then m[:string].match(@search_field)[1] + else + str=m[:word].match(@search_field)[1] + str=str.gsub(/[()]/,'') + str + end + search_string=search_string.strip.gsub(/\s+/,'+') + #else + # "__" + end + end + end + WOK_SQL + end + def search_statement_common + <<-'WOK_SQL' + class DBI_SearchStatement + attr_reader :text_search_flag,:sql_select_body_format,:sql_offset,:sql_limit + def initialize(conn,search_for,q,c) + @conn=conn + @text_search_flag=false + @sql_statement={ body: '', endnotes: '', range: '' } + #@offset||=@@offset + #@offset+=@@limit + search={ text: [], endnotes: [] } + cse=(c =~/\S/) ? true : false + st=DBI_SearchString.new('doc_objects.clean',search_for.text1,q['s1'],cse).string + se=DBI_SearchString.new('endnotes.clean',search_for.text1,q['s1'],cse).string + @text_search_flag=st[:flag] + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.fulltext',search_for.fulltext,q['ft'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.title',search_for.title,q['ti'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.creator_author',search_for.author,q['au'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.classify_topic_register',search_for.topic_register,q['tr'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.classify_subject',search_for.subject,q['sj'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.classify_keywords',search_for.keywords,q['key'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.notes_description',search_for.description,q['dsc'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.publisher',search_for.publisher,q['pb'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.creator_editor',search_for.editor,q['cntr'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.creator_contributor',search_for.contributor,q['cntr'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.date_published',search_for.date,q['dt'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.notes_type',search_for.type,q['ty'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.original_source',search_for.source,q['src'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.language_document_char',search_for.language,q['lang'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.notes_relation',search_for.relation,q['rel'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.notes_coverage',search_for.coverage,q['cov'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.rights_all',search_for.rights,q['cr'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.notes_comment',search_for.comment,q['co'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.notes_abstract',search_for.abstract,q['ab'],cse).string + if st[:flag] + search[:text] << st[:search] + end + st=DBI_SearchString.new('metadata_and_text.src_filename',search_for.filename,q['fns'],cse).string + if st[:flag] + search[:text] << st[:search] + end + @@limit=q['ltd'] if q['ltd']=~/\d+/ # 1000 + @@offset=q['off'] if q['off']=~/\d+/ # 0 + WOK_SQL + end + def pages + <<-'WOK_SQL' + def sql_offset + @@offset + end + def sql_match_limit + @@limit + end + def sql_canned_search + @offset_next=sql_offset.to_i + sql_match_limit.to_i + @offset_previous=sql_offset.to_i - sql_match_limit.to_i + def current + @@canned_search_url.to_s + '<d=' + sql_match_limit.to_s + '&off=' + sql_offset.to_s + end + def next + @@canned_search_url.to_s + '<d=' + sql_match_limit.to_s + '&off=' + @offset_next.to_s + end + def previous + @offset_previous >= 0 \ + ? (@@canned_search_url.to_s + '<d=' + sql_match_limit.to_s + '&off=' + @offset_previous.to_s) + : '' + end + def start + @@canned_search_url.to_s + '<d=' + sql_match_limit.to_s + '&off=' + 0.to_s + end + self + end + def pre_next(beyond_limit,img) + can=sql_canned_search + page=(sql_offset.to_i + sql_match_limit.to_i)/sql_match_limit.to_i + if beyond_limit + if page.to_s =~ /^1$/ + %{
+ pg. #{page.to_s} + +  >> + +
} + elsif page.to_s =~ /^2$/ + %{
+ + <<  + + pg. #{page.to_s} + +  >> + +
} + else + %{
+ + |<  + + + <<  + + pg. #{page.to_s} + +  >> + +
} + end + else + if page.to_s =~ /^1$/ then '' + elsif page.to_s =~ /^2$/ + %{
+ + <<  + + pg. #{page.to_s} +
} + else + %{
+ + |<  + + + <<  + + pg. #{page.to_s} +
} + end + end + end + WOK_SQL + end + def tail + v=SiSU_Env::InfoVersion.instance.get_version + <<-WOK_SQL + def tail + <<-'WOK' +


+ + + + + + +
+ + +
+
+ SiSU + +
+ git + +
+
+ +

+ Generated by + #{v.project} #{v.version} #{v.date} (#{v.date_stamp}) +
+ + #{v.project} © Ralph Amissah + 1993, current 2015. + All Rights Reserved. +
+ #{v.project} is software for document structuring, publishing and search, +
+ + www.jus.uio.no/sisu + + and + + www.sisudoc.org + + sources + + git.sisudoc.org + +
+ w3 since October 3 1993 + + ralph@amissah.com + +
+ mailing list subscription + + http://lists.sisudoc.org/listinfo/sisu + +
+ + sisu@lists.sisudoc.org + +

+
+

+ #{v.project} using: +
Standard SiSU markup syntax, +
Standard SiSU meta-markup syntax, and the +
Standard SiSU object citation numbering and system, (object/text identifying/locating system) +
+ © Ralph Amissah 1997, current 2015. + All Rights Reserved. +

+
+

+ + .: + +

+
+

+ SiSU is released under + GPL v3 + or later, + + http://www.gnu.org/licenses/gpl.html + +

+
+

+ #{v.project}, developed using + + Ruby + + on + + Debian/Gnu/Linux + + software infrastructure, + with the usual GPL (or OSS) suspects. +

+
+ + + WOK + end + WOK_SQL + end + def main1 + <<-'WOK_SQL' + @tail=tail + @counter_txt_doc,@counter_txt_ocn,@counter_endn_doc,@counter_endn_ocn=0,0,0,0 + @counters_txt,@counters_endn,@sql_select_body='','','' + FCGI.each_cgi do |cgi| + begin # all code goes in begin section + @search={ text: [], endnotes: [] } + q=CGI.new + @db=if cgi['db'] =~ /#{@db_name_prefix}(\S+)/ + @stub=$1 + cgi['db'] + else + @stub=@stub_default + @db_name_prefix + @stub + end + checked_url,checked_stats,checked_searched,checked_tip,checked_case,checked_echo,checked_sql,checked_all,checked_none,checked_selected,checked_default,selected_db='','','','','','','','','' + result_type=(cgi['view']=~/text/) \ + ? result_type={ index: '', text: 'checked'} + : result_type={ index: 'checked', text: ''} + @@limit=if cgi['sql_match_limit'].to_s=~/2500/ + checked_sql_limit={ l1000: '', l2500: 'checked'} + '2500' + else + checked_sql_limit={ l1000: 'checked', l2500: ''} + '1000' + end + checked_echo='checked' if cgi['echo'] =~/\S/ + checked_stats='checked' if cgi['stats'] =~/\S/ + checked_url='checked' if cgi['url'] =~/\S/ or cgi['u'].to_i==1 + checked_searched='checked' if cgi['searched'] =~/\S/ + checked_tip='checked' if cgi['tip'] =~/\S/ + checked_case='checked' if cgi['casesense'] =~/\S/ + checked_sql='checked' if cgi['sql'] =~/\S/ + if cgi['checks'] =~/check_all/ or cgi['check_all'] =~/\S/ or cgi['a'].to_i==1 + checked_all='checked' + checked_echo=checked_stats=checked_url=checked_searched=checked_tip=checked_sql='checked' + checked_none='' + elsif cgi['checks'] =~/check_none/ + checked_none='checked' + checked_all=checked_url=checked_stats=checked_searched=checked_tip=checked_echo=checked_sql='' + elsif cgi['checks'] =~/check_selected/ + checked_selected='checked' + elsif cgi['checks'] =~/check_default/ + checked_default='checked' + checked_echo=checked_stats=checked_url='checked' + checked_searched=checked_tip=checked_case=checked_sql='' + else + checked_selected='checked' + checked_echo=checked_stats=checked_url='checked' + checked_searched=checked_tip=checked_case=checked_sql='' + end + WOK_SQL + end + def main2 + <<-'WOK_SQL' + search_field=cgi['find'] if cgi['find'] # =~/\S+/ + @search_for=SearchRequest.new(search_field,q) #.analyze #% search_for + #% searches + #Canned_search.new(@base,@search_for.text1,cgi) + if @search_for.text1=~/\S+/ or @search_for.fulltext=~/\S+/ or @search_for.author=~/\S+/ or @search_for.topic_register=~/\S+/ #and search_field =~/\S/ + s1='s1=' + CGI.escape(@search_for.text1) if @search_for.text1=~/\S/ + ft='&ft=' + CGI.escape(@search_for.fulltext) if @search_for.fulltext=~/\S/ + key='key=' + CGI.escape(@search_for.keywords) if @search_for.keywords=~/\S/ + ti='&ti=' + CGI.escape(@search_for.title) if @search_for.title=~/\S/ + au='&au=' + CGI.escape(@search_for.author) if @search_for.author=~/\S/ + tr='&tr=' + CGI.escape(@search_for.topic_register) if @search_for.topic_register=~/\S/ + sj='&sj=' + CGI.escape(@search_for.subject) if @search_for.subject=~/\S/ + dsc='&dsc=' + CGI.escape(@search_for.description) if @search_for.description=~/\S/ + pb='&pb=' + CGI.escape(@search_for.publisher) if @search_for.publisher=~/\S/ + edt='&edt=' + CGI.escape(@search_for.editor) if @search_for.editor=~/\S/ + cntr='&cntr=' + CGI.escape(@search_for.contributor) if @search_for.contributor=~/\S/ + dt='&dt=' + CGI.escape(@search_for.date) if @search_for.date=~/\S/ + ty='&ty=' + CGI.escape(@search_for.type) if @search_for.type=~/\S/ + id='&id=' + CGI.escape(@search_for.identifier) if @search_for.identifier=~/\S/ + src='&src=' + CGI.escape(@search_for.source) if @search_for.source=~/\S/ + lang='&lang=' + CGI.escape(@search_for.language) if @search_for.language=~/\S/ + rel='&rel=' + CGI.escape(@search_for.relation) if @search_for.relation=~/\S/ + cov='&cov=' + CGI.escape(@search_for.coverage) if @search_for.coverage=~/\S/ + cr='&cr=' + CGI.escape(@search_for.rights) if @search_for.rights=~/\S/ + co='&co=' + CGI.escape(@search_for.comment) if @search_for.comment=~/\S/ + ab='&ab=' + CGI.escape(@search_for.abstract) if @search_for.abstract=~/\S/ + dtc='&dtc=' + CGI.escape(@search_for.date_created) if @search_for.date_created=~/\S/ + dti='&dti=' + CGI.escape(@search_for.date_issued) if @search_for.date_issued=~/\S/ + dtm='&dtm=' + CGI.escape(@search_for.date_modified) if @search_for.date_modified=~/\S/ + dta='&dta=' + CGI.escape(@search_for.date_available) if @search_for.date_available=~/\S/ + dtv='&dtv=' + CGI.escape(@search_for.date_valid) if @search_for.date_valid=~/\S/ + fns='&fns=' + CGI.escape(@search_for.filename) if @search_for.filename=~/\S/ + @@canned_search_url=(checked_all =~/checked/) \ + ? "#{@base}?#{s1}#{ft}#{key}#{ti}#{au}#{tr}#{sj}#{dsc}#{pb}#{edt}#{cntr}#{dt}#{ty}#{id}#{src}#{lang}#{rel}#{cov}#{cr}#{co}#{ab}#{dtc}#{dti}#{dtm}#{dta}#{dtv}#{fns}&db=#{cgi['db']}&view=#{cgi['view']}&a=1" + : "#{@base}?#{s1}#{ft}#{key}#{ti}#{au}#{tr}#{sj}#{dsc}#{pb}#{edt}#{cntr}#{dt}#{ty}#{id}#{src}#{lang}#{rel}#{cov}#{cr}#{co}#{ab}#{dtc}#{dti}#{dtm}#{dta}#{dtv}#{fns}&db=#{cgi['db']}&view=#{cgi['view']}" + mod=ft=~/\S+/ ? (ft.gsub(/ft/,'s1')) : s1 + @canned_base_url="#{@base}?#{mod}&db=#{cgi['db']}" + if checked_case=~/\S/ + @search[:text][1]=%{doc_objects.clean~'#{@search_for.text1}'} #s1 + else + @search[:text][1]=%{doc_objects.clean~*'#{@search_for.text1}'} #s1 + end + canned_note='search url:' + else + @@canned_search_url="#{@base}?db=#{@db}&view=index" + canned_note='search url example:' + end + if search_field =~/\S+/ + analyze_format=search_field.gsub(/\s*\n/,'; ') + elsif checked_all =~/checked/ or checked_url =~/checked/ + canned_search=@@canned_search_url.scan(/(?:s1|ft|au|ti|fns|tr)=[^&]+/) + af=canned_search.join('; ') + af=af.gsub(/s1=/,'text: '). + gsub(/ft=/,'fulltxt: '). + gsub(/au=/,'author: '). + gsub(/ti=/,'title: '). + gsub(/fns=/,'filename: '). + gsub(/tr=/,'topic_register: '). + gsub(/%2B/,' ') + analyze_format=af + st=af.split(/\s*;\s*/) + search_field=st.join("\n") + end + green=%{} + canned_search_url_txt=CGI.escapeHTML(@@canned_search_url) + the_can=%{#{canned_note} #{canned_search_url_txt}
} + p_text=p_fulltext=p_keywords=p_title=p_author=p_topic_register=p_subject=p_description=p_publisher=p_editor=p_contributor=p_date=p_type=p_format=p_identifier=p_source=p_language=p_relation=p_coverage=p_rights=p_comment=p_abstract=p_filename='' + p_filename=%{filename: #{green}#{@search_for.filename}

} if @search_for.filename =~/\S+/ + p_text=%{text: #{green}#{@search_for.text1}
} if @search_for.text1 =~/\S+/ + p_fulltext=%{fulltxt: #{green}#{@search_for.fulltext}
} if @search_for.fulltext =~/\S+/ + p_title=%{title: #{green}#{@search_for.title}
} if @search_for.title =~/\S+/ + p_author=%{author: #{green}#{@search_for.author}
} if @search_for.author =~/\S+/ + p_editor=%{editor: #{green}#{@search_for.editor}
} if @search_for.editor=~/\S+/ + p_contributor=%{contributor: #{green}#{@search_for.contributor}
} if @search_for.contributor =~/\S+/ + p_date=%{date: #{green}#{@search_for.date}
} if @search_for.date =~/\S+/ + p_rights=%{rights: #{green}#{@search_for.rights}
} if @search_for.rights =~/\S+/ + p_topic_register=%{topic_register: #{green}#{@search_for.topic_register}
} if @search_for.topic_register =~/\S+/ + p_subject=%{subject: #{green}#{@search_for.subject}
} if @search_for.subject =~/\S+/ + p_keywords=%{keywords: #{green}#{@search_for.keywords}
} if @search_for.keywords =~/\S+/ + p_identifier=%{identifier: #{green}#{@search_for.identifier}
} if @search_for.identifier =~/\S+/ + p_type=%{type: #{green}#{@search_for.type}
} if @search_for.type =~/\S+/ + p_format=%{format: #{green}#{@search_for.format}
} if @search_for.format =~/\S+/ + p_relation=%{relation: #{green}#{@search_for.relation}
} if @search_for.relation =~/\S+/ + p_coverage=%{coverage: #{green}#{@search_for.coverage}
} if @search_for.coverage =~/\S+/ + p_description=%{description: #{green}#{@search_for.description}
} if @search_for.description =~/\S+/ + p_abstract=%{abstract: #{green}#{@search_for.abstract}
} if @search_for.abstract =~/\S+/ + p_comment=%{comment: #{green}#{@search_for.comment}
} if @search_for.comment =~/\S+/ + p_publisher=%{publisher: #{green}#{@search_for.publisher}
} if @search_for.publisher =~/\S+/ + p_source=%{source: #{green}#{@search_for.source}
} if @search_for.source =~/\S+/ + p_language=%{language: #{green}#{@search_for.language}
} if @search_for.language =~/\S+/ + search_note=<<-WOK + + database: #{green}#{@db}; selected view: #{green}#{cgi['view']} + search string: "#{green}#{analyze_format}"
+ #{p_text} #{p_fulltext} #{p_keywords} #{p_title} #{p_author} #{p_topic_register} #{p_subject} #{p_description} #{p_publisher} #{p_editor} #{p_contributor} #{p_date} #{p_type} #{p_format} #{p_identifier} #{p_source} #{p_language} #{p_relation} #{p_coverage} #{p_rights} #{p_comment} #{p_abstract} #{p_filename} + + WOK + #eg = %{canned search e.g.:
#{url}
find: #{analyze}
database: #{database}} + #% dbi_canning + @header=Form.new(@base,search_field,selected_db,result_type,checked_sql_limit,checked_tip,checked_stats,checked_searched,checked_url,checked_case,checked_echo,checked_sql,checked_all,checked_none,checked_selected,checked_default,search_note,the_can).submission_form #% form + unless q['s1'] =~/\S/ or q['au'] =~/\S/ or @search[:text][1] =~/\S/ + print "Content-type: text/html\n\n" + puts (@header+@tail) + else #% searches + s1=(@search_for.text1 =~/\S/) \ + ? @search_for.text1 + : 'Unavailable' + if checked_case=~/\S/ + @search[:text]<<%{doc_objects.clean~'#{CGI.unescape(s1)}'} + else + @search[:text]<<%{doc_objects.clean~*'#{CGI.unescape(s1)}'} + end + #% dbi_request + dbi_statement=DBI_SearchStatement.new(@conn,@search_for,q,checked_case) + @text_search_flag=false + @text_search_flag=dbi_statement.text_search_flag + s_contents=dbi_statement.contents + @body_main='' + @search_regx=nil + oldtid=0 + if @text_search_flag + if checked_sql =~/\S/ + sql_select_body=dbi_statement.sql_select_body_format + else sql_select_body='' + end + @body_main << sql_select_body + else + end + @hostpath="#{@hosturl_files}/#{@stub}" + WOK_SQL + end + def dir_structure #@opt.dir_structure_by + <<-'WOK_SQL' + def path_manifest(fn,ln=nil) + case @output_dir_structure_by + when 'filename' + @lingual =='mono' \ + ? "#{@hostpath}/#{fn}/sisu_manifest.html" + : "#{@hostpath}/#{fn}/sisu_manifest.#{ln}.html" + when 'filetype' + @lingual =='mono' \ + ? "#{@hostpath}/manifest/#{fn}.html" + : "#{@hostpath}/manifest/#{fn}.#{ln}.html" + else + "#{@hostpath}/#{ln}/manifest/#{fn}.html" + end + end + def path_html_seg(fn,ln=nil) + case @output_dir_structure_by + when 'filename' + "#{@hostpath}/#{fn}" + when 'filetype' + "#{@hostpath}/html/#{fn}" + else + "#{@hostpath}/#{ln}/html/#{fn}" + end + end + def path_toc(fn,ln=nil) + if @output_dir_structure_by =='filename' \ + or @output_dir_structure_by =='filetype' + @lingual =='mono' \ + ? "#{path_html_seg(fn,ln)}/toc.html" + : "#{path_html_seg(fn,ln)}/toc.#{ln}.html" + else + "#{path_html_seg(fn,ln)}/toc.html" + end + end + def path_filename(fn,seg,ln=nil) + if @output_dir_structure_by =='filename' \ + or @output_dir_structure_by =='filetype' + @lingual =='mono' \ + ? "#{path_html_seg(fn,ln)}/#{seg}.html" + : "#{path_html_seg(fn,ln)}/#{seg}.#{ln}.html" + else + "#{path_html_seg(fn,ln)}/#{seg}.html" + end + end + def path_html_doc(fn,ln=nil) + case @output_dir_structure_by + when 'filename' + @lingual =='mono' \ + ? "#{path_html_seg(fn,ln)}/scroll.html" + : "#{path_html_seg(fn,ln)}/scroll.#{ln}.html" + when 'filetype' + @lingual =='mono' \ + ? "#{@hostpath}/html/#{fn}.html" + : "#{@hostpath}/html/#{fn}.#{ln}.html" + else + "#{@hostpath}/#{ln}/html/#{fn}.html" + end + end + WOK_SQL + end + def main3 + <<-'WOK_SQL' + #% text_objects_body + s_contents.each do |c| #% text body + location=c['src_filename'][/(.+?)\.(?:ssm\.sst|sst)$/,1] + file_suffix=c['src_filename'][/.+?\.(ssm\.sst|sst)$/,1] + lang=if location =~ /\S+?~(\S\S\S?)$/ + l=location[/\S+?~(\S\S\S?)$/,1] + location=location.gsub(/(\S+?)~\S\S\S?/,'\1') + l=".#{l}" + else '' + end + #% metadata_found_body + if c['tid'].to_i != oldtid.to_i + ti=c['title'] + can_txt_srch=(cgi['view']=~/index/) \ + ? %{search } + : %{search } + title=%{toc html #{ti} [#{c['language_document_char']}] by #{c['creator_author']} manifest #{can_txt_srch}
} if file_suffix=~/s/ #hmm watch file_suffix + title=@text_search_flag \ + ? '

'+title + : '
'+title + @counter_txt_doc+=1 + oldtid=c['tid'].to_i + else title='' + end + if @text_search_flag + if cgi['view']=~/text/ \ + or (cgi['view']!~/index/ and cgi['search'] !~/search db/) #% txt body + text=if c['suffix'] !~/1/ #seg + if @search_for.text1 =~/\S+/ \ + or q['s1'] =~/\S+/ #% only this branch is working !! + unescaped_search=if @search_for.text1 =~/\S+/ + CGI.unescape(@search_for.text1) + elsif q['s1'] =~/\S+/ + CGI.unescape(q['s1']) + else nil + end + @search_regx=if unescaped_search #check + search_regex=unescaped_search.scan(/\S+/).each.map do |g| + (g.to_s =~/(AND|OR)/) \ + ? ('|') + : (%{#{g.to_s}}) + end.join(' ') + search_regex=search_regex.gsub(/\s*\|\s*/,'|') + Regexp.new(search_regex, Regexp::IGNORECASE) + else nil + end + else nil + end + matched_para=(@search_regx.to_s.class==String && @search_regx.to_s=~/\S\S+/) \ + ? (c['body'].gsub(/(<\s]+#{@search_regx}[^>]+?>|#{@search_regx})/mi,%{\\1})) + : c['body'] + %{

ocn #{c['ocn']}:

#{matched_para}} + elsif c['suffix'] =~/1/ #doc + %{#{title}

ocn #{c['ocn']}:#{c['body']}} + end + @counter_txt_ocn+=1 + output=title+text + else #elsif cgi['view']=~/index/ #% idx body + if c['suffix'] !~/1/ #seg + index=%{#{c['ocn']}, } if @text_search_flag + elsif c['suffix'] =~/1/ #doc #FIX + index=%{#{c['ocn']}, } + end + if c['seg'] =~/\S+/ + if @text_search_flag + @counter_txt_ocn+=1 + output=title+index + end + else + @counter_txt_ocn+=1 + output=c['suffix'] !~/1/ \ + ? title+index + : %{#{title}#{c['ocn'].sort}, } + end + end + else output=title + end + @counters_txt=if @counter_txt_doc > 0 + if checked_stats =~/\S/ + @@lt_t=(@counter_txt_ocn==dbi_statement.sql_match_limit.to_i) ? true : false + start=(@@offset.to_i+1).to_s + range=(@@offset.to_i+@counter_txt_ocn.to_i).to_s + %{


Found #{@counter_txt_ocn} times in the main body of #{@counter_txt_doc} documents [ matches #{start} to #{range} ]
} + else '' + end + else '' + end + @body_main << output #+ details + end + oldtid = 0 + offset=dbi_statement.sql_offset.to_s + limit=dbi_statement.sql_match_limit.to_s + @@lt_t ||=false; @@lt_e ||=false + canned=(@@lt_t or @@lt_e) \ + ? dbi_statement.pre_next(true,@image_src).to_s + : dbi_statement.pre_next(false,@image_src).to_s + limit=dbi_statement.sql_match_limit.to_s + cgi.out{@header.force_encoding("UTF-8") + @counters_txt.force_encoding("UTF-8") + @counters_endn.force_encoding("UTF-8") + canned.force_encoding("UTF-8") + @body_main.force_encoding("UTF-8") + canned.force_encoding("UTF-8") + @tail.force_encoding("UTF-8")} #% print cgi_output_header+counters+body + end + rescue Exception => e + s='
' + CGI::escapeHTML(e.backtrace.reverse.join("\n"))
+          s << CGI::escapeHTML(e.message) + '
' + cgi.out{s} + next + ensure # eg. disconnect from server + @conn.disconnect if @conn + end + end + WOK_SQL + end + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + cgi + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/config.org b/org/config.org new file mode 100644 index 00000000..b44d9792 --- /dev/null +++ b/org/config.org @@ -0,0 +1,310 @@ +-*- mode: org -*- +#+TITLE: sisu configure site +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:config: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* conf.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/conf.rb" +# <> +module SiSU_Initialize + require_relative 'se' # se.rb + include SiSU_Env + include SiSU_Screen + require_relative 'relaxng' # relaxng.rb + include SiSU_Relaxng + require_relative 'css' # css.rb + include SiSU_Style + class Source + def initialize(opt) + @opt=opt + end + def read + ConfigSite.new(@opt).make_homepage + ConfigSite.new(@opt).css + ConfigSite.new(@opt).dtd + ConfigSite.new(@opt).cp_local_images + ConfigSite.new(@opt).cp_external_images + ConfigSite.new(@opt).cp_webserver_images + end + end + class ConfigSite #config files such as css are not updated if they already exist unless forced using the --init=site modifier + require_relative 'se' # se.rb + def initialize(opt) + @opt=opt + @env=SiSU_Env::InfoEnv.new(@opt.fns) + @suffix={ + rnc: 'rnc', + rng: 'rng', + xsd: 'xsd', + } + @path={ + xml: @env.path.output + '/_sisu/xml', + xsd: @env.path.output + '/_sisu/xml/xsd', + rnc: @env.path.output + '/_sisu/xml/rnc', + rng: @env.path.output + '/_sisu/xml/rng', + style: @env.path.output + '/' + @env.path.style, + } + @pwd,@home=Dir.pwd,@env.path.home + end + def make_homepage + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'invert', + 'Make homepage', + '' + ).colorize unless @opt.act[:quiet][:set]==:on + SiSU_Env::CreateSite.new(@opt).homepage + end + def cp_local_images + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'invert', + 'Copy images', + '' + ).colorize unless @opt.act[:quiet][:set]==:on + SiSU_Env::CreateSite.new(@opt).cp_local_images + SiSU_Env::CreateSite.new(@opt).cp_webserver_images_local #this should not have been necessary + SiSU_Env::CreateSite.new(@opt).cp_base_images #base images (nav etc.) used by all html + end + def cp_external_images + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'invert', + 'Copy external images', + '' + ).colorize if @opt.act[:verbose_plus][:set]==:on + SiSU_Env::CreateSite.new(@opt).cp_external_images + end + def cp_webserver_images + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'invert', + 'Copy webserver/output file images', + '' + ).colorize unless @opt.act[:quiet][:set]==:on + SiSU_Env::CreateSite.new(@opt).cp_webserver_images + end + def css + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'invert', + 'Configuring CSSs', + '' + ).colorize unless @opt.act[:quiet][:set]==:on + SiSU_Env::CreateSite.new(@opt).cp_css + end + def dtd + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'invert', + 'Configuring DTDs', + '' + ).colorize unless @opt.act[:quiet][:set]==:on + @rxng=SiSU_Relaxng::RelaxNG.new + @path.each { |d| FileUtils::mkdir_p(d[1]) \ + unless FileTest.directory?(d[1]) } + #ugly code, sort later + if @rxng.methods.join =~/[^_]dtd_sax\b/ + if @rxng.dtd_sax.length > 200 + dtd=File.new("#{@path[:style]}/#{@rxng.rng_name.output_sax}",'w') + dtd << @rxng.dtd_sax + dtd.close + else trang_rnc_model_output_sax + end + else trang_rnc_model_output_sax + end + if @rxng.methods.join =~/[^_]dtd_dom\b/ + if @rxng.dtd_dom.length > 200 + dtd=File.new("#{@path[:style]}/#{@rxng.rng_name.output_dom}",'w') + dtd << @rxng.dtd_dom + dtd.close + else trang_rnc_model_output_dom + end + else trang_rnc_model_output_dom + end + if @rxng.methods.join =~/[^_]dtd_node\b/ + if @rxng.dtd_node.length > 200 + dtd=File.new("#{@path[:style]}/#{@rxng.rng_name.input_node}",'w') + dtd << @rxng.dtd_node + dtd.close + else trang_rnc_model_input_node + end + else trang_rnc_model_input_node + end + if @rxng.methods.join =~/[^_]dtd_xhtml\b/ + if @rxng.dtd_xhtml.length > 200 + dtd=File.new("#{@path[:style]}/#{@rxng.rng_name.output_xhtml}",'w') + dtd << @rxng.dtd_xhtml + dtd.close + else trang_rnc_model_output_xhtml + end + else trang_rnc_model_output_xhtml + end + end + def trang_rnc_model_output_sax + s=@suffix + rnc_src=@env.processing_path.ao + '/sax.' + s[:rnc] + rnc_file=@path[:rnc] + '/' + @rxng.rnc_name.output_sax + rng_file=@path[:rng] + '/' + @rxng.rng_name.output_sax + xsd_file=@path[:xsd] + '/' + @rxng.xsd_name.output_sax + rnc=File.new(rnc_src,'w') + rnc << @rxng.rnc_model_output_sax + rnc.close + #xsd + schema=SiSU_Env::SystemCall.new(rnc_src,xsd_file) + schema.relaxng(@opt.selections.str) + #rng + schema=SiSU_Env::SystemCall.new(rnc_src,rng_file) + schema.relaxng(@opt.selections.str) + #rnc + if FileTest.file?(rnc_src) + FileUtils::cp(rnc_src,rnc_file) + FileUtils::chmod(0644,rnc_file) + else STDERR.puts %{\t*WARN* did not find rnc - "#{rnc_src}" [#{__FILE__}:#{__LINE__}]} + end + end + def trang_rnc_model_output_dom + s=@suffix + rnc_src=@env.processing_path.ao + '/dom.' + s[:rnc] + rnc_file=@path[:rnc] + '/' + @rxng.rnc_name.output_dom + rng_file=@path[:rng] + '/' + @rxng.rng_name.output_dom + xsd_file=@path[:xsd] + '/' + @rxng.xsd_name.output_dom + rnc=File.new(rnc_src,'w') + rnc << @rxng.rnc_model_output_dom + rnc.close + #xsd + schema=SiSU_Env::SystemCall.new(rnc_src,xsd_file) + schema.relaxng(@opt.selections.str) + #rng + schema=SiSU_Env::SystemCall.new(rnc_src,rng_file) + schema.relaxng(@opt.selections.str) + #rnc + if FileTest.file?(rnc_src) + FileUtils::cp(rnc_src,rnc_file) + FileUtils::chmod(0644,rnc_file) + else STDERR.puts %{\t*WARN* did not find rnc - "#{rnc_src}" [#{__FILE__}:#{__LINE__}]} + end + end + def trang_rnc_model_output_xhtml + s=@suffix + rnc_src=@env.processing_path.ao + '/xhtml.' + s[:rnc] + rnc_file=@path[:rnc] + '/' + @rxng.rnc_name.output_xhtml + rng_file=@path[:rng] + '/' + @rxng.rng_name.output_xhtml + xsd_file=@path[:xsd] + '/' + @rxng.xsd_name.output_xhtml + rnc=File.new(rnc_src,'w') + rnc << @rxng.rnc_model_output_xhtml + rnc.close + #xsd + schema=SiSU_Env::SystemCall.new(rnc_src,xsd_file) + schema.relaxng(@opt.selections.str) + #rng + schema=SiSU_Env::SystemCall.new(rnc_src,rng_file) + schema.relaxng(@opt.selections.str) + #rnc + if FileTest.file?(rnc_src) + FileUtils::cp(rnc_src,rnc_file) + FileUtils::chmod(0644,rnc_file) + else STDERR.puts %{\t*WARN* did not find rnc - "#{rnc_src}" [#{__FILE__}:#{__LINE__}]} + end + end + def trang_rnc_model_input_sax + rnc_file=@env.processing_path.ao + '/sax.rnc' + dtd_file=@path[:xsd] + '/' + @rxng.rng_name.input_sax + rnc=File.new(rnc_file,'w') + rnc << @rxng.rnc_model_output_sax + rnc.close + schema=SiSU_Env::SystemCall.new(rnc_file,dtd_file) + schema.relaxng(@opt.selections.str) + end + def trang_rnc_model_input_dom + rnc_file=@env.processing_path.ao + '/dom.rnc' + dtd_file=@path[:xsd] + '/' + @rxng.rng_name.input_dom + rnc=File.new(rnc_file,'w') + rnc << @rxng.rnc_model_output_dom + rnc.close + schema=SiSU_Env::SystemCall.new(rnc_file,dtd_file) + schema.relaxng(@opt.selections.str) + end + def trang_rnc_model_input_node + rnc_file=@env.processing_path.ao + '/node.rnc' + dtd_file=@path[:xsd] + '/' + @rxng.rng_name.input_node + rnc=File.new(rnc_file,'w') + rnc << @rxng.rnc_model_input_node + rnc.close + schema=SiSU_Env::SystemCall.new(rnc_file,dtd_file) + schema.relaxng(@opt.selections.str) + end + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + config + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, Ralph Amissah, + + - 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/css.org b/org/css.org new file mode 100644 index 00000000..266c0051 --- /dev/null +++ b/org/css.org @@ -0,0 +1,3508 @@ +-*- mode: org -*- +#+TITLE: sisu css +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:css: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* css.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/css.rb" +# <> +module SiSU_Style + require_relative 'se' # se.rb + require_relative 'html_parts' # html_parts.rb + class CSS_HeadInfo + def initialize(md,ft='html') + @md,@ft=md,ft + @env=SiSU_Env::InfoEnv.new('',md) + @fn_css ||=SiSU_Env::CSS_Default.new + @o_str ||=SiSU_Env::ProcessingSettings.new(md).output_dir_structure + css_copy + end + def stylesheet + def css_path + SiSU_Env::CSS_Stylesheet.new(@md) + end + def css_embed_content + @css_embed_content ||=SiSU_Style::CSS.new + end + def css_embed? + if @ft=='html' \ + && @o_str.dump_or_redirect? + true + else + false + end + end + def css_embed(css) + <<-WOK + + WOK + end + def css_action + css=case @ft + when 'html' + css=css_embed_content.html + css_embed(css) + when 'xhtml' + css_path.xhtml + when 'xml_sax' + css_path.xml_sax + when 'xml_dom' + css_path.xml_dom + when 'xml_docbook' + css_path.xml_docbook + else + css_embed_content.html + end + end + def css_head + (css_embed?) \ + ? css_action + : "#{css_path.html}#{css_path.html_seg}" + end + def css_head_seg + (css_embed?) \ + ? css_action + : css_path.html_seg + end + def css_head_xml + css_action + end + self + end + def css_copy + if @o_str.dump_or_redirect? + css=SiSU_Style::CSS.new + if @o_str.dump? + css_pth="#{@md.opt.opt_act[:dump][:inst]}/#{@env.path.style}" + elsif @o_str.redirect? + css_pth="#{@md.opt.opt_act[:redirect][:inst]}/#{@md.fnb}/#{@env.path.style}" + end + FileUtils::mkdir_p(css_pth) unless FileTest.directory?(css_pth) + case @ft + when 'html' + style=File.new("#{css_pth}/#{@fn_css.html}",'w') + style << css.html + style.close + when 'xhtml' + style=File.new("#{css_pth}/#{@fn_css.xhtml}",'w') + style << css.xhtml + style.close + when 'xml_sax' + style=File.new("#{css_pth}/#{@fn_css.xml_sax}",'w') + style << css.xml_sax + style.close + when 'xml_dom' + style=File.new("#{css_pth}/#{@fn_css.xml_dom}",'w') + style << css.xml_dom + style.close + css_path.xml_dom + when 'xml_docbook' + style=File.new("#{css_pth}/#{@fn_css.xml_docbook}",'w') + style << css.xml_docbook + style.close + css_path.xml_docbook + end + end + end + end + class CSS + include SiSU_Parts_HTML + def fonts + the_font.set_fonts + end + def html_tables #stylesheet for css table_pages +< + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/db.org b/org/db.org new file mode 100644 index 00000000..4a2f216b --- /dev/null +++ b/org/db.org @@ -0,0 +1,4808 @@ +-*- mode: org -*- +#+TITLE: sisu db sql +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:db:sql: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* dbi.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/dbi.rb" +# <> +module SiSU_DBI #% database building + require_relative 'se' # se.rb + include SiSU_Env; include SiSU_Screen + require_relative 'dp' # dp.rb + include SiSU_Param + require_relative 'db_dbi' # db_dbi.rb + include SiSU_DbDBI + require_relative 'html_lite_shared' # html_lite_shared.rb + include SiSU_FormatShared + class SQL + def initialize(opt) + @opt=opt + @db=SiSU_Env::InfoDb.new + if @opt.act[:psql][:set]==:on \ + or @opt.act[:sqlite][:set]==:on + @sql_type=if @opt.act[:psql][:set]==:on + maintenance_check(@opt,__FILE__,__LINE__) if @opt.act[:maintenance][:set]==:on + :pg + elsif @opt.act[:psql][:set]==:on + maintenance_check(@opt,__FILE__,__LINE__) if @opt.act[:maintenance][:set]==:on + :pg + elsif @opt.act[:sqlite][:set]==:on + maintenance_check(@opt,__FILE__,__LINE__) if @opt.act[:maintenance][:set]==:on + :sqlite + elsif @opt.act[:sqlite][:set]==:on + maintenance_check(@opt,__FILE__,__LINE__) if @opt.act[:maintenance][:set]==:on + :sqlite + else + maintenance_check(@opt,__FILE__,__LINE__) if @opt.act[:maintenance][:set]==:on + :sqlite + end + if @sql_type==:pg then SiSU_Env::Load.new('pg',true).prog + elsif @sql_type==:sqlite then SiSU_Env::Load.new('sqlite3',true).prog + end + end + end + def maintenance_check(opt,file,line) + p opt.selections.str + p "at #{file} #{line}" + end + def read_psql + begin + begin + require 'pg' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('pg NOT FOUND (LoadError)') + end + @conn=@db.psql.conn_pg + rescue + if @opt.act[:psql_create][:set]==:on + cX=SiSU_Screen::Ansi.new(@opt.act[:color_state][:set]).cX + puts <<-WOK +manually create the database: "#{cX.green}#{@db.db}#{cX.off}" if it does not yet exist + #{cX.yellow}createdb #{@db.db}#{cX.off} + WOK + #sudo su -p postgres; createdb #{@db.db}; #[createuser?] + end + ensure + end + end + def read_sqlite + begin + begin + begin + require 'sqlite3' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('sqlite3 NOT FOUND (LoadError)') + end + @conn=@db.sqlite.conn_sqlite3 + rescue LoadError + errmsg='sqlite3 NOT FOUND (LoadError)' + if @opt.act[:no_stop][:set]==:on + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error(errmsg + ', ' + 'attempt to proceed without sqlite output (as requested)') + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error(errmsg + ', ' + 'STOPPING') + exit + end + end + end + end + def connect + case @sql_type + when :pg then read_psql #read_pg + when :sqlite then read_sqlite + end + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "SQL DB #{@sql_type.upcase}", + @opt.fno + ).dbi_title unless @opt.act[:quiet][:set]==:on + begin + SiSU_DbDBI::Case.new(@opt,@conn,@sql_type).cases + rescue + SiSU_Errors::Rescued.new($!,$@,@cf,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + begin + rescue + connect + end + end + end +end +__END__ +#+END_SRC + +* dbi_discrete.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/dbi_discrete.rb" +# <> +module SiSU_DBI_Discrete #% database building + require_relative 'se' # se.rb + include SiSU_Env; include SiSU_Screen + require_relative 'dp' # dp.rb + include SiSU_Param + require_relative 'db_dbi' # db_dbi.rb + include SiSU_DbDBI + require_relative 'html_lite_shared' # html_lite_shared.rb + include SiSU_FormatShared + begin + require 'fileutils' + include FileUtils::Verbose + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('fileutils NOT FOUND (LoadError)') + end + class SQL + def initialize(opt) + SiSU_Env::Load.new('sqlite3',true).prog + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + @md=@particulars.md + if @opt.act[:sqlite][:set]==:on + @sql_type=:sqlite + if @opt.act[:maintenance][:set]==:on + maintenance_check(@opt,__FILE__,__LINE__) + end + end + @output_path=@md.file.output_path.sqlite_discrete.dir + @filename=@md.file.base_filename.sqlite_discrete + @file_maint=sql_maintenance_file + @file="#{@output_path}/#{@filename}" + end + def build + prepare + create_and_populate + end + def maintenance_check(opt,file,line) + #p opt.selections.str + 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.is_a?(NilClass) + puts msg + exit + end + end + def create_and_populate + db=SiSU_Env::DbOp.new(@md) + conn=db.sqlite_discrete.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 + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'SQLite (discrete)', + "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}" + ).green_title_hi unless @opt.act[:quiet][:set]==:on + 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_maint,:sqlite) + sdb_import.marshal_load + tell=SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "sqlite3 #{db.sqlite.db} database?" + ) + tell.puts_grey if @opt.act[:verbose][:set]==:on + rescue + SiSU_Errors::Rescued.new($!,$@,'-d').location do + __LINE__.to_s + ':' + __FILE__ + end + sdb.output_dir? + end + end + def read_sqlite + begin + begin + require 'sqlite3' + @conn=@db.sqlite.conn_sqlite3 + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('sqlite3 not available') + ensure + Dir.chdir(@opt.f_pth[:pth]) + end + end + end + def connect + begin + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "DBI (#{@sql_type}) #{@opt.selections.str}", + @opt.fns + ).dbi_title unless @opt.act[:quiet][:set]==:on + @db.sqlite_discrete.conn_sqlite3 + rescue + SiSU_Errors::Rescued.new($!,$@,@cf,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def populate + end + def sql_maintenance_file + file=if @opt.act[:maintenance][:set]==:on + if @opt.fns and not @opt.fns.empty? + @env=SiSU_Env::InfoEnv.new(@opt.fns) if @opt.fns + if @sql_type ==:sqlite + puts "\n#{@env.processing_path.sqlite}/#{@opt.fns}.sql" + end + @db=SiSU_Env::InfoDb.new + @job="sqlite3 #{@db.sqlite.db} < #{@env.processing_path.sqlite}/#{@opt.fns}.sql" + if @sql_type ==:sqlite + File.new("#{@env.processing_path.sqlite}/#{@opt.fns}.sql",'w+') + else + File.new("#{@env.processing_path.postgresql}/#{@opt.fns}.sql",'w+') + end + elsif @opt.fns \ + and @opt.fns.inspect =~/create/ + nil #sort variations later + else nil + end + else nil + end + file + end + end +end +__END__ +#+END_SRC + +* db_dbi.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/db_dbi.rb" +# <> +module SiSU_DbDBI + require_relative 'db_columns' # db_columns.rb + require_relative 'db_tests' # db_tests.rb + require_relative 'db_create' # db_create.rb + require_relative 'db_select' # db_select.rb + require_relative 'db_indexes' # db_indexes.rb + require_relative 'db_drop' # db_drop.rb + require_relative 'db_remove' # db_remove.rb + require_relative 'db_load_tuple' # db_load_tuple.rb + require_relative 'db_import' # db_import.rb + class ColumnSize < SiSU_DbColumns::ColumnSize # db_columns.rb + end + class Test < SiSU_DbTests::Test # db_tests.rb + end + class Create > +module SiSU_DbText + class Prepare + def special_character_escape(str) + str=str.to_s.gsub(/'/m,"''"). #string.gsub!(/'/,"\047") #string.gsub!(/'/,"\\'") + gsub(/(\\)/m,'\1\1'). #ok but with warnings, double backslash on sqlite #str.gsub!(/[\\]/m,'\\x5C') #ok but with warnings, but not for sqlite #str.gsub!(/(\\)/m,'\1') #ok for sqlite not for pgsql + gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}/m,"
\n"). + gsub(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/m,''). #check + gsub(/#{Mx[:lnk_o]}\s*(\S+?\.(?:png|jpg))(?:\s+\d+x\d+)?(.+?)#{Mx[:lnk_c]}\S+/m,'[image: \1] \2'). + gsub(/#{Mx[:lnk_o]}\s*(.+?)\s*#{Mx[:lnk_c]}(?:file|ftp):\/\/\S+?([.,!?]?(?:\s|$))/m,'\1\2'). + gsub(/#{Mx[:lnk_o]}\s*(.+?)\s*#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/m,'\1') + end + def clean_searchable_text_from_document_objects(arr) + en=[] + arr=(arr.is_a?(String)) ? [ arr ] : arr + txt_arr=arr.each.map do |s| + s=s.gsub(/#{Mx[:fa_o]}[a-z]{1,4}#{Mx[:fa_o_c]}/m,''). + gsub(/#{Mx[:fa_c_o]}[a-z]{1,4}#{Mx[:fa_c]}/m,''). + gsub(/
/m,' ') + en << s.scan(/#{Mx[:en_a_o]}\s*(.+?)\s*#{Mx[:en_a_c]}/m) + s=s.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}/m,''). + gsub(/#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/m,''). + gsub(/ \s+/m,' ') + #p s if s =~/[^ \nA-Za-z0-9'"`?!#@$%^&*=+,.;:\[\]()<>{}‹›|\\\/~_-]/ + s + end + txt_arr=txt_arr << en + txt=txt_arr.flatten.join("\n") + special_character_escape(txt) + end + def clean_document_objects_body(arr) + en=[] + arr=(arr.is_a?(String)) ? [ arr ] : arr + txt_arr=arr.each.map do |s| + en << s.scan(/#{Mx[:en_a_o]}\s*(.+?)\s*#{Mx[:en_a_c]}/m) + s=s. + gsub(/#{Mx[:en_a_o]}\s*(\d+).+?#{Mx[:en_a_c]}/m, + '\1'). + gsub(/#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/m,''). + gsub(/ \s+/m,' ') + s + end + en_arr=en.flatten.each.map do |e| + e.sub(/^(\d+)\s*/,'\1 ') + end + txt_arr=txt_arr << en_arr + txt=txt_arr.flatten.join("\n
") + special_character_escape(txt) + end + def clean_searchable_text_from_document_source(arr) + txt_arr,en=[],[] + arr=(arr.is_a?(String)) ? arr.split(/\n+/m) : arr + arr.each do |s| + s=s.gsub(/([*\/_-])\{(.+?)\}\1/m,'\2'). + gsub(/^(?:block|group|poem|code)\{/m,''). + gsub(/^\}(?:block|group|poem|code)/m,''). + gsub(/\A(?:@\S+:\s+.+)\Z/m,'') + if s =~/^:A~/ + if defined? @md.creator \ + and defined? @md.creator.author \ + and not @md.creator.author.empty? + s=s.gsub(/@author/,@md.creator.author) + else + SiSU_Screen::Ansi.new( + 'v', + 'WARNING Document Author information missing; provide @creator: :author:', + @md.fnb + ).warn unless @md.opt.act[:quiet][:set]==:on + end + if defined? @md.title \ + and defined? @md.title.full \ + and not @md.title.full.empty? + s=s.gsub(/@title/,@md.title.full) + else + SiSU_Screen::Ansi.new( + 'v', + 'WARNING Document Title missing; provide @title:', + @md.fnb + ).warn unless @md.opt.act[:quiet][:set]==:on + end + end + s=s.gsub(/^(?:_[1-9]\*?|_\*)\s+/m,''). + gsub(/^(?:[1-9]\~(\S+)?)\s+/m,''). + gsub(/^(?::?[A-C]\~(\S+)?)\s+/m,''). + gsub(/^%{1,3} .+/m,''). #removed even if contained in code block + gsub(/
/m,' ') + #en << s.scan(/~\{\s*(.+?)\s*\}~/m) + s=s.gsub(/~\{.+?\}~/m,''). + gsub(/ \s+/m,' ') + ##special_character_escape(s) + #p s if s =~/[^ \nA-Za-z0-9'"`?!#@$%^&*=+,.;:\[\]()<>{}‹›|\\\/~_-]/ + s + end + txt_arr << arr << en + txt=txt_arr.flatten.join("\n") + txt=special_character_escape(txt) + txt + end + def strip_markup(str) #define rules, make same as in dal clean + str=str.gsub(/#{Mx[:fa_superscript_o]}(\d+)#{Mx[:fa_superscript_c]}/,'[\1]'). + gsub(/(?: \\;|#{Mx[:nbsp]})+/,' '). + gsub(/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}\d+(.+)#{Mx[:tc_c]}/u,'\1'). #tables + gsub(/#{Mx[:tc_p]}#{Mx[:tc_p]}\d+#{Mx[:tc_p]}/u,' '). #tables + gsub(/#{Mx[:tc_p]}/u,' '). #tables tidy later + gsub(/<.+?>/,''). + gsub(/#{Mx[:lnk_o]}.+?\.(?:png|jpg|gif).+?#{Mx[:lnk_c]}(?:file|ftp)\/\/:\S+ /,' [image] '). # else image names found in search + gsub(/#{Mx[:lnk_o]}.+?\.(?:png|jpg|gif).+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,' [image]'). # else image names found in search + gsub(/\s\s+/,' '). + strip + end + def unique_words(str) + a=str.scan(/[a-zA-Z0-9\\\/_-]{2,}/) #a=str.scan(/\S+{2,}/) + str=a.uniq.sort.join(' ') + str + end + end +end +__END__ +#+END_SRC + +* create drop import remove +** db_create.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/db_create.rb" +# <> +module SiSU_DbCreate + require_relative 'db_columns' # db_columns.rb + class Create < SiSU_DbColumns::Columns + require_relative 'se' # se.rb + @@dl=nil + def initialize(opt,conn,file,sql_type=:pg) + @opt,@conn,@file,@sql_type=opt,conn,file,sql_type + @cX=SiSU_Screen::Ansi.new(@opt.act[:color_state][:set]).cX + @comment=(@sql_type==:pg) \ + ? (SiSU_DbCreate::Comment.new(@conn,@sql_type)) + : nil + @@dl ||=SiSU_Env::InfoEnv.new.digest.length + end + def available + DBI.available_drivers.each do |driver| + puts "Driver: #{driver}" + DBI.data_sources(driver).each do |dsn| + puts "\tDatasource: #{dsn}" + end + end + end + def create_db + @env=SiSU_Env::InfoEnv.new(@opt.fns) + tell=(@sql_type==:sqlite) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Create SQLite db tables in:', + %{"#{@file}"} + ) + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Create pgSQL db tables in:', + %{"#{Db[:name_prefix]}#{@env.path.base_markup_dir_stub}"} + ) + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + tell.dark_grey_title_hi + end + SiSU_Env::SystemCall.new.create_pg_db(@env.path.base_markup_dir_stub) if @sql_type==:pg #watch use of path.base_markup_dir_stub instead of stub + end + def output_dir? + dir=SiSU_Env::InfoEnv.new('') + if @opt.act[:sqlite][:set]==:on + dir.path.webserv_stub_ensure + end + end + def create_table + def conn_exec(sql) + if @sql_type==:pg + conn_exec_pg(sql) + elsif @sql_type==:sqlite + conn_exec_sqlite(sql) + end + end + def conn_exec_pg(sql) + begin + @conn.exec_params(sql) + rescue + if @conn.is_a?(NilClass) + errmsg="No pg connection (check pg dependencies)" + if @opt.act[:no_stop][:set]==:on + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error("#{errmsg}, proceeding without pg output (as requested)") + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error("#{errmsg}, STOPPING") + exit + end + end + end + end + def conn_exec_sqlite(sql) + begin + @conn.execute(sql) + rescue + if @conn.is_a?(NilClass) + errmsg="No sqlite3 connection (check sqlite3 dependencies)" + if @opt.act[:no_stop][:set]==:on + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error("#{errmsg}, proceeding without sqlite output (as requested)") + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error("#{errmsg}, STOPPING") + exit + end + end + end + end + def metadata_and_text + if (@opt.act[:verbose_plus][:set]==:on \ + or @opt.act[:maintenance][:set]==:on) + print %{ + currently using sisu_dbi module + to be populated from document files + create tables metadata_and_text + data import through ruby transfer + } + end + create_metadata_and_text=%{ + CREATE TABLE metadata_and_text ( + tid BIGINT PRIMARY KEY, + /* title */ + #{column.title.create_column} + #{column.title_main.create_column} + #{column.title_sub.create_column} + #{column.title_short.create_column} + #{column.title_edition.create_column} + #{column.title_note.create_column} + #{column.title_language.create_column} + #{column.title_language_char.create_column} + /* creator */ + #{column.creator_author.create_column} + #{column.creator_author_honorific.create_column} + #{column.creator_author_nationality.create_column} + #{column.creator_editor.create_column} + #{column.creator_contributor.create_column} + #{column.creator_illustrator.create_column} + #{column.creator_photographer.create_column} + #{column.creator_translator.create_column} + #{column.creator_prepared_by.create_column} + #{column.creator_digitized_by.create_column} + #{column.creator_audio.create_column} + #{column.creator_video.create_column} + /* language */ + #{column.language_document.create_column} + #{column.language_document_char.create_column} + #{column.language_original.create_column} + #{column.language_original_char.create_column} + /* date */ + #{column.date_added_to_site.create_column} + #{column.date_available.create_column} + #{column.date_created.create_column} + #{column.date_issued.create_column} + #{column.date_modified.create_column} + #{column.date_published.create_column} + #{column.date_valid.create_column} + #{column.date_translated.create_column} + #{column.date_original_publication.create_column} + #{column.date_generated.create_column} + /* publisher */ + #{column.publisher.create_column} + /* original */ + #{column.original_publisher.create_column} + #{column.original_language.create_column} + #{column.original_language_char.create_column} + #{column.original_source.create_column} + #{column.original_institution.create_column} + #{column.original_nationality.create_column} + /* rights */ + #{column.rights_all.create_column} + #{column.rights_copyright_text.create_column} + #{column.rights_copyright_translation.create_column} + #{column.rights_copyright_illustrations.create_column} + #{column.rights_copyright_photographs.create_column} + #{column.rights_copyright_preparation.create_column} + #{column.rights_copyright_digitization.create_column} + #{column.rights_copyright_audio.create_column} + #{column.rights_copyright_video.create_column} + #{column.rights_license.create_column} + /* classify */ + #{column.classify_topic_register.create_column} + #{column.classify_subject.create_column} + #{column.classify_loc.create_column} + #{column.classify_dewey.create_column} + #{column.classify_keywords.create_column} + /* identifier */ + #{column.identifier_oclc.create_column} + #{column.identifier_isbn.create_column} + /* notes */ + #{column.notes_abstract.create_column} + #{column.notes_description.create_column} + #{column.notes_comment.create_column} + #{column.notes_history.create_column} + #{column.notes_coverage.create_column} + #{column.notes_relation.create_column} + /* column.notes_source.create_column */ + #{column.notes_type.create_column} + #{column.notes_format.create_column} + #{column.notes_prefix.create_column} + #{column.notes_prefix_a.create_column} + #{column.notes_prefix_b.create_column} + #{column.notes_suffix.create_column} + /* src */ + #{column.src_filename.create_column} + #{column.src_fingerprint.create_column} + #{column.src_filesize.create_column} + #{column.src_word_count.create_column} + #{column.src_txt.create_column} + /* misc */ + #{column.fulltext.create_column} + #{column.links.create_column.gsub(/,$/,'')} +/* subj VARCHAR(64) NULL, */ +/* contact VARCHAR(100) NULL, */ +/* information VARCHAR(100) NULL, */ +/* types CHAR(1) NULL, */ +/* writing_focus_nationality VARCHAR(100) NULL, */ + ); + } + conn_exec(create_metadata_and_text) + @comment.psql.metadata_and_text if @comment + end + def doc_objects # create doc_objects base + if (@opt.act[:verbose_plus][:set]==:on \ + or @opt.act[:maintenance][:set]==:on) + print %{ + to be populated from documents files + create tables doc_objects + data import through ruby transfer + } + end + create_doc_objects=%{ + CREATE TABLE doc_objects ( + lid BIGINT PRIMARY KEY, + metadata_tid BIGINT REFERENCES metadata_and_text, + ocn SMALLINT, + ocnd VARCHAR(6), + ocns VARCHAR(6), + clean TEXT NULL, + body TEXT NULL, + book_idx TEXT NULL, + seg VARCHAR(256) NULL, + lev_an VARCHAR(1), + lev SMALLINT NULL, + lev0 SMALLINT, + lev1 SMALLINT, + lev2 SMALLINT, + lev3 SMALLINT, + lev4 SMALLINT, + lev5 SMALLINT, + lev6 SMALLINT, + lev7 SMALLINT, + en_a SMALLINT NULL, + en_z SMALLINT NULL, + en_a_asterisk SMALLINT NULL, + en_z_asterisk SMALLINT NULL, + en_a_plus SMALLINT NULL, + en_z_plus SMALLINT NULL, + t_of VARCHAR(16), + t_is VARCHAR(16), + node VARCHAR(16) NULL, + parent VARCHAR(16) NULL, + digest_clean CHAR(#{@@dl}), + digest_all CHAR(#{@@dl}), + types CHAR(1) NULL + ); + } + conn_exec(create_doc_objects) + @comment.psql.doc_objects if @comment + end + def endnotes + if (@opt.act[:verbose_plus][:set]==:on \ + or @opt.act[:maintenance][:set]==:on) + print %{ + to be populated from document files + create tables endnotes + data import through ruby transfer + } + end + create_endnotes=%{ + CREATE TABLE endnotes ( + nid BIGINT PRIMARY KEY, + document_lid BIGINT REFERENCES doc_objects, + nr SMALLINT, + clean TEXT NULL, + body TEXT NULL, + ocn SMALLINT, + ocnd VARCHAR(6), + ocns VARCHAR(6), + digest_clean CHAR(#{@@dl}), + metadata_tid BIGINT REFERENCES metadata_and_text + ); + } + conn_exec(create_endnotes) + @comment.psql.endnotes if @comment + end + def endnotes_asterisk + if (@opt.act[:verbose_plus][:set]==:on \ + or @opt.act[:maintenance][:set]==:on) + print %{ + to be populated from document files + create tables endnotes_asterisk + data import through ruby transfer + } + end + create_endnotes_asterisk=%{ + CREATE TABLE endnotes_asterisk ( + nid BIGINT PRIMARY KEY, + document_lid BIGINT REFERENCES doc_objects, + nr SMALLINT, + clean TEXT NULL, + body TEXT NULL, + ocn SMALLINT, + ocnd VARCHAR(6), + ocns VARCHAR(6), + digest_clean CHAR(#{@@dl}), + metadata_tid BIGINT REFERENCES metadata_and_text + ); + } + conn_exec(create_endnotes_asterisk) + @comment.psql.endnotes_asterisk if @comment + end + def endnotes_plus + if (@opt.act[:verbose_plus][:set]==:on \ + or @opt.act[:maintenance][:set]==:on) + print %{ + to be populated from document files + create tables endnotes_plus + data import through ruby transfer + } + end + create_endnotes_plus=%{ + CREATE TABLE endnotes_plus ( + nid BIGINT PRIMARY KEY, + document_lid BIGINT REFERENCES doc_objects, + nr SMALLINT, + clean TEXT NULL, + body TEXT NULL, + ocn SMALLINT, + ocnd VARCHAR(6), + ocns VARCHAR(6), + digest_clean CHAR(#{@@dl}), + metadata_tid BIGINT REFERENCES metadata_and_text + ); + } + conn_exec(create_endnotes_plus) + @comment.psql.endnotes_plus if @comment + end + def urls # create doc_objects file links mapping + if (@opt.act[:verbose_plus][:set]==:on \ + or @opt.act[:maintenance][:set]==:on) + print %{ + currently using sisu_dbi module + to be populated from doc_objects files + create tables urls + data import through ruby transfer + } + end + create_urls=%{ + CREATE TABLE urls ( + metadata_tid BIGINT REFERENCES metadata_and_text, + plaintext varchar(512), + html_toc varchar(512), + html_doc varchar(512), + xhtml varchar(512), + xml_sax varchar(512), + xml_dom varchar(512), + odf varchar(512), + pdf_p varchar(512), + pdf_l varchar(512), + concordance varchar(512), + latex_p varchar(512), + latex_l varchar(512), + digest varchar(512), + manifest varchar(512), + markup varchar(512), + sisupod varchar(512) + ); + } + conn_exec(create_urls) + @comment.psql.urls if @comment + end + self + end + end + class Comment < SiSU_DbColumns::Columns + def initialize(conn,sql_type=:pg) + @conn=conn + if sql_type == :pg then psql + end + end + def psql + def conn_execute_array(sql_arr) + @conn.transaction do |conn| + sql_arr.each do |sql| + conn.exec_params(sql) + end + end + end + def metadata_and_text + sql_arr=[ + %{COMMENT ON Table metadata_and_text + IS 'contains SiSU metadata and fulltext for search (including source .sst if shared)';}, + %{COMMENT ON COLUMN metadata_and_text.tid + IS 'unique';}, + %{#{column.title.column_comment}}, + %{#{column.title_main.column_comment}}, + %{#{column.title_sub.column_comment}}, + %{#{column.title_short.column_comment}}, + %{#{column.title_edition.column_comment}}, + %{#{column.title_note.column_comment}}, + %{#{column.title_language.column_comment}}, + %{#{column.title_language_char.column_comment}}, + %{#{column.creator_author.column_comment}}, + %{#{column.creator_author_honorific.column_comment}}, + %{#{column.creator_author_nationality.column_comment}}, + %{#{column.creator_editor.column_comment}}, + %{#{column.creator_contributor.column_comment}}, + %{#{column.creator_illustrator.column_comment}}, + %{#{column.creator_photographer.column_comment}}, + %{#{column.creator_translator.column_comment}}, + %{#{column.creator_prepared_by.column_comment}}, + %{#{column.creator_digitized_by.column_comment}}, + %{#{column.creator_audio.column_comment}}, + %{#{column.creator_video.column_comment}}, + %{#{column.language_document.column_comment}}, + %{#{column.language_document_char.column_comment}}, + %{#{column.language_original.column_comment}}, + %{#{column.language_original_char.column_comment}}, + %{#{column.date_added_to_site.column_comment}}, + %{#{column.date_available.column_comment}}, + %{#{column.date_created.column_comment}}, + %{#{column.date_issued.column_comment}}, + %{#{column.date_modified.column_comment}}, + %{#{column.date_published.column_comment}}, + %{#{column.date_valid.column_comment}}, + %{#{column.date_translated.column_comment}}, + %{#{column.date_original_publication.column_comment}}, + %{#{column.date_generated.column_comment}}, + %{#{column.publisher.column_comment}}, + %{#{column.original_publisher.column_comment}}, + %{#{column.original_language.column_comment}}, + %{#{column.original_language_char.column_comment}}, + %{#{column.original_source.column_comment}}, + %{#{column.original_institution.column_comment}}, + %{#{column.original_nationality.column_comment}}, + %{#{column.rights_all.column_comment}}, + %{#{column.rights_copyright_text.column_comment}}, + %{#{column.rights_copyright_translation.column_comment}}, + %{#{column.rights_copyright_illustrations.column_comment}}, + %{#{column.rights_copyright_photographs.column_comment}}, + %{#{column.rights_copyright_preparation.column_comment}}, + %{#{column.rights_copyright_digitization.column_comment}}, + %{#{column.rights_copyright_audio.column_comment}}, + %{#{column.rights_copyright_video.column_comment}}, + %{#{column.rights_license.column_comment}}, + %{#{column.classify_topic_register.column_comment}}, + %{#{column.classify_subject.column_comment}}, + %{#{column.classify_loc.column_comment}}, + %{#{column.classify_dewey.column_comment}}, + %{#{column.classify_keywords.column_comment}}, + %{#{column.identifier_oclc.column_comment}}, + %{#{column.identifier_isbn.column_comment}}, + %{#{column.notes_abstract.column_comment}}, + %{#{column.notes_comment.column_comment}}, + %{#{column.notes_description.column_comment}}, + %{#{column.notes_history.column_comment}}, + %{#{column.notes_coverage.column_comment}}, + %{#{column.notes_relation.column_comment}}, + %{#{column.notes_type.column_comment}}, + %{#{column.notes_format.column_comment}}, + %{#{column.notes_prefix.column_comment}}, + %{#{column.notes_prefix_a.column_comment}}, + %{#{column.notes_prefix_b.column_comment}}, + %{#{column.notes_suffix.column_comment}}, + %{#{column.src_filename.column_comment}}, + %{#{column.src_fingerprint.column_comment}}, + %{#{column.src_filesize.column_comment}}, + %{#{column.src_word_count.column_comment}}, + %{#{column.src_txt.column_comment}}, + %{#{column.fulltext.column_comment}}, + %{#{column.links.column_comment}}, + ] + conn_execute_array(sql_arr) + end + def doc_objects + sql_arr=[ + %{COMMENT ON Table doc_objects + IS 'contains searchable text of SiSU document objects';}, + %{COMMENT ON COLUMN doc_objects.lid + IS 'unique';}, + %{COMMENT ON COLUMN doc_objects.metadata_tid + IS 'tie to title in metadata_and_text';}, + %{COMMENT ON COLUMN doc_objects.lev_an + IS 'doc level A-D 1-4';}, + %{COMMENT ON COLUMN doc_objects.lev + IS 'doc level 0-7 \d\~';}, + %{COMMENT ON COLUMN doc_objects.seg + IS 'segment name from level number 4 (lv 1)';}, + %{COMMENT ON COLUMN doc_objects.ocn + IS 'object citation number';}, + %{COMMENT ON COLUMN doc_objects.en_a + IS 'first endnote number in text object (eg. NULL or 34) (used with en_z to create range)';}, + %{COMMENT ON COLUMN doc_objects.en_z + IS 'last endnote number within text object (eg. NULL, 34 or say 47) (used with en_a to create range)';}, + %{COMMENT ON COLUMN doc_objects.en_a_asterisk + IS 'first endnote number in text object (eg. NULL or 34) (used with en_z_asterisk to create range)';}, + %{COMMENT ON COLUMN doc_objects.en_z_asterisk + IS 'last endnote number within text object (eg. NULL, 34 or say 47) (used with en_a_asterisk to create range)';}, + %{COMMENT ON COLUMN doc_objects.en_a_plus + IS 'first endnote number in text object (eg. NULL or 34) (used with en_z_plus to create range)';}, + %{COMMENT ON COLUMN doc_objects.en_z_plus + IS 'last endnote number within text object (eg. NULL, 34 or say 47) (used with en_a_plus to create range)';}, + %{COMMENT ON COLUMN doc_objects.types + IS 'document types seg scroll';}, + %{COMMENT ON COLUMN doc_objects.clean + IS 'text object - substantive text: clean, stripped of markup';}, + %{COMMENT ON COLUMN doc_objects.body + IS 'text object - substantive text: light html markup';}, + %{COMMENT ON COLUMN doc_objects.book_idx + IS 'book index creation information for paragraph, if provided';}, + %{COMMENT ON COLUMN doc_objects.lev0 + IS 'document structure, level number 0';}, + %{COMMENT ON COLUMN doc_objects.lev1 + IS 'document structure, level number 1';}, + %{COMMENT ON COLUMN doc_objects.lev2 + IS 'document structure, level number 2';}, + %{COMMENT ON COLUMN doc_objects.lev3 + IS 'document structure, level number 3';}, + %{COMMENT ON COLUMN doc_objects.lev4 + IS 'document structure, level number 4';}, + %{COMMENT ON COLUMN doc_objects.lev5 + IS 'document structure, level number 5';}, + %{COMMENT ON COLUMN doc_objects.lev6 + IS 'document structure, level number 6';}, + %{COMMENT ON COLUMN doc_objects.lev7 + IS 'document structure, level number 7';}, + %{COMMENT ON COLUMN doc_objects.t_of + IS 'document structure, type of object (object is of)';}, + %{COMMENT ON COLUMN doc_objects.t_is + IS 'document structure, object is';}, + %{COMMENT ON COLUMN doc_objects.node + IS 'document structure, object node if heading';}, + %{COMMENT ON COLUMN doc_objects.parent + IS 'document structure, object parent (is a heading)';} + ] + conn_execute_array(sql_arr) + end + def endnotes + sql_arr=[ + %{COMMENT ON Table endnotes + IS 'contains searchable text of SiSU documents endnotes';}, + %{COMMENT ON COLUMN endnotes.nid + IS 'unique';}, + %{COMMENT ON COLUMN endnotes.document_lid + IS 'ties to text block from which referenced';}, + %{COMMENT ON COLUMN endnotes.nr + IS 'endnote number ';}, + %{COMMENT ON COLUMN endnotes.clean + IS 'endnote substantive content, stripped of markup';}, + %{COMMENT ON COLUMN endnotes.body + IS 'endnote substantive content';}, + %{COMMENT ON COLUMN endnotes.ocn + IS 'object citation no# <\~(\d+)> from which endnote is referenced';}, + %{COMMENT ON COLUMN doc_objects.metadata_tid + IS 'tie to title in metadata_and_text - unique for each document';} + ] + conn_execute_array(sql_arr) + end + def endnotes_asterisk + sql_arr=[ + %{COMMENT ON Table endnotes_asterisk + IS 'contains searchable text of SiSU documents endnotes marked with asterisk';}, + %{COMMENT ON COLUMN endnotes_asterisk.nid + IS 'unique';}, + %{COMMENT ON COLUMN endnotes_asterisk.document_lid + IS 'ties to text block from which referenced';}, + %{COMMENT ON COLUMN endnotes_asterisk.nr + IS 'endnote number ';}, + %{COMMENT ON COLUMN endnotes_asterisk.clean + IS 'endnote substantive content, stripped of markup';}, + %{COMMENT ON COLUMN endnotes_asterisk.body + IS 'endnote substantive content';}, + %{COMMENT ON COLUMN endnotes_asterisk.ocn + IS 'object citation no# <\~(\d+)> from which endnote is referenced';}, + %{COMMENT ON COLUMN doc_objects.metadata_tid + IS 'tie to title in metadata_and_text - unique for each document';} + ] + conn_execute_array(sql_arr) + end + def endnotes_plus + sql_arr=[ + %{COMMENT ON Table endnotes_plus + IS 'contains searchable text of SiSU documents endnotes marked with plus';}, + %{COMMENT ON COLUMN endnotes_plus.nid + IS 'unique';}, + %{COMMENT ON COLUMN endnotes_plus.document_lid + IS 'ties to text block from which referenced';}, + %{COMMENT ON COLUMN endnotes_plus.nr + IS 'endnote number ';}, + %{COMMENT ON COLUMN endnotes_plus.clean + IS 'endnote substantive content, stripped of markup';}, + %{COMMENT ON COLUMN endnotes_plus.body + IS 'endnote substantive content';}, + %{COMMENT ON COLUMN endnotes_plus.ocn + IS 'object citation no# <\~(\d+)> from which endnote is referenced';}, + %{COMMENT ON COLUMN doc_objects.metadata_tid + IS 'tie to title in metadata_and_text - unique for each document';}, + ] + conn_execute_array(sql_arr) + end + def urls + sql_arr=[ + %{COMMENT ON Table urls + IS 'contains base url links to different SiSU output';}, + %{COMMENT ON COLUMN doc_objects.metadata_tid + IS 'tie to title in metadata_and_text - unique for each document, the mapping of rows is one to one';}, + %{COMMENT ON COLUMN urls.plaintext + IS 'plaintext utf-8';}, + %{COMMENT ON COLUMN urls.html_toc + IS 'table of contents for segmented html document';}, + %{COMMENT ON COLUMN urls.html_doc + IS 'html document (scroll)';}, + %{COMMENT ON COLUMN urls.xhtml + IS 'xhtml document (scroll)';}, + %{COMMENT ON COLUMN urls.xml_sax + IS 'xml sax oriented document (scroll)';}, + %{COMMENT ON COLUMN urls.xml_dom + IS 'xml dom oriented document (scroll)';}, + %{COMMENT ON COLUMN urls.odf + IS 'opendocument format text';}, + %{COMMENT ON COLUMN urls.pdf_p + IS 'pdf portrait';}, + %{COMMENT ON COLUMN urls.pdf_l + IS 'pdf landscape';}, + %{COMMENT ON COLUMN urls.concordance + IS 'rudimentary document index linked to html';}, + %{COMMENT ON COLUMN urls.latex_p + IS 'latex portrait';}, + %{COMMENT ON COLUMN urls.latex_l + IS 'latex_landscape';}, + %{COMMENT ON COLUMN urls.markup + IS 'markup';}, + %{COMMENT ON COLUMN urls.sisupod + IS 'SiSU document format .tgz (all SiSU information on document)';}, + ] + conn_execute_array(sql_arr) + end + self + end + end +end +__END__ +#+END_SRC + +** db_drop.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/db_drop.rb" +# <> +module SiSU_DbDrop + require_relative 'utils_response' # utils_response.rb + class Drop + include SiSU_Response + def initialize(opt,conn,db_info,sql_type) + @opt,@conn,@db_info,@sql_type=opt,conn,db_info,sql_type + case @sql_type + when :sqlite + cascade='' + else + cascade='CASCADE' + end + @drop_table=[ + "DROP TABLE metadata_and_text #{cascade};", + "DROP TABLE doc_objects #{cascade};", + "DROP TABLE urls #{cascade};", + "DROP TABLE endnotes #{cascade};", + "DROP TABLE endnotes_asterisk #{cascade};", + "DROP TABLE endnotes_plus #{cascade};", + ] + end + def drop + def tables #% drop all tables + begin + msg_sqlite="as not all disk space is recovered after dropping the database << #{@db_info.sqlite.db} >>, you may be better off deleting the file, and recreating it as necessary" + case @sql_type + when :sqlite + puts msg_sqlite + ans=response?('remove sql database?') + if ans \ + and File.exist?(@db_info.sqlite.db) + @conn.close + File.unlink(@db_info.sqlite.db) + db=SiSU_Env::InfoDb.new + conn=db.sqlite.conn_sqlite3 + sdb=SiSU_DbDBI::Create.new(@opt,conn,@db_info,@sql_type) + sdb_index=SiSU_DbDBI::Index.new(@opt,conn,@db_info,@sql_type) + 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 + rescue + SiSU_Errors::Rescued.new($!,$@,'-D').location do + __LINE__.to_s + ':' + __FILE__ + end + sdb.output_dir? + end + exit + else + @conn.transaction + @drop_table.each do |d| + begin + @conn.exec_params(d) + rescue + next + end + end + @conn.commit + end + when :pg + @conn.transaction + @drop_table.each do |d| + begin + @conn.exec_params(d) + rescue + next + end + end + @conn.commit + end + rescue + case @sql_type + when :sqlite + ans=response?('remove sql database?') + if ans and File.exist?(@db_info.sqlite.db); File.unlink(@db_info.sqlite.db) + end + else + @drop_table.each do |d| + begin + @conn.exec_params(d) + rescue + next + end + end + end + ensure + end + end + def indexes + def conn_execute_array(sql_arr) + @conn.transaction do |conn| + sql_arr.each do |sql| + begin + conn.exec_params(sql) + rescue + next + end + end + end + end + def base #% drop base indexes + print "\n drop documents common indexes\n" unless @opt.act[:quiet][:set]==:on + sql_arr=[ + %{DROP INDEX idx_title;}, + %{DROP INDEX idx_author;}, + %{DROP INDEX idx_filename;}, + %{DROP INDEX idx_topics;}, + %{DROP INDEX idx_ocn;}, + %{DROP INDEX idx_digest_clean;}, + %{DROP INDEX idx_digest_all;}, + %{DROP INDEX idx_lev0;}, + %{DROP INDEX idx_lev1;}, + %{DROP INDEX idx_lev2;}, + %{DROP INDEX idx_lev3;}, + %{DROP INDEX idx_lev4;}, + %{DROP INDEX idx_lev5;}, + %{DROP INDEX idx_lev6;}, + %{DROP INDEX idx_endnote_nr;}, + %{DROP INDEX idx_digest_en;}, + %{DROP INDEX idx_endnote_nr_asterisk;}, + %{DROP INDEX idx_endnote_asterisk;}, + %{DROP INDEX idx_digest_en_asterisk;}, + %{DROP INDEX idx_endnote_nr_plus;}, + %{DROP INDEX idx_endnote_plus;}, + %{DROP INDEX idx_digest_en_plus}, + ] + conn_execute_array(sql_arr) + end + def text #% drop TEXT indexes, sqlite + print "\n drop documents TEXT indexes\n" unless @opt.act[:quiet][:set]==:on + sql_arr=[ + %{DROP INDEX idx_clean;}, + %{DROP INDEX idx_endnote}, + ] + conn_execute_array(sql_arr) + end + self + end + indexes.base + @opt.act[:psql][:set]==:on ? '' : indexes.text + self + end + end +end +__END__ +#+END_SRC + +** db_import.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/db_import.rb" +# <> +module SiSU_DbImport + require_relative 'db_columns' # db_columns.rb + require_relative 'db_load_tuple' # db_load_tuple.rb + require_relative 'db_sqltxt' # db_sqltxt.rb + require_relative 'html_lite_shared' # html_lite_shared.rb + class Import < SiSU_DbText::Prepare + include SiSU_Param + include SiSU_Screen + include SiSU_DbAction + @@dl=nil + @@hname=nil + attr_accessor :tp + def initialize(opt,conn,file_maint,sql_type=:pg) + @opt,@conn,@file_maint,@sql_type=opt,conn,file_maint,sql_type + @cX=SiSU_Screen::Ansi.new(@opt.act[:color_state][:set]).cX + @env=SiSU_Env::InfoEnv.new(@opt.fns) + @dal="#{@env.processing_path.ao}" + @fnb=if @opt.fns.empty? \ + or @opt.selections.str.empty? + '' + else + @md=SiSU_Param::Parameters.new(@opt).get + @md.fnb + end + @fnc="#{@dal}/#{@opt.fns}.content.rbm" + @@seg,@@seg_full='','' #create? consider placing field just before clean text as opposed to seg which contains seg(.html) name info seg_full would contain seg info for levels 5 & 6 where available eg seg_full may be 7.3 (level 5) and 7.3.1 (level 6) where seg is 7 + @col=Hash.new('') + @col[:ocn]='' + @counter={} + @db=SiSU_Env::InfoDb.new + if @sql_type==:sqlite + @driver_sqlite3= + (@conn.inspect.match(/^(.{10})/)[1] \ + == @db.sqlite.conn_sqlite3.inspect.match(/^(.{10})/)[1]) \ + ? true + : false + end + sql='SELECT MAX(lid) FROM doc_objects' + begin + @col[:lid] ||=0 + @col[:lid]=@driver_sqlite3 \ + ? @conn.execute( sql ).join.to_i + : @conn.exec( sql ).getvalue(0,0).to_i + rescue + if @opt.act[:maintenance][:set]==:on + puts "#{__FILE__}:#{__LINE__}" + end + end + @col[:lid]=0 if @col[:lid].nil? or @col[:lid].to_s.empty? + sql='SELECT MAX(nid) FROM endnotes' + begin + @id_n=@driver_sqlite3 \ + ? @conn.execute( sql ).join.to_i + : @conn.exec( sql ).getvalue(0,0).to_i + @id_n ||=0 + rescue + if @opt.act[:maintenance][:set]==:on + puts "#{__FILE__}:#{__LINE__}" + end + end + @id_n =0 if @col[:lid].nil? or @col[:lid].to_s.empty? + @col[:lv0]=@col[:lv1]=@col[:lv2]=@col[:lv3]=@col[:lv4]=@col[:lv5]=@col[:lv6]=@col[:lv7]=0 + @db=SiSU_Env::InfoDb.new + @pdf_fn=SiSU_Env::FileOp.new(@md).base_filename + @@dl ||=SiSU_Env::InfoEnv.new.digest.length + end + def marshal_load + require_relative 'ao' # ao.rb + @ao_array=SiSU_AO::Source.new(@opt).get # ao file drawn here + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "#{@db.psql.db}::#{@opt.fns}" + ).puts_blue + end + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Marshal Load', + @fnc + ).puts_grey if @opt.act[:verbose][:set]==:on + select_first_match=%{ + SELECT metadata_and_text.tid + FROM metadata_and_text + WHERE metadata_and_text.src_filename = '#{@md.fns}' + AND metadata_and_text.language_document_char = '#{@opt.lng}' + ;} # note, for .ssm: @md.fns (is set during runtime & is) != @opt.fns @md.opt.fns + file_exist=if @sql_type==:sqlite + begin + @conn.get_first_value(select_first_match) + rescue SQLite3::Exception => e + # not tested + puts "Exception occurred" + puts e + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).mark( + "\n" \ + + 'Attempting to initialize db' + "\n" \ + + 'Creating db tables' + ) + sdb={ + create: SiSU_DbDBI::Create.new(@opt,@conn,@file_maint,@sql_type), + index: SiSU_DbDBI::Index.new(@opt,@conn,@file_maint,@sql_type), + } + db_action(sdb).create + end + else + begin + @conn.exec(select_first_match).field_values("tid")[0] + rescue PG::Error => e + err=[ + e.result.error_field( PG::Result::PG_DIAG_SEVERITY ), + e.result.error_field( PG::Result::PG_DIAG_SQLSTATE ), + e.result.error_field( PG::Result::PG_DIAG_MESSAGE_PRIMARY ), + e.result.error_field( PG::Result::PG_DIAG_MESSAGE_DETAIL ), + e.result.error_field( PG::Result::PG_DIAG_MESSAGE_HINT ), + e.result.error_field( PG::Result::PG_DIAG_STATEMENT_POSITION ), + e.result.error_field( PG::Result::PG_DIAG_INTERNAL_POSITION ), + e.result.error_field( PG::Result::PG_DIAG_INTERNAL_QUERY ), + e.result.error_field( PG::Result::PG_DIAG_CONTEXT ), + e.result.error_field( PG::Result::PG_DIAG_SOURCE_FILE ), + e.result.error_field( PG::Result::PG_DIAG_SOURCE_LINE ), + e.result.error_field( PG::Result::PG_DIAG_SOURCE_FUNCTION ), + ] + p err + if err[2] =~/relation "\S+?" does not exist/ \ + or err.inspect =~/relation "\S+?" does not exist/ + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).mark( + "\n" \ + + err[2] + "\n" \ + + 'Attempting to initialize db' + "\n" \ + + 'Creating db tables' + ) + sdb={ + create: SiSU_DbDBI::Create.new(@opt,@conn,@file_maint,@sql_type), + index: SiSU_DbDBI::Index.new(@opt,@conn,@file_maint,@sql_type), + } + db_action(sdb).create + retry + end + end + end + if not file_exist + t_d=[] # transaction_data + t_d << db_import_metadata + t_d << db_import_documents(@ao_array) + t_d << db_import_urls(@ao_array,@fnc) #import OID on/off + t_d=t_d.flatten + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + puts @conn.class if defined? @conn.class + puts @conn.driver_name if defined? @conn.driver_name + puts @conn.driver if defined? @conn.driver + end + begin #% sql + if @sql_type==:sqlite + @conn.transaction do |conn| + t_d.each do |sql| + conn.execute(sql) + end + end + #also 'execute' works for sqlite + #@conn.execute("BEGIN") + # t_d.each do |sql| + # @conn.execute(sql) + # end + #@conn.execute("COMMIT") + else + #'do' works for postgresql + @conn.exec("BEGIN") + t_d.each do |sql| + @conn.exec(sql) + end + @conn.exec("COMMIT") + end + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + sqlfn="#{@env.processing_path.sql}/#{@md.fnb}.sql" + sql=File.new(sqlfn,'w') + t_d.each {|i| sql.puts i} + p sqlfn + if @opt.act[:maintenance][:set]==:on + puts sql + p @conn.methods.sort + puts "#{__FILE__}:#{__LINE__}" + end + ensure + end + else + if file_exist + @db=SiSU_Env::InfoDb.new + puts "\nfile #{@opt.fns} in language code #{@opt.lng} already exists in database #{@db.psql.db}, use --update instead?" + end + end + end + def pf_db_import_transaction_open + end + def pf_db_import_transaction_close + end + def book_idx_hash_to_str(book_idx) + book_idx=book_idx ? book_idx : '' + book_idx_str,book_subidx_part='','' + if not book_idx.empty? + book_idx_str='' + book_idx.each_pair do |k0,v0| + book_idx_str << %{#{k0}+#{v0[:plus]}} + book_subidx_part='' + if v0[:sub].length > 0 + v0[:sub].each do |subterms| + subterms.each_pair do |k1,v1| + book_subidx_part << %{\n #{k1}+#{v1[:plus]} | } + end + end + book_idx_str=book_idx_str + ':' + book_subidx_part + end + end + end + book_idx_str + end + def db_import_metadata #% import documents - populate database + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + print %{ #{@cX.grey}import documents dbi_unit #{@cX.off} } + end + @tp={} + @md=SiSU_Param::Parameters.new(@opt).get +#% sisutxt & fulltxt + if FileTest.exist?(@md.fns) + txt_arr=IO.readlines(@md.fns,'') + src=txt_arr.join("\n") + src=special_character_escape(src) + @tp[:sisutxt_f],@tp[:sisutxt_i]='sisutxt, ',"'#{src}', " + txt=clean_searchable_text_from_document_source(txt_arr) + #txt=special_character_escape(txt) + @tp[:fulltxt_f],@tp[:fulltxt_i]='fulltxt, ',"'#{txt}', " + end +#% title + if defined? @md.title.full \ + and @md.title.full=~/\S+/ # DublinCore 1 - title + #@tp[:title]=@md.title.full + #special_character_escape(@tp[:title]) + #@tp[:title_f],@tp[:title_i]='title, ',"'#{@tp[:title]}', " + sql='SELECT MAX(tid) FROM metadata_and_text;' + begin + @@id_t ||=0 + id_t=@driver_sqlite3 \ + ? @conn.execute( sql ).join.to_i # { |x| id_t=x.join.to_i } + : @conn.exec( sql ).getvalue(0,0).to_i + @@id_t=id_t if id_t + rescue + if @opt.act[:maintenance][:set]==:on + puts "#{__FILE__} #{__LINE__}" + end + end + @@id_t+=1 #bug related, needs to be performed once at start of file, but consider moving, as, placed here it means program will fail if document header lacks @title: + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + puts %{\n#{@cX.grey}Processing file number#{@cX.off}: #{@cX.green}#{@@id_t}#{@@cX.off}} + end + end + ################ CLEAR ############## + SiSU_DbDBI::Test.new(self,@opt).verify #% import title names, filenames (tuple) + t=SiSU_DbTuple::LoadMetadata.new(@conn,@@id_t,@md,@file_maint) + tuple=t.tuple + tuple + end + def db_import_documents(ao_array) #% import documents - populate main database table, import into substantive database tables (tuple) + begin + @col[:tid]=@@id_t + @en,@en_ast,@en_pls,@tuple_array=[],[],[],[] + @col[:en_a],@col[:en_z]=nil,nil + ao_array.each do |data| + data.obj=data.obj.gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'\1'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'\1'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'\1'). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'\1'). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,'\1'). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'\1'). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'\1'). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'\1'). + gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'\1'). + gsub(/#{Mx[:gl_o]}(●)#{Mx[:gl_c]}\s*/,'\1 '). + gsub(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/,'') #check + @col[:seg]=@@seg + if data.of ==:para \ + || data.of ==:heading \ + || data.of ==:heading_insert \ + || data.of ==:block \ + || data.of ==:group # regular text what of code-blocks grouped text etc. + notedata=data.obj.dup + #% :headings + if data.is==:heading \ + && (data.ln.inspect=~/[0-3]/) + ( + @col[:lev], + txt,@col[:ocn], + @col[:lev_an], + @col[:ocnd],@col[:ocns], + @col[:t_of],@col[:t_is], + @col[:node],@col[:parent], + @col[:digest_clean],@col[:digest_all]= + data.ln, + data.obj,data.ocn, + data.lv, + data.odv,data.osp, + data.of,data.is, + data.node,data.parent, + '','' + ) + @col[:lid]+=1 + txt=endnotes(txt).extract_any + body=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_minus + @col[:body]=clean_document_objects_body(body) + plaintext=@col[:body].dup + plaintext=strip_markup(plaintext) + @col[:plaintext]=clean_searchable_text_from_document_objects(plaintext) + book_idx=book_idx_hash_to_str(data.idx) + @col[:book_idx]=clean_searchable_text_from_document_objects(book_idx) + if @en[0] then @en_a,@en_z=@en[0].first,@en[0].last + end + if @en_ast[0] then @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last + end + if @en_pls[0] then @en_a_plus,@en_z_plus=@en_pls[0].first,@en_pls[0].last + end + t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint) + @tuple_array << t.tuple + case @col[:lev] + when /0/ then @col[:lv0]+=1 + when /1/ then @col[:lv1]+=1 + when /2/ then @col[:lv2]+=1 + when /3/ then @col[:lv3]+=1 + when /4/ then @col[:lv4]+=1 + end + @col[:lev]=@col[:plaintext]=@col[:body]='' + elsif data.is==:heading \ + && data.ln==4 + ( + @@seg,txt, + @col[:ocn],@col[:lev_an], + @col[:ocnd],@col[:ocns], + @col[:t_of],@col[:t_is], + @col[:node],@col[:parent], + @col[:digest_clean],@col[:digest_all]= + data.name,data.obj, + data.ocn,data.lv, + data.odv,data.osp, + data.of,data.is, + data.node,data.parent, + '','' + ) + @col[:seg]=@@seg + @col[:lv4]+=1 + @col[:lid]+=1 + @col[:lev]=4 + @hname=if @col[:seg] \ + and not @col[:seg].to_s.empty? + @@hname=@col[:seg].to_s + else @@hname + end + @env=SiSU_Env::InfoEnv.new(@md.fns) + @base_url="#{@env.url.root}/#{@md.fnb}/#{@hname}.html" + txt=endnotes(txt).extract_any + body=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_plus + @col[:body]=clean_document_objects_body(body) + plaintext=@col[:body].dup + plaintext=strip_markup(plaintext) + @col[:plaintext]=clean_searchable_text_from_document_objects(plaintext) + book_idx=book_idx_hash_to_str(data.idx) + @col[:book_idx]=clean_searchable_text_from_document_objects(book_idx) + @en_a,@en_z=@en[0].first,@en[0].last if @en[0] + @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last if @en_ast[0] + @en_a_plus,@en_z_plus=@en_pls[0].first,@en_pls[0].last if @en_pls[0] + t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint) + @tuple_array << t.tuple + @col[:lev]=@col[:plaintext]=@col[:body]='' + elsif data.is==:heading \ + && data.ln==5 + ( + txt, + @col[:ocn],@col[:lev_an], + @col[:ocnd],@col[:ocns], + @col[:t_of],@col[:t_is], + @col[:node],@col[:parent], + @col[:digest_clean],@col[:digest_all]= + data.obj, + data.ocn,data.lv, + data.odv,data.osp, + data.of,data.is, + data.node,data.parent, + '','' + ) + @@seg_full=data.name if data.is==:heading \ + && data.ln==5 \ + && data.name #check data.name + @@seg ||='' #nil # watch + @col[:seg]=@@seg + @col[:lv5]+=1 + @col[:lid]+=1 + @col[:lev]=5 + @hname=if @col[:seg] \ + and not @col[:seg].to_s.empty? + @@hname=@col[:seg].to_s + else @@hname + end + @env=SiSU_Env::InfoEnv.new(@md.fns) + @base_url="#{@env.url.root}/#{@md.fnb}/#{@hname}.html" + txt=endnotes(txt).extract_any + body=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_plus + @col[:body]=clean_document_objects_body(body) + plaintext=@col[:body].dup + plaintext=strip_markup(plaintext) + @col[:plaintext]=clean_searchable_text_from_document_objects(plaintext) + book_idx=book_idx_hash_to_str(data.idx) + @col[:book_idx]=clean_searchable_text_from_document_objects(book_idx) + @en_a,@en_z=@en[0].first,@en[0].last if @en[0] + @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last if @en_ast[0] + @en_a_plus,@en_z_plus=@en_pls[0].first,@en_pls[0].last if @en_pls[0] + t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint) + @tuple_array << t.tuple + @col[:lev]=@col[:plaintext]=@col[:body]='' + elsif data.is==:heading \ + && data.ln==6 + txt, @col[:ocn],@col[:lev_an],@col[:ocnd],@col[:ocns],@col[:t_of],@col[:t_is],@col[:node],@col[:parent],@col[:digest_clean],@col[:digest_all]= + data.obj,data.ocn, data.lv, data.odv, data.osp, data.of, data.is, data.node, data.parent, '', '' + @@seg_full=data.name if data.is==:heading && data.ln==6 && data.name #check data.name + @@seg ||='' #nil # watch + @col[:seg]=@@seg + @col[:lv6]+=1 + @col[:lid]+=1 + @col[:lev]=6 + @hname=if @col[:seg] \ + and not @col[:seg].to_s.empty? + @@hname=@col[:seg].to_s + else @@hname + end + @env=SiSU_Env::InfoEnv.new(@md.fns) + @base_url="#{@env.url.root}/#{@md.fnb}/#{@hname}.html" + txt=endnotes(txt).extract_any + body=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_plus + @col[:body]=clean_document_objects_body(body) + plaintext=@col[:body].dup + plaintext=strip_markup(plaintext) + @col[:plaintext]=clean_searchable_text_from_document_objects(plaintext) + book_idx=book_idx_hash_to_str(data.idx) + @col[:book_idx]=clean_searchable_text_from_document_objects(book_idx) + @en_a,@en_z=@en[0].first,@en[0].last if @en[0] + @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last if @en_ast[0] + @en_a_plus,@en_z_plus=@en_pls[0].first,@en_pls[0].last if @en_pls[0] + t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint) + @tuple_array << t.tuple + @col[:lev]=@col[:plaintext]=@col[:body]='' + elsif data.is==:heading \ + && data.ln==7 + txt, @col[:ocn],@col[:lev_an],@col[:ocnd],@col[:ocns],@col[:t_of],@col[:t_is],@col[:node],@col[:parent],@col[:digest_clean],@col[:digest_all]= + data.obj,data.ocn, data.lv, data.odv, data.osp, data.of, data.is, data.node, data.parent, '', '' + @@seg_full=data.name if data.is==:heading && data.ln==7 && data.name #check data.name + @@seg ||='' #nil # watch + @col[:seg]=@@seg + @col[:lv7]+=1 + @col[:lid]+=1 + @col[:lev]=7 + @hname=if @col[:seg] \ + and not @col[:seg].to_s.empty? + @@hname=@col[:seg].to_s + else @@hname + end + @env=SiSU_Env::InfoEnv.new(@md.fns) + @base_url="#{@env.url.root}/#{@md.fnb}/#{@hname}.html" + txt=endnotes(txt).extract_any + body=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_plus + @col[:body]=clean_document_objects_body(body) + plaintext=@col[:body].dup + plaintext=strip_markup(plaintext) + @col[:plaintext]=clean_searchable_text_from_document_objects(plaintext) + book_idx=book_idx_hash_to_str(data.idx) + @col[:book_idx]=clean_searchable_text_from_document_objects(book_idx) + @en_a,@en_z=@en[0].first,@en[0].last if @en[0] + @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last if @en_ast[0] + @en_a_plus,@en_z_plus=@en_pls[0].first,@en_pls[0].last if @en_pls[0] + t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint) + @tuple_array << t.tuple + @col[:lev]=@col[:plaintext]=@col[:body]='' + #% :structure :layout :comment + elsif data.of==:structure \ + || data.of==:layout \ + || data.of==:comment + #added watch + #% : + else #% regular text + @col[:lid]+=1 + ( + txt='' + txt,@col[:ocn], + @col[:ocnd],@col[:ocns], + @col[:t_of],@col[:t_is], + @col[:node],@col[:parent], + @col[:digest_clean],@col[:digest_all], + @col[:lev]= + data.obj,data.ocn, + data.odv,data.osp, + data.of,data.is, + '',data.parent, + '','', + 9 + ) + @hname=if @col[:seg] \ + and not @col[:seg].to_s.empty? + @@hname=@col[:seg].to_s + else @@hname + end + @env=SiSU_Env::InfoEnv.new(@md.fns) + @base_url="#{@env.url.root}/#{@md.fnb}/#{@hname}.html" + txt=endnotes(txt).extract_any + if @sql_type==:pg \ + and txt.size > (SiSU_DbColumns::ColumnSize.new.document_clean - 1) # examine pg build & remove limitation + puts "\n\nTOO LARGE (TXT - see error log)\n\n" + open("#{Dir.pwd}/pg_documents_error_log",'a') do |error| + error.puts("\n#{@opt.fns}\nTEXT BODY\n#{@col[:body].size} object #{@col[:ocn]} -> #{@col[:body].slice(0..500)}") + end + txt=%{\n\nLARGE TEXT BLOCK OMITTED\n\n} + end + @en_a,@en_z=@en[0].first,@en[0].last if @en[0] + @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last if @en_ast[0] + @en_a_plus,@en_z_plus=@en_pls[0].first,@en_pls[0].last if @en_pls[0] + body=if data.is==:table + SiSU_FormatShared::CSS_Format.new(@md,data).html_table + elsif data.is==:code + SiSU_FormatShared::CSS_Format.new(@md,data).code + elsif defined? data.indent \ + and defined? data.hang \ + and data.indent =~/[1-9]/ \ + and data.indent == data.hang + SiSU_FormatShared::CSS_Format.new(@md,data).indent(data.indent) + elsif defined? data.indent \ + and defined? data.hang \ + and data.hang =~/[0-9]/ \ + and data.indent != data.hang + SiSU_FormatShared::CSS_Format.new(@md,data).hang_indent(data.hang,data.indent) + else + SiSU_FormatShared::CSS_Format.new(@md,data).norm + end + @col[:body]=clean_document_objects_body(body) + plaintext=@col[:body].dup + plaintext=strip_markup(plaintext) + @col[:plaintext]=clean_searchable_text_from_document_objects(plaintext) + book_idx=book_idx_hash_to_str(data.idx) + @col[:book_idx]=clean_searchable_text_from_document_objects(book_idx) + t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint) + @tuple_array << t.tuple + @en,@en_ast,@en_pls=[],[],[] + @col[:en_a]=@col[:en_z]=nil + @col[:lev]=@col[:plaintext]=@col[:body]=@col[:words]='' + end + if notedata =~/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}/ #% import into database endnotes tables + endnote_array=notedata.scan(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}/) + endnote_array.each do |inf| + if inf[/#{Mx[:en_a_o]}\d+.+?#{Mx[:en_a_c]}/] + if inf[/#{Mx[:en_a_o]}(\d+)(.+?)#{Mx[:en_a_c]}/] + nr,txt,digest_clean=$1,$2.strip,0 + end + @id_n ||=0 + @id_n+=1 + txt=special_character_escape(txt) + body=SiSU_FormatShared::CSS_Format.new(@md,data).endnote(nr,txt) + txt=strip_markup(txt) + if txt.size > (SiSU_DbColumns::ColumnSize.new.endnote_clean - 1) + puts "\n\nTOO LARGE (ENDNOTE - see error log)\n\n" + open("#{Dir.pwd}/pg_documents_error_log",'a') do |error| + error.puts("\n#{@opt.fns}\nENDNOTE\n#{txt.size} object #{@col[:ocn]},#{@col[:ocnd]},#{@col[:ocns]} -> #{txt.slice(0..500)}") + end + txt=%{\n\nLARGE TEXT BLOCK OMITTED\n\n} + end + if txt + en={ + type: 'endnotes', + id: @id_n, + lid: @col[:lid], + nr: nr, + txt: txt, + body: body, + ocn: @col[:ocn], + ocnd: @col[:ocnd], + ocns: @col[:ocns], + id_t: @@id_t, + hash: digest_clean + } + t=SiSU_DbTuple::LoadEndnotes.new(@conn,en,@opt,@file_maint) + @tuple_array << t.tuple + end + end + end + word_mode=notedata.scan(/\S+/) + end + if notedata =~/#{Mx[:en_b_o]}\*.+?#{Mx[:en_b_c]}/ #% import into database endnotes tables + endnote_array=notedata.scan(/#{Mx[:en_b_o]}\*.+?#{Mx[:en_b_c]}/) + endnote_array.each do |inf| + if inf[/#{Mx[:en_b_o]}\*\d+.+?#{Mx[:en_b_c]}/] # dal new endnotes 2003w31/1 + if inf[/#{Mx[:en_b_o]}[*](\d+)(.+?)#{Mx[:en_b_c]}/] # dal new endnotes 2003w31/1 + nr,txt,digest_clean=$1,$2.strip,0 + end + @id_n+=1 + txt=special_character_escape(txt) + body=SiSU_FormatShared::CSS_Format.new(@md,data).endnote(nr,txt) + txt=strip_markup(txt) + if txt.size > (SiSU_DbColumns::ColumnSize.new.endnote_clean - 1) + puts "\n\nTOO LARGE (ENDNOTE - see error log)\n\n" + open("#{Dir.pwd}/pg_documents_error_log",'a') do |error| + error.puts("\n#{@opt.fns}\nENDNOTE\n#{txt.size} object #{@col[:ocn]},#{@col[:ocnd]},#{@col[:ocns]} -> #{txt.slice(0..500)}") + end + txt=%{\n\nLARGE TEXT BLOCK OMITTED\n\n} + end + if txt + en={ + type: 'endnotes_asterisk', + id: @id_n, + lid: @col[:lid], + nr: nr, + txt: txt, + body: body, + ocn: @col[:ocn], + ocnd: @col[:ocnd], + ocns: @col[:ocns], + id_t: @@id_t, + hash: digest_clean + } + t=SiSU_DbTuple::LoadEndnotes.new(@conn,en,@opt,@file_maint) + @tuple_array << t.tuple + end + end + end + word_mode=notedata.scan(/\S+/) + end + if notedata =~/#{Mx[:en_b_o]}\+.+?#{Mx[:en_b_c]}/ #% import into database endnotes tables + endnote_array=notedata.scan(/#{Mx[:en_b_o]}\+.+?#{Mx[:en_b_c]}/) + endnote_array.each do |inf| + if inf[/#{Mx[:en_b_o]}\+\d+.+?#{Mx[:en_b_c]}/] # dal new endnotes 2003w31/1 + if inf[/#{Mx[:en_b_o]}[+](\d+)(.+?)#{Mx[:en_b_c]}/] # dal new endnotes 2003w31/1 + nr,txt,digest_clean=$1,$2.strip,0 + end + @id_n+=1 + txt=special_character_escape(txt) + body=SiSU_FormatShared::CSS_Format.new(@md,data).endnote(nr,txt) + txt=strip_markup(txt) + if txt.size > (SiSU_DbColumns::ColumnSize.new.endnote_clean - 1) + puts "\n\nTOO LARGE (ENDNOTE - see error log)\n\n" + open("#{Dir.pwd}/pg_documents_error_log",'a') do |error| + error.puts("\n#{@opt.fns}\nENDNOTE\n#{txt.size} object #{@col[:ocn]},#{@col[:ocnd]},#{@col[:ocns]} -> #{txt.slice(0..500)}") + end + txt=%{\n\nLARGE TEXT BLOCK OMITTED\n\n} + end + if txt + en={ + type: 'endnotes_plus', + id: @id_n, + lid: @col[:lid], + nr: nr, + txt: txt, + body: body, + ocn: @col[:ocn], + ocnd: @col[:ocnd], + ocns: @col[:ocns], + id_t: @@id_t, + hash: digest_clean + } + t=SiSU_DbTuple::LoadEndnotes.new(@conn,en,@opt,@file_maint) + @tuple_array << t.tuple + end + end + end + word_mode=notedata.scan(/\S+/) + end + end + end + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + @tuple_array + end + def endnotes(txt) + @txt=txt + def extract_any + if @txt =~/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]})[*+]?(\d+)\s+.+?(?:#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/ + endnotes(@txt).range + @en << endnotes(@txt).standard if @txt =~/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}/ + @en_ast << endnotes(@txt).asterisk if @txt =~/#{Mx[:en_b_o]}\*.+?#{Mx[:en_b_c]}/ + @en_pls << endnotes(@txt).plus if @txt =~/#{Mx[:en_b_o]}\+.+?#{Mx[:en_b_c]}/ + @txt=endnotes(@txt).clean_text + end + @txt + end + def standard + (@txt =~/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}/) \ + ? @txt.scan(/#{Mx[:en_a_o]}(\d+).+?#{Mx[:en_a_c]}/) + : nil + end + def asterisk + (@txt =~/#{Mx[:en_b_o]}\*.+?#{Mx[:en_b_c]}/) \ + ? @txt.scan(/#{Mx[:en_b_o]}[*](\d+).+?#{Mx[:en_b_c]}/) + : nil + end + def plus + (@txt =~/#{Mx[:en_b_o]}\+.+?#{Mx[:en_b_c]}/) \ + ? @txt.scan(/#{Mx[:en_b_o]}[+](\d+).+?#{Mx[:en_b_c]}/) + : nil + end + def clean_text(base_url=nil) + @txt=if base_url + @txt.gsub(/#{Mx[:en_a_o]}(\d+).+?#{Mx[:en_a_c]}/,%{\\1}). + gsub(/#{Mx[:en_b_o]}([*]\d+).+?#{Mx[:en_b_c]}/,%{\\1}). + gsub(/#{Mx[:en_b_o]}([+]\d+).+?#{Mx[:en_b_c]}/,%{\\1}) + else + @txt.gsub(/#{Mx[:en_a_o]}(\d+).+?#{Mx[:en_a_c]}/,'\1'). + gsub(/#{Mx[:en_b_o]}([*]\d+).+?#{Mx[:en_b_c]}/,'\1'). + gsub(/#{Mx[:en_b_o]}([+]\d+).+?#{Mx[:en_b_c]}/,'\1') + end + @txt + end + def range + @col[:en_a]=@col[:en_z]=nil + if @txt =~/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}([*]\d+).+?#{Mx[:en_b_c]}|#{Mx[:en_b_o]}([+]\d+).+?#{Mx[:en_b_c]}/ + word_array=@txt.scan(/\S+/) + word_array.each do |w| + if w[/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]})[*+]?(\d+)\s+.+?(?:#{Mx[:en_a_c]}|#{Mx[:en_b_c]})(?:#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/] # not tested since change 2003w31 + @col[:en_a]=$1 unless @col[:en_a] + @col[:en_z]=@col[:en_a].dup unless @col[:en_a] + @col[:en_z]=$1 if @col[:en_a] + end + end + end + @col + end + self + end + def db_import_urls(dbi_unit,content) #% import documents OID - populate database + begin + @fnc=content + @env=SiSU_Env::InfoEnv.new(@opt.fns) + f,u={},{} + if @fnb.empty? \ + or @fnb.nil? + p 'file output path error' #remove + end + if FileTest.file?("#{@md.file.output_path.txt.dir}/#{@md.file.base_filename.txt}")==true + f[:txt],u[:txt]='plaintext,', "'#{@md.file.output_path.txt.url}/#{@md.file.base_filename.txt}'," + end + if FileTest.file?("#{@md.file.output_path.html_seg.dir}/#{@md.file.base_filename.html_segtoc}")==true + f[:html_toc],u[:html_toc]='html_toc,', "'#{@md.file.output_path.html_seg.url}/#{@md.file.base_filename.html_segtoc}'," + end + if FileTest.file?("#{@md.file.output_path.html_scroll.dir}/#{@md.file.base_filename.html_scroll}")==true + f[:html_doc],u[:html_doc]='html_doc,', "'#{@md.file.output_path.html_scroll.url}/#{@md.file.base_filename.html_scroll}'," + end + if FileTest.file?("#{@md.file.output_path.xhtml.dir}/#{@md.file.base_filename.xhtml}")==true + f[:xhtml],u[:xhtml]='xhtml,', "'#{@md.file.output_path.xhtml.url}/#{@md.file.base_filename.xhtml}'," + end + if FileTest.file?("#{@md.file.output_path.xml_sax.dir}/#{@md.file.base_filename.xml_sax}")==true + f[:xml_sax],u[:xml_sax]='xml_sax,', "'#{@md.file.output_path.xml_sax.url}/#{@md.file.base_filename.xml_sax}'," + end + if FileTest.file?("#{@md.file.output_path.xml_dom.dir}/#{@md.file.base_filename.xml_dom}")==true + f[:xml_dom],u[:xml_dom]='xml_dom,', "'#{@md.file.output_path.xml_dom.url}/#{@md.file.base_filename.xml_dom}'," + end + if FileTest.file?("#{@md.file.output_path.epub.dir}/#{@md.file.base_filename.epub}")==true + f[:epub],u[:epub]='epub,', "'#{@md.file.output_path.epub.url}/#{@md.file.base_filename.epub}'," + end + if FileTest.file?("#{@md.file.output_path.odt.dir}/#{@md.file.base_filename.odt}")==true + f[:odf],u[:odf]='odf,', "'#{@md.file.output_path.odt.url}/#{@md.file.base_filename.odt}'," + end + if FileTest.file?("#{@md.file.output_path.pdf.dir}/#{@pdf_fn.pdf_p_a4}")==true #\ + #or FileTest.file?("#{@md.file.output_path.pdf.dir}/#{@pdf_fn.pdf_p_letter}")==true + f[:pdf_p],u[:pdf_p]='pdf_p,', "'#{@md.file.output_path.pdf.url}/#{@pdf_fn.pdf_p_a4}'," + end + if FileTest.file?("#{@md.file.output_path.pdf.dir}/#{@pdf_fn.pdf_l_a4}")==true #\ + #or FileTest.file?("#{@md.file.output_path.pdf.dir}/#{@pdf_fn.pdf_l_letter}")==true + f[:pdf_l],u[:pdf_l]='pdf_l,', "'#{@md.file.output_path.pdf.url}/#{@pdf_fn.pdf_l_a4}'," + end + if FileTest.file?("#{@md.file.output_path.html_concordance.dir}/#{@md.file.base_filename.html_concordance}")==true + f[:concordance],u[:concordance]='concordance,', "'#{@md.file.output_path.html_concordance.url}/#{@md.file.base_filename.html_concordance}'," + end + #if FileTest.file?("#{@md.file.output_path.x.dir}/#{@md.file.base_filename.x}")==true + # f[:latex_p],u[:latex_p]='latex_p,', "'#{@md.file.output_path.x.url}/#{@md.file.base_filename.x}'," + #end + ##if FileTest.file?("#{out}/#{@fnb}/#{@opt.fns}.tex")==true + ## f[:latex_p],u[:latex_p]='latex_p,', "'#{base}/#{@fnb}/#{@opt.fns}.tex'," + ##end + #if FileTest.file?("#{@md.file.output_path.x.dir}/#{@md.file.base_filename.x}")==true + # f[:latex_l],u[:latex_l]='latex_l,', "'#{@md.file.output_path.x.url}/#{@md.file.base_filename.x}'," + #end + ##if FileTest.file?("#{out}/#{@fnb}/#{@opt.fns}.landscape.tex")==true + ## f[:latex_l],u[:latex_l]='latex_l,', "'#{base}/#{@fnb}/#{@opt}.fns}.landscape.tex'," + ##end + if FileTest.file?("#{@md.file.output_path.digest.dir}/#{@md.file.base_filename.digest}")==true + f[:digest],u[:digest]='digest,', "'#{@md.file.output_path.digest.url}/#{@md.file.base_filename.digest}'," + end + if FileTest.file?("#{@md.file.output_path.manifest.dir}/#{@md.file.base_filename.manifest}")==true #revisit, was to be text, this is html + f[:manifest],u[:manifest]='manifest,', "'#{@md.file.output_path.manifest.url}/#{@md.file.base_filename.manifest}'," + end + if FileTest.file?("#{@md.file.output_path.src.dir}/#{@md.file.base_filename.src}")==true + f[:markup],u[:markup]='markup,', "'#{@md.file.output_path.src.url}/#{@md.file.base_filename.src}'," + end + if FileTest.file?("#{@md.file.output_path.sisupod.dir}/#{@md.file.base_filename.sisupod}")==true + f[:sisupod],u[:sisupod]='sisupod,', "'#{@md.file.output_path.sisupod.url}/#{@md.file.base_filename.sisupod}'," + end + t=SiSU_DbTuple::LoadUrls.new(@conn,f,u,@@id_t,@opt,@file_maint) + tuple=t.tuple + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + tuple + end + end +end +__END__ +#+END_SRC + +** db_remove.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/db_remove.rb" +# <> +module SiSU_DbRemove + class Remove + include SiSU_DbAction + def initialize(opt,conn,file,sql_type) + @opt,@conn,@file,@sql_type=opt,conn,file,sql_type + @md=SiSU_Param::Parameters.new(@opt).get + @fnb=@md.fnb + @db=SiSU_Env::InfoDb.new + end + def remove + driver_sqlite3=if @sql_type==:sqlite + (@conn.inspect.match(/^(.{10})/)[1]==@db.sqlite.conn_sqlite3.inspect.match(/^(.{10})/)[1]) \ + ? true + : false + end + del_id=if driver_sqlite3 + begin + remove_selected=%{ + SELECT tid + FROM metadata_and_text + WHERE src_filename = '#{@md.fns}' + AND metadata_and_text.language_document_char = '#{@opt.lng}' + ;} # note, for .ssm: @md.fns (is set during runtime & is) != @opt.fns @md.opt.fns + @conn.get_first_value(remove_selected).to_i + rescue SQLite3::Exception => e + #not tested + puts "Exception occurred" + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).mark(e.inspect) + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).mark( + "\n" \ + + 'Attempting to initialize db' + "\n" \ + + 'Creating db tables' + ) + sdb={ + create: SiSU_DbDBI::Create.new(@opt,@conn,@file_maint,@sql_type), + index: SiSU_DbDBI::Index.new(@opt,@conn,@file_maint,@sql_type), + } + db_action(sdb).create + end + else + begin + remove_selected=%{ + SELECT metadata_and_text.tid + FROM metadata_and_text + WHERE metadata_and_text.src_filename = '#{@md.fns}' + AND metadata_and_text.language_document_char = '#{@opt.lng}' + ;} # note, for .ssm: @md.fns (is set during runtime & is) != @opt.fns @md.opt.fns + x=@conn.exec(remove_selected) + x.field_values("tid")[0] + rescue PG::Error => e + err=[ + e.result.error_field( PG::Result::PG_DIAG_SEVERITY ), + e.result.error_field( PG::Result::PG_DIAG_SQLSTATE ), + e.result.error_field( PG::Result::PG_DIAG_MESSAGE_PRIMARY ), + e.result.error_field( PG::Result::PG_DIAG_MESSAGE_DETAIL ), + e.result.error_field( PG::Result::PG_DIAG_MESSAGE_HINT ), + e.result.error_field( PG::Result::PG_DIAG_STATEMENT_POSITION ), + e.result.error_field( PG::Result::PG_DIAG_INTERNAL_POSITION ), + e.result.error_field( PG::Result::PG_DIAG_INTERNAL_QUERY ), + e.result.error_field( PG::Result::PG_DIAG_CONTEXT ), + e.result.error_field( PG::Result::PG_DIAG_SOURCE_FILE ), + e.result.error_field( PG::Result::PG_DIAG_SOURCE_LINE ), + e.result.error_field( PG::Result::PG_DIAG_SOURCE_FUNCTION ), + ] + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).mark("\n" + err.inspect) + if err[2] =~/relation "\S+?" does not exist/ \ + or err.inspect =~/relation "\S+?" does not exist/ + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).mark( + "\n" \ + + err[2] + "\n" \ + + 'Attempting to initialize db' + "\n" \ + + 'Creating db tables' + ) + sdb={ + create: SiSU_DbDBI::Create.new(@opt,@conn,@file_maint,@sql_type), + index: SiSU_DbDBI::Index.new(@opt,@conn,@file_maint,@sql_type), + } + db_action(sdb).create + end + end + end + if del_id + sql_entry=[ + "DELETE FROM endnotes WHERE metadata_tid = '#{del_id}';", + "DELETE FROM endnotes_asterisk WHERE metadata_tid = '#{del_id}';", + "DELETE FROM endnotes_plus WHERE metadata_tid = '#{del_id}';", + "DELETE FROM doc_objects WHERE metadata_tid = '#{del_id}';", + "DELETE FROM urls WHERE metadata_tid = '#{del_id}';", + "DELETE FROM metadata_and_text WHERE metadata_and_text.tid = '#{del_id}';", + ] + if driver_sqlite3 + @conn.transaction + sql_entry.each do |s| + begin + @conn.execute(s) + rescue + next + end + end + @conn.commit if driver_sqlite3 + else + sql_entry.each do |s| + begin + @conn.exec_params(s) + rescue + next + end + end + end + if @opt.act[:maintenance][:set]==:on + @file.puts sql_entry + end + else + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.selections.str, + "no such file in database #{@db.psql.db}::#{@opt.fns}" + ).puts_grey + end + end + end + end +end +__END__ +#+END_SRC + +* db_load_tuple.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/db_load_tuple.rb" +# <> +module SiSU_DbTuple + require_relative 'db_columns' # db_columns.rb + class LoadDocuments + require_relative 'dp' # dp.rb + include SiSU_Param + def initialize(conn,col,opt,file_maint) + @conn,@col,@opt,@file_maint=conn,col,opt,file_maint + @col[:lev]=@col[:lev].to_i + unless @col[:lev].inspect=~/^[0-7]/ \ + or @col[:lev]==0..7 + @col[:lev]=9 + end + @col[:ocn]=0 unless @col[:ocn].inspect=~/\d+/ + @cX=SiSU_Screen::Ansi.new(@opt.act[:color_state][:set]).cX + end + def tuple #% import line + sql_entry=if @col[:en_a] + "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, lev7, en_a, en_z, t_of, t_is, node, parent, digest_clean, digest_all) " + + "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:lv7]}', '#{@col[:en_a]}', '#{@col[:en_z]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');" + else + "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, lev7, t_of, t_is, node, parent, digest_clean, digest_all) " + + "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:lv7]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');" + end + if @opt.act[:maintenance][:set]==:on + puts @file_maint.inspect + puts sql_entry + @file_maint.puts sql_entry + elsif @opt.act[:verbose_plus][:set]==:on + puts sql_entry + end + if @opt.act[:verbose][:set]==:on + if @col[:lev].inspect =~/[0-35-7]/ + lev=case @col[:lev].inspect + when /0/ then ':A' + when /1/ then ':B' + when /2/ then ':C' + when /3/ then ':D' + when /5/ then ' 2' + when /6/ then ' 3' + when /7/ then ' 4' + end + puts %{#{lev}>\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:lv7]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}} + elsif @col[:lev].inspect =~/[4]/ + puts %{ #{@cX.green}1>#{@cX.off}\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:lv7]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}\t#{@col[:seg]}} + end + end + sql_entry + end + end + class LoadMetadata #< SiSU_DbColumns::Columns + def initialize(conn,id,md,file_maint) + @conn,@id,@md,@file_maint=conn,id,md,file_maint + @tp=SiSU_DbColumns::Columns.new(md) + end + def tuple + sql_entry="INSERT INTO metadata_and_text ( +#{@tp.column.title.tuple[0]} +#{@tp.column.title_main.tuple[0]} +#{@tp.column.title_sub.tuple[0]} +#{@tp.column.title_short.tuple[0]} +#{@tp.column.title_edition.tuple[0]} +#{@tp.column.title_note.tuple[0]} +#{@tp.column.title_language.tuple[0]} +#{@tp.column.title_language_char.tuple[0]} +#{@tp.column.creator_author.tuple[0]} +#{@tp.column.creator_author_honorific.tuple[0]} +#{@tp.column.creator_author_nationality.tuple[0]} +#{@tp.column.creator_editor.tuple[0]} +#{@tp.column.creator_contributor.tuple[0]} +#{@tp.column.creator_illustrator.tuple[0]} +#{@tp.column.creator_photographer.tuple[0]} +#{@tp.column.creator_translator.tuple[0]} +#{@tp.column.creator_prepared_by.tuple[0]} +#{@tp.column.creator_digitized_by.tuple[0]} +#{@tp.column.creator_audio.tuple[0]} +#{@tp.column.creator_video.tuple[0]} +#{@tp.column.language_document.tuple[0]} +#{@tp.column.language_document_char.tuple[0]} +#{@tp.column.language_original.tuple[0]} +#{@tp.column.language_original_char.tuple[0]} +#{@tp.column.date_added_to_site.tuple[0]} +#{@tp.column.date_available.tuple[0]} +#{@tp.column.date_created.tuple[0]} +#{@tp.column.date_issued.tuple[0]} +#{@tp.column.date_modified.tuple[0]} +#{@tp.column.date_published.tuple[0]} +#{@tp.column.date_valid.tuple[0]} +#{@tp.column.date_translated.tuple[0]} +#{@tp.column.date_original_publication.tuple[0]} +#{@tp.column.date_generated.tuple[0]} +#{@tp.column.publisher.tuple[0]} +#{@tp.column.original_publisher.tuple[0]} +#{@tp.column.original_language.tuple[0]} +#{@tp.column.original_language_char.tuple[0]} +#{@tp.column.original_source.tuple[0]} +#{@tp.column.original_institution.tuple[0]} +#{@tp.column.original_nationality.tuple[0]} +#{@tp.column.rights_all.tuple[0]} +#{@tp.column.rights_copyright_text.tuple[0]} +#{@tp.column.rights_copyright_translation.tuple[0]} +#{@tp.column.rights_copyright_illustrations.tuple[0]} +#{@tp.column.rights_copyright_photographs.tuple[0]} +#{@tp.column.rights_copyright_preparation.tuple[0]} +#{@tp.column.rights_copyright_digitization.tuple[0]} +#{@tp.column.rights_copyright_audio.tuple[0]} +#{@tp.column.rights_copyright_video.tuple[0]} +#{@tp.column.rights_license.tuple[0]} +#{@tp.column.classify_topic_register.tuple[0]} +#{@tp.column.classify_subject.tuple[0]} +#{@tp.column.classify_loc.tuple[0]} +#{@tp.column.classify_dewey.tuple[0]} +#{@tp.column.classify_keywords.tuple[0]} +#{@tp.column.identifier_oclc.tuple[0]} +#{@tp.column.identifier_isbn.tuple[0]} +#{@tp.column.notes_abstract.tuple[0]} +#{@tp.column.notes_description.tuple[0]} +#{@tp.column.notes_comment.tuple[0]} +#{@tp.column.notes_history.tuple[0]} +#{@tp.column.notes_format.tuple[0]} +#{@tp.column.notes_relation.tuple[0]} +#{@tp.column.notes_coverage.tuple[0]} +#{@tp.column.notes_type.tuple[0]} +#{@tp.column.notes_prefix.tuple[0]} +#{@tp.column.notes_prefix_a.tuple[0]} +#{@tp.column.notes_prefix_b.tuple[0]} +#{@tp.column.notes_suffix.tuple[0]} +#{@tp.column.src_filename.tuple[0]} +#{@tp.column.src_fingerprint.tuple[0]} +#{@tp.column.src_filesize.tuple[0]} +#{@tp.column.src_word_count.tuple[0]} +#{@tp.column.src_txt.tuple[0]} +#{@tp.column.fulltext.tuple[0]} +tid) +" + + "VALUES ( +#{@tp.column.title.tuple[1]} +#{@tp.column.title_main.tuple[1]} +#{@tp.column.title_sub.tuple[1]} +#{@tp.column.title_short.tuple[1]} +#{@tp.column.title_edition.tuple[1]} +#{@tp.column.title_note.tuple[1]} +#{@tp.column.title_language.tuple[1]} +#{@tp.column.title_language_char.tuple[1]} +#{@tp.column.creator_author.tuple[1]} +#{@tp.column.creator_author_honorific.tuple[1]} +#{@tp.column.creator_author_nationality.tuple[1]} +#{@tp.column.creator_editor.tuple[1]} +#{@tp.column.creator_contributor.tuple[1]} +#{@tp.column.creator_illustrator.tuple[1]} +#{@tp.column.creator_photographer.tuple[1]} +#{@tp.column.creator_translator.tuple[1]} +#{@tp.column.creator_prepared_by.tuple[1]} +#{@tp.column.creator_digitized_by.tuple[1]} +#{@tp.column.creator_audio.tuple[1]} +#{@tp.column.creator_video.tuple[1]} +#{@tp.column.language_document.tuple[1]} +#{@tp.column.language_document_char.tuple[1]} +#{@tp.column.language_original.tuple[1]} +#{@tp.column.language_original_char.tuple[1]} +#{@tp.column.date_added_to_site.tuple[1]} +#{@tp.column.date_available.tuple[1]} +#{@tp.column.date_created.tuple[1]} +#{@tp.column.date_issued.tuple[1]} +#{@tp.column.date_modified.tuple[1]} +#{@tp.column.date_published.tuple[1]} +#{@tp.column.date_valid.tuple[1]} +#{@tp.column.date_translated.tuple[1]} +#{@tp.column.date_original_publication.tuple[1]} +#{@tp.column.date_generated.tuple[1]} +#{@tp.column.publisher.tuple[1]} +#{@tp.column.original_publisher.tuple[1]} +#{@tp.column.original_language.tuple[1]} +#{@tp.column.original_language_char.tuple[1]} +#{@tp.column.original_source.tuple[1]} +#{@tp.column.original_institution.tuple[1]} +#{@tp.column.original_nationality.tuple[1]} +#{@tp.column.rights_all.tuple[1]} +#{@tp.column.rights_copyright_text.tuple[1]} +#{@tp.column.rights_copyright_translation.tuple[1]} +#{@tp.column.rights_copyright_illustrations.tuple[1]} +#{@tp.column.rights_copyright_photographs.tuple[1]} +#{@tp.column.rights_copyright_preparation.tuple[1]} +#{@tp.column.rights_copyright_digitization.tuple[1]} +#{@tp.column.rights_copyright_audio.tuple[1]} +#{@tp.column.rights_copyright_video.tuple[1]} +#{@tp.column.rights_license.tuple[1]} +#{@tp.column.classify_topic_register.tuple[1]} +#{@tp.column.classify_subject.tuple[1]} +#{@tp.column.classify_loc.tuple[1]} +#{@tp.column.classify_dewey.tuple[1]} +#{@tp.column.classify_keywords.tuple[1]} +#{@tp.column.identifier_oclc.tuple[1]} +#{@tp.column.identifier_isbn.tuple[1]} +#{@tp.column.notes_abstract.tuple[1]} +#{@tp.column.notes_comment.tuple[1]} +#{@tp.column.notes_description.tuple[1]} +#{@tp.column.notes_history.tuple[1]} +#{@tp.column.notes_format.tuple[1]} +#{@tp.column.notes_relation.tuple[1]} +#{@tp.column.notes_coverage.tuple[1]} +#{@tp.column.notes_type.tuple[1]} +#{@tp.column.notes_prefix.tuple[1]} +#{@tp.column.notes_prefix_a.tuple[1]} +#{@tp.column.notes_prefix_b.tuple[1]} +#{@tp.column.notes_suffix.tuple[1]} +#{@tp.column.src_filename.tuple[1]} +#{@tp.column.src_fingerprint.tuple[1]} +#{@tp.column.src_filesize.tuple[1]} +#{@tp.column.src_word_count.tuple[1]} +#{@tp.column.src_txt.tuple[1]} +#{@tp.column.fulltext.tuple[1]} +#{@id} +);" + if @md.opt.act[:maintenance][:set]==:on + puts "maintenance mode on: creating sql transaction file (for last transaction set (document) only):\n\t#{@file_maint.inspect}" + @file_maint.puts sql_entry + end + sql_entry + end + end + class LoadUrls + def initialize(conn,f,u,id,opt,file_maint) + @conn,@f,@u,@id,@opt,@file_maint=conn,f,u,id,opt,file_maint + end + def tuple + sql_entry="INSERT INTO urls (#{@f[:txt]} #{@f[:html_toc]} #{@f[:html_doc]} #{@f[:xhtml]} #{@f[:xml_sax]} #{@f[:xml_dom]} #{@f[:odf]} #{@f[:pdf_p]} #{@f[:pdf_l]} #{@f[:concordance]} #{@f[:latex_p]} #{@f[:latex_l]} #{@f[:manifest]} #{@f[:digest]} #{@f[:markup]} #{@f[:sisupod]} metadata_tid) " + + "VALUES (#{@u[:txt]} #{@u[:html_toc]} #{@u[:html_doc]} #{@u[:xhtml]} #{@u[:xml_sax]} #{@u[:xml_dom]} #{@u[:odf]} #{@u[:pdf_p]} #{@u[:pdf_l]} #{@u[:concordance]} #{@u[:latex_p]} #{@u[:latex_l]} #{@u[:manifest]} #{@u[:digest]} #{@u[:markup]} #{@u[:sisupod]} #{@id});" + if @opt.act[:maintenance][:set]==:on + @file_maint.puts sql_entry + end + sql_entry + end + end + class LoadEndnotes + def initialize(conn,en,opt,file_maint) + @conn,@en,@opt,@file_maint=conn,en,opt,file_maint + end + def tuple + sql_entry="INSERT INTO #{@en[:type]} (nid, document_lid, nr, clean, body, ocn, ocnd, ocns, metadata_tid, digest_clean) " + + "VALUES ('#{@en[:id]}', '#{@en[:lid]}', '#{@en[:nr]}', '#{@en[:txt]}', '#{@en[:body]}', '#{@en[:ocn]}', '#{@en[:ocnd]}', '#{@en[:ocns]}', '#{@en[:id_t]}', '#{@en[:hash]}');" + if @opt.act[:maintenance][:set]==:on + @file_maint.puts sql_entry + end + sql_entry + end + end +end +__END__ +#+END_SRC + +* db_select.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/db_select.rb" +# <> +module SiSU_DbAction + def db_action(sdb) + @sdb=sdb + def createdb + @sdb[:create].output_dir? + begin + @sdb[:create].create_db + rescue + @sdb[:create].output_dir? + end + end + def drop + @sdb[:drop].drop.tables + end + def create + @sdb[:create].output_dir? + begin + @sdb[:create].create_table.metadata_and_text + @sdb[:create].create_table.doc_objects + @sdb[:create].create_table.endnotes + @sdb[:create].create_table.endnotes_asterisk + @sdb[:create].create_table.endnotes_plus + @sdb[:create].create_table.urls + @sdb[:index].create_indexes + rescue + SiSU_Errors::Rescued.new($!,$@,'--sqlite').location + @sdb[:create].output_dir? do + __LINE__.to_s + ':' + __FILE__ + end + end + end + def import + db_exist? + @sdb[:import].marshal_load + tell=case @sql_type + when :sqlite + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "sqlite3 #{@db.sqlite.db} database?" + ) + when :pg + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "pgaccess or psql #{@db.psql.db} database?" + ) + else '???' + end + tell.puts_grey if @opt.act[:verbose][:set]==:on + end + def remove + db_exist? + @sdb[:remove_doc].remove + end + def update + remove + import + end + self + end +end +module SiSU_DbSelect + class Case + include SiSU_DbAction + def initialize(opt,conn='',sql_type=:pg) + @opt,@conn,@sql_type=opt,conn,sql_type + @db=SiSU_Env::InfoDb.new + @file_maint=sql_maintenance_file + @sdb={ + create: SiSU_DbDBI::Create.new(@opt,@conn,@file_maint,@sql_type), + index: SiSU_DbDBI::Index.new(@opt,@conn,@file_maint,@sql_type), + drop: SiSU_DbDBI::Drop.new(@opt,@conn,@db,@sql_type), + } + if (@opt.act[:psql_import][:set]==:on \ + || @opt.act[:psql_update][:set]==:on) \ + or (@opt.act[:sqlite_import][:set]==:on \ + || @opt.act[:sqlite_update][:set]==:on) + @sdb[:import]=SiSU_DbDBI::Import.new(@opt,@conn,@file_maint,@sql_type) + @sdb[:remove_doc]=SiSU_DbDBI::Remove.new(@opt,@conn,@file_maint,@sql_type) + elsif (@opt.act[:psql_remove][:set]==:on \ + or @opt.act[:sqlite_remove][:set]==:on) + @sdb[:remove_doc]=SiSU_DbDBI::Remove.new(@opt,@conn,@file_maint,@sql_type) + end + end + def db_exist? + if @sql_type==:sqlite \ + and (not (FileTest.file?(@db.sqlite.db)) \ + or FileTest.zero?(@db.sqlite.db)) + puts %{no connection with sqlite database established, you may need to run:\n} \ + + %{ sisu --sqlite --createall\n} \ + + %{ before attempting to populate the database} + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).mark( + "\n" \ + + 'Attempting to initialize db' + "\n" \ + + 'Creating db tables' + ) + db_action(@sdb).create + end + if @conn.is_a?(NilClass) + if @sql_type==:sqlite + puts %{no connection with sqlite database established, you may need to run:\n} \ + + %{ sisu --sqlite --createall\n} \ + + %{ before attempting to populate the database} + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).mark( + "\n" \ + + 'Attempting to initialize db' + "\n" \ + + 'Creating db tables' + ) + db_action(@sdb).create + @db.sqlite.db + else + puts %{no connection with pg database established, you may need to run:\n} \ + + %{ createdb "#{@db.psql.db}"\n} \ + + %{ after that don't forget to run:\n} \ + + %{ sisu --pg --createall\n} \ + + %{ before attempting to populate the database} + @db.psql.db + end + exit + end + end + def sql_maintenance_file + file=if @opt.act[:maintenance][:set]==:on + if @opt.fns and not @opt.fns.empty? + @env=SiSU_Env::InfoEnv.new(@opt.fns) if @opt.fns + if @sql_type ==:sqlite + puts "\n#{@env.processing_path.sqlite}/#{@opt.fns}.sql" + end + @db=SiSU_Env::InfoDb.new + @job="sqlite3 #{@db.sqlite.db} < #{@env.processing_path.sqlite}/#{@opt.fns}.sql" + if @sql_type ==:sqlite + File.new("#{@env.processing_path.sqlite}/#{@opt.fns}.sql",'w+') + else + File.new("#{@env.processing_path.postgresql}/#{@opt.fns}.sql",'w+') + end + elsif @opt.fns \ + and (@opt.act[:sqlite_create][:set] ==:on \ + || @opt.act[:psql_create][:set] ==:on) + nil #sort variations later + else nil + end + else nil + end + file + end + def cases + if @opt.act[:psql_drop][:set] ==:on \ + or @opt.act[:sqlite_drop][:set] ==:on + db_action(@sdb).drop + end + if @opt.act[:psql_createdb][:set] ==:on \ + or @opt.act[:sqlite_createdb][:set] ==:on + db_action(@sdb).createdb + end + if @opt.act[:psql_create][:set] ==:on \ + or @opt.act[:sqlite_create][:set] ==:on + db_action(@sdb).create + end + if @opt.act[:psql_update][:set] ==:on \ + or @opt.act[:sqlite_update][:set] ==:on + db_action(@sdb).update + else + if @opt.act[:psql_remove][:set] ==:on \ + or @opt.act[:sqlite_remove][:set] ==:on + db_action(@sdb).remove + end + if @opt.act[:psql_import][:set] ==:on \ + or @opt.act[:sqlite_import][:set] ==:on + db_action(@sdb).import + end + end + end + end +end +__END__ +#+END_SRC + +* structure +** db_columns.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/db_columns.rb" +# <> +module SiSU_DbColumns + require_relative 'se' # se.rb + require_relative 'db_sqltxt' # db_sqltxt.rb + class Columns < SiSU_DbText::Prepare + def initialize(md=nil) + @md=md + @db=SiSU_Env::InfoDb.new #watch + @lang ||=SiSU_i18n::Languages.new + if defined? md.opt.act \ + and ((md.opt.act[:psql_import][:set]==:on \ + || md.opt.act[:psql_update][:set]==:on) \ + or (md.opt.act[:sqlite_import][:set]==:on \ + || md.opt.act[:sqlite_update][:set]==:on)) \ + and FileTest.exist?(md.fns) + txt_arr=IO.readlines(md.fns,'') + src=txt_arr.join("\n") + if @db.share_source? + @sisutxt=special_character_escape(src) + else @sisutxt='' + end + @fulltext=clean_searchable_text_from_document_objects(txt_arr) + else @sisutxt,@fulltext='','' + end + end +#% structures + #def column_define + # def varchar(name,size) + # "#{name} VARCHAR(#{size}) NULL," + # end + #end +=begin +#% title +@title: + :subtitle: + :short: + :edition: + :language: + :note: +=end + def column + def title # DublinCore 1 - title + def name + 'title' + end + def create_column + "#{name} VARCHAR(#{Db[:col_title]}) NOT NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata full document title [DC1]';} + end + def tuple + if defined? @md.title.full \ + and @md.title.full=~/\S+/ + txt=@md.title.full + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def title_main + def name + 'title_main' + end + def create_column + "#{name} VARCHAR(#{Db[:col_title_part]}) NOT NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata main document title';} + end + def tuple + if defined? @md.title.main \ + and @md.title.main=~/\S+/ + txt=@md.title.main + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def title_sub + def name + 'title_sub' + end + def create_column + "#{name} VARCHAR(#{Db[:col_title_part]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document subtitle';} + end + def tuple + if defined? @md.title.sub \ + and @md.title.sub=~/\S+/ + txt=@md.title.sub + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def title_short + def name + 'title_short' + end + def create_column + "#{name} VARCHAR(#{Db[:col_title_part]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document short title if any';} + end + def tuple + if defined? @md.title.short \ + and @md.title.short=~/\S+/ + txt=@md.title.short + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def title_edition + def name + 'title_edition' + end + def create_column + "#{name} VARCHAR(#{Db[:col_title_edition]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document edition (version)';} + end + def tuple + if defined? @md.title.edition \ + and @md.title.edition=~/\S+/ + txt=@md.title.edition + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def title_note + def name + 'title_note' + end + def create_column + "#{name} VARCHAR(#{Db[:col_info_note]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document notes associated with title';} + end + def tuple + if defined? @md.title.note \ + and @md.title.note=~/\S+/ + txt=@md.title.note + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def title_language + def name + 'title_language' + end + def create_column + "#{name} VARCHAR(#{Db[:col_language]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document language [DC12]';} + end + def tuple + if @lang.list[@md.opt.lng][:n] + txt=@lang.list[@md.opt.lng][:n] + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def title_language_char # consider + def name + 'title_language_char' + end + def create_column + "#{name} VARCHAR(#{Db[:col_language_char]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document language iso code';} + end + def tuple + if defined? @md.opt.lng \ + and @md.opt.lng=~/\S+/ + txt=@md.opt.lng + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end +=begin +#% creator +@creator: + :author: + :editor: + :contributor: + :illustrator: + :photographer: + :translator: + :prepared_by: + :digitized_by: + :audio: + :video: +=end + def creator_author # DublinCore 2 - creator/author (author) + def name + 'creator_author' + end + def create_column + "#{name} VARCHAR(#{Db[:col_name]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document author (creator) [DC2]';} + end + def tuple + if defined? @md.creator.author_detail \ + and @md.creator.author_detail.is_a?(Array) \ + and @md.creator.author_detail.length > 0 + txt='' + @md.creator.author_detail.each do |h| + txt=txt + %{#{h[:the]}, #{h[:others]}; } + end + txt=txt.gsub(/[;, ]+\s*$/,'') + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def creator_author_honorific # consider + def name + 'creator_author_hon' + end + def create_column + "#{name} VARCHAR(#{Db[:col_creator_misc_short]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document author honorific (title e.g, Ms. Dr. Prof.)';} + end + def tuple + if defined? @md.creator.author_hon \ + and @md.creator.author_hon=~/\S+/ + txt=@md.creator.author_hon + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def creator_author_nationality # consider + def name + 'creator_author_nationality' + end + def create_column + "#{name} VARCHAR(#{Db[:col_creator_misc_short]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata nationality of document author (creator)';} + end + def tuple + if defined? @md.creator.author_nationality_detail \ + and @md.creator.author_nationality=~/\S+/ + txt=@md.creator.author_nationality_detail + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def creator_editor + def name + 'creator_editor' + end + def create_column + "#{name} VARCHAR(#{Db[:col_name]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document editor name(s)';} + end + def tuple + if defined? @md.creator.editor_detail \ + and @md.creator.editor_detail.is_a?(Array) \ + and @md.creator.editor_detail.length > 0 + txt='' + @md.creator.editor_detail.each do |h| + txt=txt + %{#{h[:the]}, #{h[:others]}; } + end + txt=txt.gsub(/[;, ]+\s*$/,'') + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def creator_contributor # DublinCore 6 - contributor + def name + 'creator_contributor' + end + def create_column + "#{name} VARCHAR(#{Db[:col_name]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document contributor name(s) [DC6]';} + end + def tuple + if defined? @md.creator.contributor_detail \ + and @md.creator.contributor_detail.is_a?(Array) \ + and @md.creator.contributor_detail.length > 0 + txt='' + @md.creator.contributor_detail.each do |h| + txt=txt + %{#{h[:the]}, #{h[:others]}; } + end + txt=txt.gsub(/[;, ]+\s*$/,'') + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def creator_illustrator + def name + 'creator_illustrator' + end + def create_column + "#{name} VARCHAR(#{Db[:col_name]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document illustrator name(s)';} + end + def tuple + if defined? @md.creator.illustrator_detail \ + and @md.creator.illustrator_detail.is_a?(Array) \ + and @md.creator.illustrator_detail.length > 0 + txt='' + @md.creator.illustrator_detail.each do |h| + txt=txt + %{#{h[:the]}, #{h[:others]}; } + end + txt=txt.gsub(/[;, ]+\s*$/,'') + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def creator_photographer + def name + 'creator_photographer' + end + def create_column + "#{name} VARCHAR(#{Db[:col_name]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document photographer name(s)';} + end + def tuple + if defined? @md.creator.photographer_detail \ + and @md.creator.photographer_detail.is_a?(Array) \ + and @md.creator.photographer_detail.length > 0 + txt='' + @md.creator.photographer_detail.each do |h| + txt=txt + %{#{h[:the]}, #{h[:others]}; } + end + txt=txt.gsub(/[;, ]+\s*$/,'') + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def creator_translator + def name + 'creator_translator' + end + def create_column + "#{name} VARCHAR(#{Db[:col_name]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document translator name(s)';} + end + def tuple + if defined? @md.creator.translator_detail \ + and @md.creator.translator_detail.is_a?(Array) \ + and @md.creator.translator_detail.length > 0 + txt='' + @md.creator.translator_detail.each do |h| + txt=txt + %{#{h[:the]}, #{h[:others]}; } + end + txt=txt.gsub(/[;, ]+\s*$/,'') + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def creator_prepared_by + def name + 'creator_prepared_by' + end + def create_column + "#{name} VARCHAR(#{Db[:col_name]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document prepared by name(s)';} + end + def tuple + if defined? @md.creator.prepared_by_detail \ + and @md.creator.prepared_by_detail.is_a?(Array) \ + and @md.creator.prepared_by_detail.length > 0 + txt='' + @md.creator.prepared_by_detail.each do |h| + txt=txt + %{#{h[:the]}, #{h[:others]}; } + end + txt=txt.gsub(/[;, ]+\s*$/,'') + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def creator_digitized_by + def name + 'creator_digitized_by' + end + def create_column + "#{name} VARCHAR(#{Db[:col_name]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document digitized by name(s)';} + end + def tuple + if defined? @md.creator.digitized_by_detail \ + and @md.creator.digitized_by_detail.is_a?(Array) \ + and @md.creator.digitized_by_detail.length > 0 + txt='' + @md.creator.digitized_by_detail.each do |h| + txt=txt + %{#{h[:the]}, #{h[:others]}; } + end + txt=txt.gsub(/[;, ]+\s*$/,'') + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def creator_audio + def name + 'creator_audio' + end + def create_column + "#{name} VARCHAR(#{Db[:col_name]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document audio by name(s)';} + end + def tuple + if defined? @md.creator.audio_detail \ + and @md.creator.audio_detail.is_a?(Array) \ + and @md.creator.audio_detail.length > 0 + txt='' + @md.creator.audio_detail.each do |h| + txt=txt + %{#{h[:the]}, #{h[:others]}; } + end + txt=txt.gsub(/[;, ]+\s*$/,'') + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def creator_video + def name + 'creator_video' + end + def create_column + "#{name} VARCHAR(#{Db[:col_name]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document video by name(s)';} + end + def tuple + if defined? @md.creator.video_detail \ + and @md.creator.video_detail.is_a?(Array) \ + and @md.creator.video_detail.length > 0 + txt='' + @md.creator.video_detail.each do |h| + txt=txt + %{#{h[:the]}, #{h[:others]}; } + end + txt=txt.gsub(/[;, ]+\s*$/,'') + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end +=begin +#% language +#taken from other fields +@title: + :language: +@original: + :language: +#not available --> +#@language: +# :document: +# :original: +=end + def language_document + def name + 'language_document' + end + def create_column + "#{name} VARCHAR(#{Db[:col_language]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document language';} + end + def tuple + if @lang.list[@md.opt.lng][:n] + txt=@lang.list[@md.opt.lng][:n] + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def language_document_char + def name + 'language_document_char' + end + def create_column + "#{name} VARCHAR(#{Db[:col_language_char]}) NOT NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document language';} + end + def tuple + #modify check, is now required, SiSUv3d_ + if defined? @md.opt.lng \ + and @md.opt.lng=~/\S+/ + txt=@md.opt.lng + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def language_original + def name + 'language_original' + end + def create_column + "#{name} VARCHAR(#{Db[:col_language]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata original document/text language';} + end + def tuple + if defined? @md.language.original \ + and @md.language.original=~/\S+/ + txt=@md.language.original + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def language_original_char + def name + 'language_original_char' + end + def create_column + "#{name} VARCHAR(#{Db[:col_language_char]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document language';} + end + def tuple + if defined? @md.language.original_char \ + and @md.language.original_char=~/\S+/ + txt=@md.language.original_char + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end +=begin +#% date +@date: + :added_to_site: + :available: + :created: + :issued: + :modified: + :published: + :valid: + :translated: + :original_publication: +=end + def date_added_to_site + def name + 'date_added_to_site' + end + def create_column + "#{name} VARCHAR(#{Db[:col_date_text]}) NULL," + #"#{name} DATE," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata date added to site';} + end + def tuple + if defined? @md.date.added_to_site \ + and @md.date.added_to_site=~/\S+/ + txt=@md.date.added_to_site + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def date_available + def name + 'date_available' + end + def create_column + "#{name} VARCHAR(#{Db[:col_date_text]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata date added to site [DC]';} + end + def tuple + if defined? @md.date.available \ + and @md.date.available=~/\S+/ + txt=@md.date.available + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def date_created + def name + 'date_created' + end + def create_column + "#{name} VARCHAR(#{Db[:col_date_text]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata date created [DC]';} + end + def tuple + if defined? @md.date.created \ + and @md.date.created=~/\S+/ + txt=@md.date.created + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def date_issued + def name + 'date_issued' + end + def create_column + "#{name} VARCHAR(#{Db[:col_date_text]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata date issued [DC]';} + end + def tuple + if defined? @md.date.issued \ + and @md.date.issued=~/\S+/ + txt=@md.date.issued + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def date_modified + def name + 'date_modified' + end + def create_column + "#{name} VARCHAR(#{Db[:col_date_text]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata date modified [DC]';} + end + def tuple + if defined? @md.date.modified \ + and @md.date.modified=~/\S+/ + txt=@md.date.modified + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def date_published + def name + 'date_published' + end + def create_column + "#{name} VARCHAR(#{Db[:col_date_text]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata date published [DC7]';} + end + def tuple + if defined? @md.date.published \ + and @md.date.published=~/\S+/ + txt=@md.date.published + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def date_valid + def name + 'date_valid' + end + def create_column + "#{name} VARCHAR(#{Db[:col_date_text]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata date valid [DC]';} + end + def tuple + if defined? @md.date.valid \ + and @md.date.valid=~/\S+/ + txt=@md.date.valid + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def date_translated + def name + 'date_translated' + end + def create_column + "#{name} VARCHAR(#{Db[:col_date_text]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata date translated';} + end + def tuple + if defined? @md.date.translated \ + and @md.date.translated=~/\S+/ + txt=@md.date.translated + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def date_original_publication + def name + 'date_original_publication' + end + def create_column + "#{name} VARCHAR(#{Db[:col_date_text]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata date of original publication';} + end + def tuple + if defined? @md.date.original_publication \ + and @md.date.original_publication=~/\S+/ + txt=@md.date.original_publication + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def date_generated + def name + 'date_generated' + end + def create_column #choose other representation of time + "#{name} VARCHAR(30) NULL," + #"#{name} VARCHAR(10) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata date of sisu generation of document, automatically populated';} + end + def tuple #choose other representation of time + if defined? @md.generated \ + and @md.generated.to_s=~/\S+/ + txt=@md.generated.to_s + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end +=begin +#% publisher +@publisher: +=end + def publisher + def name + 'publisher' + end + def create_column + "#{name} VARCHAR(#{Db[:col_name]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document publisher [DC5]';} + end + def tuple + if defined? @md.publisher \ + and @md.publisher=~/\S+/ + txt=@md.publisher + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end +##% current +# def current_publisher +# def name +# 'current_publisher' +# end +# def size +# 10 +# end +# def create_column +# "#{name} VARCHAR(#{current_publisher.size}) NULL," +# end +# def tuple +# t=if defined? @md.current.publisher \ +# and @md.current.publisher=~/\S+/ +# txt=@md.current.publisher +# txt=special_character_escape(txt) +# "'#{txt}', " +# end +# end +# self +# end +=begin +#% original +@original: + :publisher: + #:date: #repeated under date + :language: + :institution: + :nationality: + :source: +=end + def original_publisher + def name + 'original_publisher' + end + def create_column + "#{name} VARCHAR(#{Db[:col_name]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document original publisher [DC5]';} + end + def tuple + if defined? @md.original.publisher \ + and @md.original.publisher=~/\S+/ + txt=@md.original.publisher + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def original_language + def name + 'original_language' + end + def create_column + "#{name} VARCHAR(#{Db[:col_language]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document original language';} + end + def tuple + if defined? @md.original.language \ + and @md.original.language=~/\S+/ + txt=@md.original.language + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def original_language_char # consider + def name + 'original_language_char' + end + def create_column + "#{name} VARCHAR(#{Db[:col_language_char]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document original language iso character';} + end + def tuple + if defined? @md.original.language_char \ + and @md.original.language_char=~/\S+/ + txt=@md.original.language_char + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def original_source + def name + 'original_source' + end + def create_column + "#{name} VARCHAR(#{Db[:col_name]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document original source [DC11]';} + end + def tuple + if defined? @md.original.source \ + and @md.original.source=~/\S+/ + txt=@md.original.source + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def original_institution + def name + 'original_institution' + end + def create_column + "#{name} VARCHAR(#{Db[:col_name]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document original institution';} + end + def tuple + if defined? @md.original.institution \ + and @md.original.institution=~/\S+/ + txt=@md.original.institution + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def original_nationality + def name + 'original_nationality' + end + def create_column + "#{name} VARCHAR(#{Db[:col_language]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document original nationality';} + end + def tuple + if defined? @md.original.nationality \ + and @md.original.nationality=~/\S+/ + txt=@md.original.nationality + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end +=begin +#% rights +@rights: + #:copyright: #mapped to :text: used where no other copyrights and included in :all: + :text: + :translation: + :illustrations: + :photographs: + :preparation: + :digitization: + :audio: + :video: + :license: + :all: +=end + def rights_all + def name + 'rights' + end + def create_column + "#{name} VARCHAR(#{Db[:col_info_note]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata rights associated with document (composite) [DC15]';} + end + def tuple + if defined? @md.rights.all \ + and @md.rights.all=~/\S+/ + txt=@md.rights.all + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def rights_copyright_text + def name + 'rights_copyright_text' + end + def create_column + "#{name} VARCHAR(#{Db[:col_info_note]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata copyright associated for document text';} + end + def tuple + if defined? @md.rights.copyright_text \ + and @md.rights.copyright_text=~/\S+/ + txt=@md.rights.copyright_text + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def rights_copyright_translation + def name + 'rights_copyright_translation' + end + def create_column + "#{name} VARCHAR(#{Db[:col_info_note]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata copyright associated for document text translation (if any)';} + end + def tuple + if defined? @md.rights.copyright_translation \ + and @md.rights.copyright_translation=~/\S+/ + txt=@md.rights.copyright_translation + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def rights_copyright_illustrations + def name + 'rights_copyright_illustrations' + end + def create_column + "#{name} VARCHAR(#{Db[:col_info_note]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata copyright associated for document text illustrations (if any)';} + end + def tuple + if defined? @md.rights.copyright_illustrations \ + and @md.rights.copyright_illustrations=~/\S+/ + txt=@md.rights.copyright_illustrations + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def rights_copyright_photographs + def name + 'rights_copyright_photographs' + end + def create_column + "#{name} VARCHAR(#{Db[:col_info_note]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata copyright associated for document text photographs (if any)';} + end + def tuple + if defined? @md.rights.copyright_photographs \ + and @md.rights.copyright_photographs=~/\S+/ + txt=@md.rights.copyright_photographs + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def rights_copyright_preparation + def name + 'rights_copyright_preparation' + end + def create_column + "#{name} VARCHAR(#{Db[:col_info_note]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata copyright associated for document text preparation (if any)';} + end + def tuple + if defined? @md.rights.copyright_preparation \ + and @md.rights.copyright_preparation=~/\S+/ + txt=@md.rights.copyright_preparation + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def rights_copyright_digitization + def name + 'rights_copyright_digitization' + end + def create_column + "#{name} VARCHAR(#{Db[:col_info_note]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata copyright associated for document text digitization (if any)';} + end + def tuple + if defined? @md.rights.copyright_digitization \ + and @md.rights.copyright_digitization=~/\S+/ + txt=@md.rights.copyright_digitization + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def rights_copyright_audio + def name + 'rights_copyright_audio' + end + def create_column + "#{name} VARCHAR(#{Db[:col_info_note]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata copyright associated for document text audio (if any)';} + end + def tuple + if defined? @md.rights.copyright_audio \ + and @md.rights.copyright_audio=~/\S+/ + txt=@md.rights.copyright_audio + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def rights_copyright_video + def name + 'rights_copyright_video' + end + def create_column + "#{name} VARCHAR(#{Db[:col_info_note]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata copyright associated for document text video (if any)';} + end + def tuple + if defined? @md.rights.copyright_video \ + and @md.rights.copyright_video=~/\S+/ + txt=@md.rights.copyright_video + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def rights_license + def name + 'rights_license' + end + def create_column + "#{name} VARCHAR(#{Db[:col_info_note]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata license granted for use of document if any)';} + end + def tuple + if defined? @md.rights.license \ + and @md.rights.license=~/\S+/ + txt=@md.rights.license + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end +=begin +#% identifier +@identifier: + :oclc: + :isbn: +=end + def identifier_oclc + def name + 'identifier_oclc' + end + def create_column + "#{name} VARCHAR(#{Db[:col_library]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata identifier document Online Computer Library Center number';} + end + def tuple + if defined? @md.identifier.oclc \ + and @md.identifier.oclc=~/\S+/ + txt=@md.identifier.oclc + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def identifier_isbn + def name + 'identifier_isbn' + end + def create_column + "#{name} VARCHAR(#{Db[:col_small]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata identifier document isbn (if any)';} + end + def tuple + if defined? @md.identifier.isbn \ + and @md.identifier.isbn=~/\S+/ + txt=@md.identifier.isbn + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end +=begin +#% classify +@classify: + :topic_register: + :subject: + :keywords: + :type: + :loc: + :dewey: +=end + def classify_topic_register + def name + 'classify_topic_register' + end + def create_column + "#{name} VARCHAR(#{Db[:col_info_note]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata classify document topic register (semi-structured document subject information)';} + end + def tuple + if defined? @md.classify.topic_register \ + and @md.classify.topic_register=~/\S+/ + txt=@md.classify.topic_register + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def classify_subject + def name + 'classify_subject' + end + def create_column + "#{name} VARCHAR(#{Db[:col_txt_long]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata classify document subject matter [DC3]';} + end + def tuple + if defined? @md.classify.subject \ + and @md.classify.subject=~/\S+/ + txt=@md.classify.subject + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def classify_loc + def name + 'classify_loc' + end + def create_column + "#{name} VARCHAR(#{Db[:col_library]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata classify document Library of Congress';} + end + def tuple + if defined? @md.classify.loc \ + and @md.classify.loc=~/\S+/ + txt=@md.classify.loc + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def classify_dewey + def name + 'classify_dewey' + end + def create_column + "#{name} VARCHAR(#{Db[:col_library]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata classify document Dewey';} + end + def tuple + if defined? @md.classify.dewey \ + and @md.classify.dewey=~/\S+/ + txt=@md.classify.dewey + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def classify_keywords + def name + 'classify_keywords' + end + def create_column + "#{name} VARCHAR(#{Db[:col_txt_long]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata classify document keywords';} + end + def tuple + if defined? @md.classify.keywords \ + and @md.classify.keywords=~/\S+/ + txt=@md.classify.keywords + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end +=begin +#% notes +@notes: + :abstract: + :description: + :comment: + :coverage: + :relation: + :format: + :history: + :prefix: + :prefix_a: + :prefix_b: + :suffix: +=end + def notes_abstract + def name + 'notes_abstract' + end + def create_column + "#{name} TEXT NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document notes abstract';} + end + def tuple + if defined? @md.notes.abstract \ + and @md.notes.abstract=~/\S+/ + txt=@md.notes.abstract + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def notes_description + def name + 'notes_description' + end + def create_column + "#{name} TEXT NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document notes description [DC4]';} + end + def tuple + if defined? @md.notes.description \ + and @md.notes.description=~/\S+/ + txt=@md.notes.description + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def notes_comment + def name + 'notes_comment' + end + def create_column + "#{name} TEXT NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document notes comment';} + end + def tuple + if defined? @md.notes.comment \ + and @md.notes.comment=~/\S+/ + txt=@md.notes.comment + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def notes_coverage + def name + 'notes_coverage' + end + def create_column + "#{name} VARCHAR(#{Db[:col_txt_short]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata classify document coverage [DC14]';} + end + def tuple + if defined? @md.classify.coverage \ + and @md.classify.coverage=~/\S+/ + txt=@md.classify.coverage + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def notes_relation + def name + 'notes_relation' + end + def create_column + "#{name} VARCHAR(#{Db[:col_txt_short]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata classify document relation [DC13]';} + end + def tuple + if defined? @md.classify.relation \ + and @md.classify.relation=~/\S+/ + txt=@md.classify.relation + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def notes_history #check, consider removal + def name + 'notes_history' + end + def create_column + "#{name} VARCHAR(#{Db[:col_txt_long]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document notes history';} + end + def tuple + if defined? @md.notes.history \ + and @md.notes.history=~/\S+/ + txt=@md.notes.history + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def notes_type #check + def name + 'notes_type' + end + def create_column + "#{name} VARCHAR(#{Db[:col_txt_long]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata notes document type [DC8]';} + end + def tuple + if defined? @md.notes.type \ + and @md.notes.type=~/\S+/ + txt=@md.notes.type + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def notes_format + def name + 'notes_format' + end + def create_column + "#{name} VARCHAR(#{Db[:col_txt_long]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata classify document format [DC9]';} + end + def tuple + if defined? @md.classify.format \ + and @md.classify.format=~/\S+/ + txt=@md.classify.format + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def notes_prefix + def name + 'notes_prefix' + end + def create_column + "#{name} TEXT NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document notes prefix';} + end + def tuple + if defined? @md.notes.prefix \ + and @md.notes.prefix=~/\S+/ + txt=@md.notes.prefix + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def notes_prefix_a + def name + 'notes_prefix_a' + end + def create_column + "#{name} TEXT NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document notes prefix_a';} + end + def tuple + if defined? @md.notes.prefix_a \ + and @md.notes.prefix_a=~/\S+/ + txt=@md.notes.prefix_a + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def notes_prefix_b + def name + 'notes_prefix_b' + end + def create_column + "#{name} TEXT NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document notes prefix_b';} + end + def tuple + if defined? @md.notes.prefix_b \ + and @md.notes.prefix_b=~/\S+/ + txt=@md.notes.prefix_b + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def notes_suffix + def name + 'notes_suffix' + end + def create_column # keep text + "#{name} TEXT NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document notes suffix';} + end + def tuple + if defined? @md.notes.suffix \ + and @md.notes.suffix=~/\S+/ + txt=@md.notes.suffix + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end +=begin +#% src +=end + def src_filename + def name + 'src_filename' + end + def create_column + "#{name} VARCHAR(#{Db[:col_filename]}) NOT NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'sisu markup source text filename';} + end + def tuple + if defined? @md.fns \ + and @md.fns=~/\S+/ + txt=@md.fns + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def src_fingerprint + def name + 'src_fingerprint' #hash/digest, sha512, sha256 or md5 + end + def create_column + "#{name} VARCHAR(#{Db[:col_digest]}) NULL," + #"#{name} TEXT NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'sisu markup source text fingerprint, hash digest sha512, sha256 or md5';} + end + def tuple + if defined? @md.dgst \ + and @md.dgst.is_a?(Array) \ + and @md.dgst[1]=~/\S+/ + txt=@md.dgst[1] + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def src_filesize + def name + 'src_filesize' + end + def create_column + "#{name} VARCHAR(#{Db[:col_filesize]}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'sisu markup source text file size';} + end + def tuple + if defined? @md.filesize \ + and @md.filesize=~/\S+/ + txt=@md.filesize + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def src_word_count + def name + 'src_word_count' + end + def create_column + "#{name} TEXT NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'sisu markup source text word count';} + end + def tuple + if defined? @md.wc_words \ + and @md.wc_words.to_s=~/\S+/ + txt=@md.wc_words + txt=special_character_escape(txt) + ["#{name}, ","'#{txt}', "] + else ['',''] + end + end + self + end + def src_txt # consider naming sisusrc + def name + 'src_text' + end + def create_column + "#{name} TEXT NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'sisu markup source text (if shared)';} + end + def tuple + if ((@md.opt.act[:psql_import][:set]==:on \ + || @md.opt.act[:psql_update][:set]==:on) \ + or (@md.opt.act[:sqlite_import][:set]==:on \ + || @md.opt.act[:sqlite_update][:set]==:on)) \ + and FileTest.exist?(@md.fns) + ["#{name}, ","'#{@sisutxt}', "] + else ['',''] + end + end + self + end +=begin +#% misc +@links: +=end + def fulltext + def name + 'fulltext' + end + def create_column + "#{name} TEXT NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'document full text clean, searchable';} + end + def tuple + if ((@md.opt.act[:psql_import][:set]==:on \ + || @md.opt.act[:psql_update][:set]==:on) \ + or (@md.opt.act[:sqlite_import][:set]==:on \ + || @md.opt.act[:sqlite_update][:set]==:on)) \ + and FileTest.exist?(@md.fns) + ["#{name}, ","'#{@fulltext}', "] + else ['',''] + end + end + self + end + def links + def name + 'links' + end + def create_column + "#{name} TEXT NULL," + #"#{name} VARCHAR(#{links.size}) NULL," + end + def column_comment + %{COMMENT ON COLUMN metadata_and_text.#{name} + IS 'metadata document links';} + end + #def tuple + # #BUG HERE - links is an array of paired values :say :url + # if defined? @md.links \ + # and @md.links=~/\S+/ + # txt=@md.links + # txt=special_character_escape(txt) + # ["#{name}, ","'#{txt}', "] + # else ['',''] + # end + #end + self + end + self + end + end + class ColumnSize + def document_clean # restriction not necessary + 60000 + end + def document_body + 16000 + end + def document_seg + 120 + end + def document_seg_full + 120 + end + def endnote_clean # restriction not necessary + 60000 + end + def endnote_body + 16000 + end + end +end +__END__ +#+END_SRC + +** db_indexes.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/db_indexes.rb" +# <> +module SiSU_DbIndex + class Index # create documents Indexes def initialize(opt,conn='',sql_type) + def initialize(opt,conn,file,sql_type) + @opt,@conn,@file,@sql_type=opt,conn,file,sql_type + end + def create_indexes # check added from pg not tested + def conn_execute_sql_pg(conn,sql) + conn.exec_params(sql) + end + def conn_execute_sql_sqlite(conn,sql) + conn.execute(sql) + end + def conn_execute_sql(conn,sql) + if @sql_type==:pg + conn_execute_sql_pg(conn,sql) + elsif @sql_type==:sqlite + conn_execute_sql_sqlite(conn,sql) + else + end + end + def conn_execute_array(sql_arr) + begin + @conn.transaction do |conn| + sql_arr.each do |sql| + conn_execute_sql(conn,sql) + end + end + rescue + if @conn.is_a?(NilClass) + errmsg="No sqlite3 connection (check sqlite3 dependencies)" + if @opt.act[:no_stop][:set]==:on + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error("#{errmsg}, proceeding without sqlite output (as requested)") + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error("#{errmsg}, STOPPING") + exit + end + end + end + end + def base + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + print "\n create documents common indexes\n" + end + sql_arr=[ + %{CREATE INDEX idx_ocn ON doc_objects(ocn);}, + %{CREATE INDEX idx_digest_clean ON doc_objects(digest_clean);}, + %{CREATE INDEX idx_digest_all ON doc_objects(digest_all);}, + %{CREATE INDEX idx_lev0 ON doc_objects(lev0);}, + %{CREATE INDEX idx_lev1 ON doc_objects(lev1);}, + %{CREATE INDEX idx_lev2 ON doc_objects(lev2);}, + %{CREATE INDEX idx_lev3 ON doc_objects(lev3);}, + %{CREATE INDEX idx_lev4 ON doc_objects(lev4);}, + %{CREATE INDEX idx_lev5 ON doc_objects(lev5);}, + %{CREATE INDEX idx_lev6 ON doc_objects(lev6);}, + %{CREATE INDEX idx_endnote_nr ON endnotes(nr);}, + %{CREATE INDEX idx_digest_en ON endnotes(digest_clean);}, + %{CREATE INDEX idx_endnote_nr_asterisk ON endnotes_asterisk(nr);}, + %{CREATE INDEX idx_endnote_asterisk ON endnotes_asterisk(clean);}, + %{CREATE INDEX idx_digest_en_asterisk ON endnotes_asterisk(digest_clean);}, + %{CREATE INDEX idx_endnote_nr_plus ON endnotes_plus(nr);}, + %{CREATE INDEX idx_endnote_plus ON endnotes_plus(clean);}, + %{CREATE INDEX idx_digest_en_plus ON endnotes_plus(digest_clean);}, + %{CREATE INDEX idx_title ON metadata_and_text(title);}, + %{CREATE INDEX idx_author ON metadata_and_text(creator_author);}, + %{CREATE INDEX idx_filename ON metadata_and_text(src_filename);}, + %{CREATE INDEX idx_language ON metadata_and_text(language_document_char);}, + %{CREATE INDEX idx_topics ON metadata_and_text(classify_topic_register)}, + ] + conn_execute_array(sql_arr) + end + def text + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + print "\n create documents TEXT indexes\n" + end + sql_arr=[ + %{CREATE INDEX idx_clean ON doc_objects(clean);}, + %{CREATE INDEX idx_endnote ON endnotes(clean);} + ] + conn_execute_array(sql_arr) + end + base + @opt.act[:psql][:set]==:on ? '' : text + end + end +end +__END__ +#+END_SRC + +* db_tests.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/db_tests.rb" +# <> +module SiSU_DbTests + class Test + def initialize(info,opt) + @ck,@opt=info,opt + unless @opt.act[:quiet][:set]==:on + puts @ck.tp[:fns] if @ck.tp[:fns] and not @ck.tp[:fns].empty? + puts @ck.tp[:title] if @ck.tp[:title] and not @ck.tp[:title].empty? + puts @ck.tp[:creator] if @ck.tp[:creator] and not @ck.tp[:creator].empty? + end + end + def verify + unless @opt.act[:quiet][:set]==:on + puts @ck.tp[:fns].length.to_s + ' checklength ' + @ck.tp[:fns] if @ck.tp[:fns] and @ck.tp[:fns].length >@ck.lt_filename + puts @ck.tp[:title].length.to_s + ' checklength ' + @ck.tp[:title] if @ck.tp[:title] and @ck.tp[:title].length >@ck.lt_title + puts @ck.tp[:subtitle].length.to_s + ' checklength ' + @ck.tp[:subtitle] if @ck.tp[:subtitle] and @ck.tp[:subtitle].length >@ck.lt_subtitle + puts @ck.tp[:creator].length.to_s + ' checklength ' + @ck.tp[:creator] if @ck.tp[:creator] and @ck.tp[:creator].length >@ck.lt_creator + puts @ck.tp[:author_title].length.to_s + ' checklength ' + @ck.tp[:author_title] if @ck.tp[:author_title] and @ck.tp[:author_title].length >@ck.lt_author_title + puts @ck.tp[:illustrator].length.to_s + ' checklength ' + @ck.tp[:illustrator] if @ck.tp[:illustrator] and @ck.tp[:illustrator].length >@ck.lt_illustrator + puts @ck.tp[:translator].length.to_s + ' checklength ' + @ck.tp[:translator] if @ck.tp[:translator] and @ck.tp[:translator].length >@ck.lt_translator + puts @ck.tp[:prepared_by].length.to_s + ' checklength ' + @ck.tp[:prepared_by] if @ck.tp[:prepared_by] and @ck.tp[:prepared_by].length >@ck.lt_prepared_by + puts @ck.tp[:digitized_by].length.to_s + ' checklength ' + @ck.tp[:digitized_by] if @ck.tp[:digitized_by] and @ck.tp[:digitized_by].length >@ck.lt_digitized_by + puts @ck.tp[:subject].length.to_s + ' checklength ' + @ck.tp[:subject] if @ck.tp[:subject] and @ck.tp[:subject].length >@ck.lt_subject + puts @ck.tp[:description].length.to_s + ' checklength ' + @ck.tp[:description] if @ck.tp[:description] and @ck.tp[:description].length >@ck.lt_description + puts @ck.tp[:publisher].length.to_s + ' checklength ' + @ck.tp[:publisher] if @ck.tp[:publisher] and @ck.tp[:publisher].length >@ck.lt_publisher + puts @ck.tp[:contributor].length.to_s + ' checklength ' + @ck.tp[:contributor] if @ck.tp[:contributor] and @ck.tp[:contributor].length >@ck.lt_contributor + puts @ck.tp[:date].length.to_s + ' checklength ' + @ck.tp[:date] if @ck.tp[:date] and @ck.tp[:date].length >@ck.lt_date + puts @ck.tp[:date_created].length.to_s + ' checklength ' + @ck.tp[:date_created] if @ck.tp[:date_created] and @ck.tp[:date_created].length >@ck.lt_date + puts @ck.tp[:date_issued].length.to_s + ' checklength ' + @ck.tp[:date_issued] if @ck.tp[:date_issued] and @ck.tp[:date_issued].length >@ck.lt_date + puts @ck.tp[:date_valid].length.to_s + ' checklength ' + @ck.tp[:date_valid] if @ck.tp[:date_valid] and @ck.tp[:date_valid].length >@ck.lt_date + puts @ck.tp[:date_available].length.to_s + ' checklength ' + @ck.tp[:date_available] if @ck.tp[:date_available] and @ck.tp[:date_available].length >@ck.lt_date + puts @ck.tp[:date_modified].length.to_s + ' checklength ' + @ck.tp[:date_modified] if @ck.tp[:date_modified] and @ck.tp[:date_modified].length >@ck.lt_date + puts @ck.tp[:date_translated].length.to_s + ' checklength ' + @ck.tp[:date_translated] if @ck.tp[:date_translated] and @ck.tp[:date_translated].length >@ck.lt_date + puts @ck.tp[:date_added_to_site].length.to_s + ' checklength ' + @ck.tp[:date_added_to_site] if @ck.tp[:date_added_to_site] and @ck.tp[:date_added_to_site].length >@ck.lt_date + puts @ck.tp[:type].length.to_s + ' checklength ' + @ck.tp[:type] if @ck.tp[:type] and @ck.tp[:type].length >@ck.lt_type + puts @ck.tp[:format].length.to_s + ' checklength ' + @ck.tp[:format] if @ck.tp[:format] and @ck.tp[:format].length >@ck.lt_format + puts @ck.tp[:identifier].length.to_s + ' checklength ' + @ck.tp[:identifier] if @ck.tp[:identifier] and @ck.tp[:identifier].length >@ck.lt_identifier + puts @ck.tp[:source].length.to_s + ' checklength ' + @ck.tp[:source] if @ck.tp[:source] and @ck.tp[:source].length >@ck.lt_source + puts @ck.tp[:language].length.to_s + ' checklength ' + @ck.tp[:language] if @ck.tp[:language] and @ck.tp[:language].length >@ck.lt_language + puts @ck.tp[:language_original].length.to_s + ' checklength ' + @ck.tp[:language_original] if @ck.tp[:language_original] and @ck.tp[:language_original].length >@ck.lt_language_original + puts @ck.tp[:relation].length.to_s + ' checklength ' + @ck.tp[:relation] if @ck.tp[:relation] and @ck.tp[:relation].length >@ck.lt_relation + puts @ck.tp[:coverage].length.to_s + ' checklength ' + @ck.tp[:coverage] if @ck.tp[:coverage] and @ck.tp[:coverage].length >@ck.lt_coverage + puts @ck.tp[:rights].length.to_s + ' checklength ' + @ck.tp[:rights] if @ck.tp[:rights] and @ck.tp[:rights].length >@ck.lt_rights + puts @ck.tp[:copyright].length.to_s + ' checklength ' + @ck.tp[:copyright] if @ck.tp[:copyright] and @ck.tp[:copyright].length >@ck.lt_copyright + puts @ck.tp[:owner].length.to_s + ' checklength ' + @ck.tp[:owner] if @ck.tp[:owner] and @ck.tp[:owner].length >@ck.lt_owner + puts @ck.tp[:keywords].length.to_s + ' checklength ' + @ck.tp[:keywords] if @ck.tp[:keywords] and @ck.tp[:keywords].length >@ck.lt_keywords + puts @ck.tp[:abstract].length.to_s + ' checklength ' + @ck.tp[:abstract] if @ck.tp[:abstract] and @ck.tp[:abstract].length >@ck.lt_abstract + puts @ck.tp[:comment].length.to_s + ' checklength ' + @ck.tp[:comment] if @ck.tp[:comment] and @ck.tp[:comment].length >@ck.lt_comment + puts @ck.tp[:loc].length.to_s + ' checklength ' + @ck.tp[:loc] if @ck.tp[:loc] and @ck.tp[:loc].length >@ck.lt_loc + puts @ck.tp[:dewey].length.to_s + ' checklength ' + @ck.tp[:dewey] if @ck.tp[:dewey] and @ck.tp[:dewey].length >@ck.lt_dewey + puts @ck.tp[:isbn].length.to_s + ' checklength ' + @ck.tp[:isbn] if @ck.tp[:isbn] and @ck.tp[:isbn].length >@ck.lt_isbn + puts @ck.tp[:pg].length.to_s + ' checklength ' + @ck.tp[:pg] if @ck.tp[:pg] and @ck.tp[:pg].length >@ck.lt_pg + puts @ck.tp[:topic_register].length.to_s + ' checklength ' + @ck.tp[:topic_register] if @ck.tp[:topic_register] and @ck.tp[:topci_register].length >@ck.lt_topic_register + puts @ck.tp[:date] if @ck.tp[:date] and not @ck.tp[:date].empty? and @ck.tp[:date] !~/\d\d-\d\d-\d\d/ + end + end + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + db sql + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/digests.org b/org/digests.org new file mode 100644 index 00000000..7107f53f --- /dev/null +++ b/org/digests.org @@ -0,0 +1,330 @@ +-*- mode: org -*- +#+TITLE: sisu digests +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:digests: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* digests.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/digests.rb" +# <> +module SiSU_DigestView + require_relative 'se_hub_particulars' # se_hub_particulars.rb + require_relative 'prog_text_translation' # prog_text_translation.rb + require_relative 'shared_markup_alt.rb' # shared_markup_alt.rb + class Source + @@dg=nil + def initialize(opt) + @opt=opt + @fnb=@opt.fnb + @@endnotes_para=[] + @@dg=nil + @dg=@@dg ||=SiSU_Env::InfoEnv.new.digest(opt).type + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + end + def read + begin + @env,@md,@ao_array=@particulars.env,@particulars.md,@particulars.ao_array + unless @opt.act[:quiet][:set]==:on + tool=(@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? "#{@env.program.text_editor} file://#{@md.file.output_path.hash_digest.dir}/#{@md.file.base_filename.hash_digest}" + : "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}" + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "Document #{@dg} Digests", + tool + ).green_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "Document #{@dg} Digests", + tool + ).green_title_hi + if @opt.act[:verbose_plus][:set]==:on \ + or @opt.act[:maintenance][:set]==:on + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + @opt.fns, + "file://#{@md.file.output_path.hash_digest.dir}/#{@md.file.base_filename.hash_digest}" + ).flow + end + end + if SiSU_Env::SystemCall.new.openssl + SiSU_DigestView::Source::Scroll.new(@particulars).songsheet + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('*EXITED* hash digests will not run without openssl') + end + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + private + class Scroll 0 + end + ao_structure_summary("objects (ocn) = #{ocn}\n") + ao_structure_summary("endnotes = #{endnotes}\n") + ao_structure_summary(" [*] number of headers (@) and of each heading level (:A to :D and 1 to 3)\n") + end + def supplementary + if defined? @md.sc_number \ + and @md.sc_number + rcinfo("------------\n") + rcinfo("source control information\n") + rcinfo(" (the following information while not important for document content certification\n may help the publisher in locating the version referred to)\n") + rcinfo(" rcs version number: #{@md.sc_number}\n") + if defined? @md.sc_date \ + and @md.sc_date + rcinfo(" rcs date: #{@md.sc_date}\n") + end + if defined? @md.sc_time \ + and @md.sc_time + rcinfo(" rcs time: #{@md.sc_time}\n") + end + end + rcinfo("------------\n") + rcinfo("Note: the time generated related fields (text and digests) will vary between otherwise identical document outputs\n") + end + end + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + digests + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/env.org b/org/env.org new file mode 100644 index 00000000..fafc90ef --- /dev/null +++ b/org/env.org @@ -0,0 +1,8610 @@ +-*- mode: org -*- +#+TITLE: sisu environment +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:se: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* sisu environment +** se.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se.rb" +# <> +@@cX=nil +module SiSU_Env + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + require_relative 'se_date' # se_date.rb + require_relative 'se_info_system' # se_info_system.rb + require_relative 'se_load' # se_load.rb + require_relative 'se_get_init' # se_get_init.rb + require_relative 'se_envcall' # se_envcall.rb + require_relative 'se_programs' # se_programs.rb + require_relative 'se_standardise_lang' # se_standardise_lang.rb + require_relative 'se_info_env' # se_info_env.rb + require_relative 'se_processing' # se_processing.rb + require_relative 'se_filemap' # se_filemap.rb + require_relative 'se_file_op' # se_file_op.rb + require_relative 'se_cleanoutput' # se_cleanoutput.rb + require_relative 'se_remotes' # se_remotes.rb + require_relative 'se_version' # se_version.rb + require_relative 'se_db' # se_db.rb + require_relative 'se_css' # se_css.rb + require_relative 'se_clear' # se_clear.rb + require_relative 'se_createsite' # se_createsite.rb + require_relative 'se_info_port' # se_info_port.rb + begin + require 'singleton' + require 'fileutils' + include FileUtils::Verbose + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('singleton or fileutils NOT FOUND (LoadError)') + end + @@noyaml=false + class InfoDate < SiSU_Info_Date::InfoDate # se_date.rb + end + class InfoSystemGen < SiSU_Info_Sys_Gen::InfoSystemGen # se_info_system.rb + end + class InfoSystem < SiSU_Info_Sys::InfoSystem # se_info_system.rb + end + class Load < SiSU_Load::Load # se_load.rb + end + class GetInit < SiSU_Get_Init::GetInit # se_get_init.rb + end + class EnvCall < SiSU_Env_Call::EnvCall # se_envcall.rb + end + class SystemCall < SiSU_Sys_Call::SystemCall # se_programs.rb + end + class StandardiseLanguage < SiSU_Standardise_Lang::StandardiseLanguage # se_standardise_lang.rb + end + class InfoEnv < SiSU_Info_Env::InfoEnv # se_info_env.rb + end + class InfoProcessingFlag < SiSU_Info_Processing_Flag::InfoProcessingFlag # se_processing.rb + end + class InfoSettings < SiSU_Info_Set::InfoSettings # se_programs.rb + end + class FileMap < SiSU_File_Map::FileMap # se_filemap.rb + end + class CleanOutput < SiSU_Clean_Output::CleanOutput # se_cleanoutput.rb + end + class InfoRemoteHost < SiSU_Info_Remote_Host::InfoRemoteHost # se_remotes.rb + end + class InfoRemote < SiSU_Info_Remote::InfoRemote # se_remotes.rb + end + class InfoVersion < SiSU_Info_Version::InfoVersion # se_version.rb + end + class InfoAbout < SiSU_Info_About::InfoAbout # se_version.rb + end + class InfoFile < SiSU_Info_File::InfoFile # se_file_op.rb + end + class ProcessingSettings < SiSU_Processing_Settings::ProcessingSettings # se_processing.rb + end + class InfoDb < SiSU_Info_Db::InfoDb # se_db.rb + end + class DbOp < SiSU_Db_Op::DbOp # se_db.rb + end + class FileOp < SiSU_File_Op::FileOp # se_file_op.rb + end + class FilenameLanguageCodeInsert < SiSU_Filename_Lang::FilenameLanguageCodeInsert # se_file_op.rb + end + class CreateFile < SiSU_Create_File::CreateFile # se_file_op.rb + end + class Clear < SiSU_Clear::Clear # se_clear.rb + end + class InfoPort < SiSU_Info_Port::InfoPort # se_info_port.rb + end + class InfoProgram < SiSU_Info_Program::InfoProgram # se_programs.rb + end + class CSS_Default < SiSU_CSS::CSS_Default # se_css.rb + end + class CSS_Select < SiSU_CSS::CSS_Select # se_css.rb + end + class CSS_Stylesheet < SiSU_CSS::CSS_Stylesheet # se_css.rb + end + class CreateSite < SiSU_Create_Site::CreateSite # se_createsite.rb + end +end +module SiSU_Screen + require_relative 'utils_screen_text_color' # utils_screen_text_color.rb +end +module SiSU_Errors + require_relative 'errors' # errors.rb +end +__END__ +#+END_SRC + +** se_cleanoutput.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_cleanoutput.rb" +# <> +module SiSU_Clean_Output + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + class CleanOutput + begin + require 'fileutils' + include FileUtils::Verbose + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('fileutils NOT FOUND (LoadError)') + end + def initialize(opt) + @opt=opt + z=SiSU_Env::FileMap.new(opt) + zap=z.local_sisu_source + if opt.cmd =~ /h/i + zap=Dir.glob(zap).join(' ') + @zap=if opt.cmd !~ /w/ + zap.gsub(/#{@source_path}\/concordance.html/,'') + else zap + end + end + @env=SiSU_Env::InfoEnv.new + end + def zap + def deletion(fn) + if FileTest.file?(fn)==true + File.delete(fn) + tell=SiSU_Screen::Ansi.new(@opt.cmd,@opt.fns, 'remove: ' + fn) + tell.warn unless @opt.cmd =~/q/ + end + end + def remove_output + if @opt.act[:maintenance][:set] == :on + m=InfoFile.new(@opt.fnc) + tell=SiSU_Screen::Ansi.new( + @opt.cmd,@opt.fns, + 'remove maintenance files from: ' + @env.processing_path.ao + ) + tell.warn unless @opt.cmd =~/q/ + deletion(m.marshal.ao_content) + deletion(m.marshal.ao_idx_sst_rel_html_seg) + deletion(m.ao_idx_sst_rel) + deletion(m.ao_idx_html) + deletion(m.ao_idx_xhtml) + deletion(m.ao_metadata) + deletion(m.ao_map_nametags) + deletion(m.ao_map_ocn_htmlseg) + deletion(m.html_tune) + end + md=SiSU_Param::Parameters.new(@opt).get + f=SiSU_Env::FileOp.new(md) + deletion(f.place_file.html_segtoc.dir) + deletion(f.place_file.html_scroll.dir) + deletion(f.place_file.html_book_index.dir) + deletion(f.place_file.html_concordance.dir) + deletion(f.place_file.epub.dir) + deletion("#{f.output_path.pdf.dir}/#{f.base_filename.pdf_p_letter}") + deletion("#{f.output_path.pdf.dir}/#{f.base_filename.pdf_l_letter}") + deletion("#{f.output_path.pdf.dir}/#{f.base_filename.pdf_p_a4}") + deletion("#{f.output_path.pdf.dir}/#{f.base_filename.pdf_l_a4}") + deletion("#{f.output_path.pdf.dir}/#{f.base_filename.pdf_p_a5}") + deletion("#{f.output_path.pdf.dir}/#{f.base_filename.pdf_l_a5}") + deletion("#{f.output_path.pdf.dir}/#{f.base_filename.pdf_p_b5}") + deletion("#{f.output_path.pdf.dir}/#{f.base_filename.pdf_l_b5}") + deletion("#{f.output_path.pdf.dir}/#{f.base_filename.pdf_p_legal}") + deletion("#{f.output_path.pdf.dir}/#{f.base_filename.pdf_p_legal}") + deletion(f.place_file.odt.dir) + deletion(f.place_file.xhtml.dir) + deletion(f.place_file.xml_sax.dir) + deletion(f.place_file.xml_dom.dir) + deletion(f.place_file.xml_scaffold_structure_sisu.dir) + deletion(f.place_file.xml_scaffold_structure_collapse.dir) + deletion(f.place_file.info.dir) + deletion(f.place_file.manpage.dir) + deletion(f.place_file.sqlite_discrete.dir) + deletion(f.place_file.txt.dir) + deletion(f.place_file.hash_digest.dir) + deletion(f.place_file.manifest.dir) + deletion(f.place_file.qrcode_md.dir) + deletion(f.place_file.qrcode_title.dir) + deletion(f.place_file.src.dir) + deletion(f.place_file.sisupod.dir) + end + self + end + end +end +__END__ +#+END_SRC + +** se_clear.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_clear.rb" +# <> +module SiSU_Clear + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + require_relative 'se_info_env' # se_info_env.rb + begin + require 'singleton' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('singleton NOT FOUND (LoadError)') + end + class Clear < SiSU_Info_Env::InfoEnv # se_info_env.rb + #todo unify with FileOp + def initialize(cmd,fns,operation='') + @cmd=cmd + begin + super(fns) + @env=SiSU_Env::InfoEnv.new(fns) + SiSU_Env::InfoVersion.instance + if operation.class.inspect =~/SiSU_Param/ + @md=operation + end + case operation #watch + when /pdf/ then @env_out='' + when /sql/ + when /xml|plaintext|ascii/ then @env_out=@env.path.output + @fnb #check change of name to plaintext from ascii + else + if defined? @md.sfx_src \ + and @md.sfx_src =~/ss[ftsumc]/ + @env_out_root=@env.path.output + @env_out="#{@env.path.output}/#{@fnb}" + @@publisher='SiSU http://www.jus.uio.no/sisu' + @env_pdf="#{@env_out_root}/pdf" + end + end + rescue + SiSU_Screen::Ansi.new(@cmd,$!,$@).rescue do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def param_instantiate + @cX||=SiSU_Screen::Ansi.new(@cmd) + @@date=SiSU_Env::InfoDate.new + @@publisher='SiSU scribe' + end + end +end +__END__ +#+END_SRC + +** se_createsite.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_createsite.rb" +# <> +module SiSU_Create_Site + require_relative 'constants' # constants.rb + require_relative 'html_parts' # html_parts.rb + require_relative 'utils' # utils.rb + require_relative 'utils_screen_text_color' # utils_screen_text_color.rb + require_relative 'se_info_env' # se_info_env.rb + begin + require 'fileutils' + include FileUtils::Verbose + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('fileutils NOT FOUND (LoadError)') + end + class CreateSite < SiSU_Info_Env::InfoEnv # se_info_env.rb + require_relative 'css' # css.rb + include SiSU_Style + def initialize(opt) + @opt=opt + @env=SiSU_Env::InfoEnv.new + @init=SiSU_Env::GetInit.new + @home,@pwd=ENV['HOME'],ENV['PWD'] #@pwd=Dir.pwd + @rc=SiSU_Env::GetInit.new.sisu_yaml.rc + @home_set=SiSU_Proj_HTML::Home.new + end + def create_default_sisu_homepage(action=:none) + if action==:none + puts %{ place your homepages in directory:\n "#{@env.path.rc}/home/*.html"\n (no action taken)} + else # turned off, unless something other than :none passed + puts %{ place your homepages in directory:\n "#{@env.path.rc}/home/*.html"\n (in order to replace default sisu homepage)} + filename_homepage= + @env.path.webserv + '/' \ + + @env.path.base_markup_dir_stub + '/index.html' + filename_home_toc= + @env.path.webserv + '/' \ + + @env.path.base_markup_dir_stub + '/toc.html' + file_homepage=File.new(filename_homepage,'w') + file_home_toc=File.new(filename_home_toc,'w') + file_homepage << @home_set.homepage + file_home_toc << @home_set.homepage + file_homepage.close + file_home_toc.close + end + end + def homepage + home_pages_manually_created=Dir.glob("#{@env.path.rc}/home/*.html") + FileUtils::mkdir_p("#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}") \ + unless FileTest.directory?("#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}") + if home_pages_manually_created.length > 0 + home_pages_manually_created.each do |homepage| + FileUtils.cp(homepage,"#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}") + end + else + create_default_sisu_homepage(:none) # :default + end + end + def cp_images(src_path,dest_path) + if FileTest.directory?(src_path) + FileUtils::cd(src_path) + source=Dir.glob("*.{png,jpg,gif,ico}") + FileUtils::mkdir_p(dest_path) unless FileTest.directory?(dest_path) + FileUtils::chmod(0755,dest_path) + source.each do |i| + if FileTest.file?(i) + FileUtils::cp(i,"#{dest_path}/#{i}") + FileUtils::chmod(0644,"#{dest_path}/#{i}") + else STDERR.puts %{\t*WARN* did not find image - "#{i}" [#{__FILE__}:#{__LINE__}]} + end + end + FileUtils::cd(@pwd) + else STDERR.puts %{\t*WARN* did not find - #{src_path} [#{__FILE__}:#{__LINE__}]} + end + end + def cp_local_images + src=@pwd + '/_sisu/image' + dest= + @env.path.webserv + '/' \ + + @env.path.base_markup_dir_stub + '/_sisu/image' + cp_images(src,dest) if FileTest.directory?(src) + end + def cp_external_images + src=@env.processing_path.processing + '/' \ + + 'external_document/image' + dest= + @env.path.webserv + '/' \ + + @env.path.base_markup_dir_stub + '/' \ + + '_sisu/image_external' + if FileTest.directory?(src) + cp_images(src,dest) if FileTest.directory?(src) + end + end + def cp_webserver_images + src=@env.path.image_source + dest_arr=[ + "#{@env.path.webserv}/_sisu/image", + "#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image", + ] + dest_arr.each do |dest| + cp_images(src,dest) if FileTest.directory?(src) + end + end + def cp_webserver_images_local #this should not have been necessary + src=@env.path.image_source + dest= + @env.path.webserv + '/' \ + + @env.path.base_markup_dir_stub + '/' \ + + '_sisu/image' + cp_images(src,dest) if FileTest.directory?(src) + end + def cp_base_images #fix images + src=SiSU_is.path_base_system_data? + '/image' + dest_arr=[ + "#{@env.path.webserv}/_sisu/image_sys", + "#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image_sys" + ] + dest_arr.each do |dest| + cp_images(src,dest) if FileTest.directory?(src) + end + end + def cp_css + FileUtils::mkdir_p("#{@env.path.output}/#{@env.path.style}") \ + unless FileTest.directory?("#{@env.path.output}/#{@env.path.style}") + css_path=[ + '/etc/sisu/css', + "#{@home}/.sisu/css", + "#{@pwd}/_sisu/css", + ] #BROKEN + if defined? @rc['permission_set']['css_modify'] \ + and @rc['permission_set']['css_modify'] + SiSU_Screen::Ansi.new( + @opt.selections.str, + "*WARN* modify is css set to: #{@rc['permission_set']['css_modify']}" + ).warn if @opt.act[:verbose_plus][:set]==:on \ + or @opt.act[:maintenance][:set]==:on + css_path.each do |x| + if FileTest.directory?(x) + FileUtils::cd(x) + source=Dir.glob("*.{css}") + source.each do |i| + if FileTest.file?(i) + FileUtils::cp( + i, + @env.path.output + '/' + @env.path.style + ) + else STDERR.puts %{\t*WARN* did not find css - "#{i}" [#{__FILE__}:#{__LINE__}]} + end + end + FileUtils::cd(@pwd) + end + end + else + SiSU_Screen::Ansi.new( + @opt.selections.str, + "*WARN* modify css is not set or is set to: false" + ).warn if @opt.act[:verbose_plus][:set]==:on \ + or @opt.act[:maintenance][:set]==:on + end + fn_css=SiSU_Env::CSS_Default.new + css=SiSU_Style::CSS.new + path_style="#{@env.path.output}/#{@env.path.style}" + FileUtils::mkdir_p(path_style) \ + unless FileTest.directory?(path_style) + if @opt.act[:site_init][:set]==:on \ + or not FileTest.file?("#{path_style}/#{fn_css.homepage}") + style=File.new("#{path_style}/#{fn_css.homepage}",'w') + style << css.homepage + style.close + end + if @opt.act[:site_init][:set]==:on \ + or not FileTest.file?("#{path_style}/#{fn_css.html_tables}") + style=File.new("#{path_style}/#{fn_css.html_tables}",'w') + style << css.html_tables + style.close + end + if @opt.act[:site_init][:set]==:on \ + or not FileTest.file?("#{path_style}/#{fn_css.html}") + style=File.new("#{path_style}/#{fn_css.html}",'w') + style << css.html + style.close + end + if @opt.act[:site_init][:set]==:on \ + or not FileTest.file?("#{path_style}/#{fn_css.harvest}") + style=File.new("#{path_style}/#{fn_css.harvest}",'w') + style << css.harvest + style.close + end + if @opt.act[:site_init][:set]==:on \ + or (@opt.act[:xml_sax][:set]==:on \ + and not FileTest.file?("#{path_style}/#{fn_css.xml_sax}")) + style=File.new("#{path_style}/#{fn_css.xml_sax}",'w') + style << css.xml_sax + style.close + end + if @opt.act[:site_init][:set]==:on \ + or (@opt.act[:xml_dom][:set]==:on \ + and not FileTest.file?("#{path_style}/#{fn_css.xml_dom}")) + style=File.new("#{path_style}/#{fn_css.xml_dom}",'w') + style << css.xml_dom + style.close + end + if @opt.act[:site_init][:set]==:on \ + or (@opt.act[:xml_docbook_book][:set] == :on \ + and not FileTest.file?("#{path_style}/#{fn_css.xml_docbook}")) + style=File.new("#{path_style}/#{fn_css.xml_docbook}",'w') + style << css.xml_docbook + style.close + end + if @opt.act[:site_init][:set]==:on \ + or (@opt.act[:xhtml][:set] == :on \ + and not FileTest.file?("#{path_style}/#{fn_css.xhtml}")) + style=File.new("#{path_style}/#{fn_css.xhtml}",'w') + style << css.xhtml + style.close + end + end + end +end +__END__ +#+END_SRC + +** se_css.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_css.rb" +# <> +module SiSU_CSS + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + require_relative 'se_info_env' # se_info_env.rb + class CSS_Default + def html + 'html.css' + end + def html_tables + 'html_tables.css' + end + def xhtml + 'xhtml.css' + end + def xml_sax + 'sax.css' + end + def xml_dom + 'dom.css' + end + def xml_docbook + 'docbook.css' + end + def homepage + 'homepage.css' + end + def harvest + 'harvest.css' + end + end + class CSS_Select < SiSU_Info_Env::InfoEnv # se_info_env.rb + def initialize(md) + @md=md + @env=SiSU_Env::InfoEnv.new('',@md) + end + def html + if @md.doc_css \ + and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_html.css") + @md.doc_css + '_html.css' + elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_html.css") + @env.path.base_markup_dir_stub + '_html.css' + else + SiSU_Env::CSS_Default.new.html + end + end + def html_tables + if @md.doc_css \ + and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_html_tables.css") + @md.doc_css + '_html_tables.css' + elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_html_tables.css") + @env.path.base_markup_dir_stub + '_html_tables.css' + else SiSU_Env::CSS_Default.new.html_tables + end + end + def xhtml + if @md.doc_css \ + and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_xhtml.css") + @md.doc_css + '_xhtml.css' + elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_xhtml.css") + @env.path.base_markup_dir_stub + '_xhtml.css' + else SiSU_Env::CSS_Default.new.xhtml + end + end + def xml_sax + if @md.doc_css \ + and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_xml_sax.css") + @md.doc_css + '_xml_sax.css' + elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_xml_sax.css") + @env.path.base_markup_dir_stub + '_xml_sax.css' + else SiSU_Env::CSS_Default.new.xml_sax + end + end + def xml_dom + if @md.doc_css \ + and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_xml_dom.css") + @md.doc_css + '_xml_dom.css' + elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_xml_dom.css") + @env.path.base_markup_dir_stub + '_xml_dom.css' + else SiSU_Env::CSS_Default.new.xml_dom + end + end + def xml_docbook + if @md.doc_css \ + and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_docbook.css") + @md.doc_css + '_xml_dom.css' + elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_docbook.css") + @env.path.base_markup_dir_stub + '_docbook.css' + else SiSU_Env::CSS_Default.new.xml_docbook + end + end + def homepage + if @md.doc_css \ + and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_homepage.css") + @md.doc_css + '_homepage.css' + elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_homepage.css") + @env.path.base_markup_dir_stub + '_homepage.css' + else SiSU_Env::CSS_Default.new.homepage + end + end + end + class CSS_Stylesheet + def initialize(md) + @md=md + @css=SiSU_Env::CSS_Select.new(@md) + @env=SiSU_Env::InfoEnv.new('',@md) + @file=SiSU_Env::FileOp.new(@md) + end + def html + stylesheet= + @file.path_rel_links.html_scroll_css \ + + @env.path.style + '/' \ + + @css.html + %{ } + end + def html_seg + stylesheet= + @file.path_rel_links.html_seg_css \ + + @env.path.style + '/' \ + + @css.html + %{ } + end + def html_tables + stylesheet= + @file.path_rel_links.html_seg_css \ + + @env.path.style + '/' \ + + @css.html + %{ } + end + def xhtml_epub + %{ } + end + def epub + xhtml_epub + end + def xhtml + stylesheet= + @file.path_rel_links.xhtml_css \ + + @env.path.style + '/' \ + + @css.xhtml + %{} + end + def xml_sax + stylesheet= + @file.path_rel_links.xml_css \ + + @env.path.style + '/' \ + + @css.xml_sax + %{} + end + def xml_dom + stylesheet= + @file.path_rel_links.xml_css \ + + @env.path.style + '/' \ + + @css.xml_dom + %{} + end + def xml_docbook + stylesheet= + @file.path_rel_links.xml_css \ + + @env.path.style + '/' \ + + @css.xml_docbook + %{} + end + end +end +__END__ +#+END_SRC + +** se_date.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_date.rb" +# <> +module SiSU_Info_Date + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + class InfoDate + begin + require 'date' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('date NOT FOUND (LoadError)') + end + attr_accessor :dt,:t + def initialize + @dt,@t=Date.today.to_s,Time.now + end + def week + w=@t.strftime('%W') + "#{@t.year}w#{w}" + end + def month + "#{@t.year}#{@t.month}" + end + def year + @t.year + end + def weekonly + @t.strftime('%W') + end + def monthonly + @t.month + end + def year_static + YEAR + end + end +end +__END__ +#+END_SRC + +** se_db.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_db.rb" +# <> +module SiSU_Info_Db + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + require_relative 'se_info_env' # se_info_env.rb + class InfoDb < SiSU_Info_Env::InfoEnv # se_info_env.rb + @@rc=nil + def initialize + @@pwd=@pwd=SiSU_Utils::Path.new.base_markup + @env=SiSU_Env::InfoEnv.new + pt=Pathname.new(@pwd) + r=Px[:lng_lst_rgx] + u=/.+?\/([^\/]+)(?:\/(?:#{r})$|$)/ + @pwd_stub=pt.realpath.to_s[u,1] + @rc=@@rc ||=SiSU_Env::GetInit.new.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(opt=nil) + if opt \ + and opt.selections.str =~/--db-user[=-]["']?(\S+)["']+/ + $1 + elsif opt \ + and opt.selections.str =~/--webserv[=-]webrick/ + @env.user + else + ((defined? @rc['db']['postgresql']['user']) \ + && @rc['db']['postgresql']['user']=~/\S+/) \ + ? @rc['db']['postgresql']['user'] + : @env.user + end + 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'].is_a?(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 + PG::Connection.open(:dbname => psql.db) + 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 + def conn_pg + begin + require 'pg' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('pg NOT FOUND (LoadError)') + end + PG::Connection.new(dbname: psql.db, port: psql.port) + end + self + end + def sqlite + def db + "#{@env.path.webserv}/#{@pwd_stub}/sisu_sqlite.db" + end + def db_discrete(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 +end +module SiSU_Db_Op + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + class DbOp < SiSU_Info_Db::InfoDb + def initialize(md) + begin + @md=md + rescue + SiSU_Screen::Ansi.new(md.opt.selections.str,$!,$@).rescue do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def sqlite_discrete + def db + @md.file.output_path.sqlite_discrete.dir \ + + '/' \ + + @md.file.base_filename.sqlite_discrete + end + def dbi + "DBI:SQLite3:#{sqlite_discrete.db}" + end + def sqlite3 + sqlite_discrete.db + end + def conn_dbi + DBI.connect(sqlite_discrete.dbi) + end + def conn_sqlite3 + begin + $sqlite3=:yes + require 'sqlite3' + SQLite3::Database.new(sqlite_discrete.sqlite3) + rescue LoadError + $sqlite3=:no + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('sqlite3 NOT FOUND (LoadError)') + end + end + self + end + end +end +__END__ +#+END_SRC + +** se_envcall.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_envcall.rb" +# <> +module SiSU_Env_Call + begin + require 'singleton' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('singleton NOT FOUND (LoadError)') + end + class EnvCall + @@rc,@@fns,@@fnn,@@fnb,@@fnt,@@flv,@@fnz=nil,nil,nil,nil,nil,nil,nil + @@ad={} + attr_accessor :rc,:fnn,:fnb,:fnt,:fnv,:fnz,:ad + def initialize(fns='') + @fns=fns + @sys=SiSU_Info_Sys::InfoSystem.instance + get_init=SiSU_Env::GetInit.new + @rc=get_init.sisu_yaml.rc + @ad=get_init.ads + if @fns \ + and @fns != '' \ + and @fns !=@@fns + @@fns,@@fnn,@@fnb,@@fnt,@@flv,@@fnz=@fns,nil,nil,nil,nil,nil + end + if @fns \ + and @fns != '' #watch + m=/((.+?)(?:\~\w\w(?:_\w\w)?)?)\.((?:-|ssm\.)?sst|ssm|ssi)$/ + @@fnn ||=@fns[m,1] + @@fnb ||=@fns[m,2] + @@fnt ||=@fns[m,3] + @@flv ||=document_language_versions_found[:f] + unless @@fns =~/\S+?\.txz/ + @@fnz ||=if @@fns =~/(?:\~\S{2,3})?\.(?:ssm\.sst|ssm)$/; @@fnb + '.ssm.txz' + elsif @@fnb; @@fnb + '.sst.txz' + else '' # e.g. termsheet + end + end + end + @fnn,@fnb,@fnt,@flv,@fnz=@@fnn,@@fnb,@@fnt,@@flv,@@fnz + end + def default_language? + if @rc \ + && defined? @rc['language_default'] + if (@rc['language_default'].is_a?(String)) \ + && (@rc['language_default'] =~/#{Px[:lng_lst_rgx]}/) + @rc['language_default'] + else 'en' + end + else 'en' + end + end + def mono_multi_lingual? + if @rc \ + && defined? @rc['output_dir_structure_by'] + if @rc['output_dir_structure_by'] \ + =~/dump/ + :mono + elsif @rc['output_dir_structure_by'] \ + =~/language|redirect/ + :multi + elsif @rc['output_dir_structure_by'] \ + =~/monolingual|filetype_mono|filenaneme_mono/ + :mono + else :multi + end + else :multi + end + end + def output_dir_structure + def by? + output_structure=:filename #set default output structure + if @rc \ + && defined? @rc['output_dir_structure_by'] + output_structure=if (@rc['output_dir_structure_by'] =~/dump/) \ + or ((defined? @rc['output_structure']['dump']) \ + && @rc['output_structure']['dump'] ==true) + :dump + elsif (@rc['output_dir_structure_by'] =~/redirect/) \ + or ((defined? @rc['output_structure']['redirect']) \ + && @rc['output_structure']['redirect'] ==true) + :redirect + elsif (@rc['output_dir_structure_by'] =~/language/) \ + or ((defined? @rc['output_structure']['by_language']) \ + && @rc['output_structure']['by_language'] ==true) + :language + elsif (@rc['output_dir_structure_by'] =~/filetype/) \ + or ((defined? @rc['output_structure']['by_filetype']) \ + && @rc['output_structure']['by_filetype'] ==true) + :filetype + elsif (@rc['output_dir_structure_by'] =~/filename/) \ + or ((defined? @rc['output_structure']['by_filename']) \ + && @rc['output_structure']['by_filename'] ==true) + :filename + else #set default + :language + end + else #set default + :language + end + end + def dump? + ((by?) ==:dump) \ + ? true + : false + end + def redirect? + ((by?) ==:redirect) \ + ? true + : false + end + def by_language_code? + ((by?) ==:language) \ + ? true + : false + end + def by_filetype? + ((by?) ==:filetype) \ + ? true + : false + end + def by_filename? + ((by?) ==:filename) \ + ? true + : false + end + def multilingual? + by_language_code? + end + self + end + def document_language_versions_found #REVISIT + @fn={} + filename=(@fns =~/\.ssm\.sst$/) \ + ? @fns.gsub(/\.ssm\.sst$/,'.ssm') + : @fns + if filename.is_a?(String) \ + and not filename.empty? + if output_dir_structure.by_language_code? + m=/((.+?)(?:\~\w{2,3})?)\.(sst|ssm)$/ + @fn[:b],@fn[:m],@fn[:t]=filename[m,1],filename[m,2],filename[m,3] + else m=/(.+?)\.(sst|ssm)$/ + @fn[:b]=@fn[:m]=filename[m,1] + @fn[:t]=filename[m,2] + end + end + lng_base=SiSU_Env::InfoEnv.new.language_default_set + lang=SiSU_Env::StandardiseLanguage.new + langs=lang.codes + x=[] + if FileTest.file?("#{@fn[:m]}.#{@fn[:t]}") + n=@fn[:m].gsub(/^.+?\//,'') + n =n + '.' + @fn[:t] + x << { f: "#{@fn[:m]}.#{@fn[:t]}", l: lng_base, n: n } + end + langs.each do |l| + lng=SiSU_Env::StandardiseLanguage.new(l) + if FileTest.file?("#{@fn[:m]}~#{lng.code}.#{@fn[:t]}") + x << { f: "#{@fn[:m]}~#{lng.code}.#{@fn[:t]}", l: lng.code } + elsif FileTest.file?("#{@fn[:m]}~#{lng.name}.#{@fn[:t]}") + x << { f: "#{@fn[:m]}~#{lng.name}.#{@fn[:t]}", l: lng.code } + end + if FileTest.file?("#{lng.code}/#{@fn[:m]}~#{lng.code}.#{@fn[:t]}") + if FileTest.file?("#{lng.code}/#{@fn[:m]}~#{lng.code}.#{@fn[:t]}") + x << { f: "#{lng.code}/#{@fn[:m]}~#{lng.code}.#{@fn[:t]}", l: lng.code } + elsif FileTest.file?("#{lng.code}/#{@fn[:m]}~#{lng.name}.#{@fn[:t]}") + x << { f: "#{lng.code}/#{@fn[:m]}~#{lng.name}.#{@fn[:t]}", l: lng.code } + end + end + if FileTest.file?("#{lng.code}/#{@fn[:m]}.#{@fn[:t]}") + if FileTest.file?("#{lng.code}/#{@fn[:m]}.#{@fn[:t]}") + x << { f: "#{lng.code}/#{@fn[:m]}.#{@fn[:t]}", l: lng.code } + elsif FileTest.file?("#{lng.code}/#{@fn[:m]}.#{@fn[:t]}") + x << { f: "#{lng.code}/#{@fn[:m]}.#{@fn[:t]}", l: lng.code } + end + end + end + @fn[:f]=x + @fn + end + def published_manifests?(output_base) + @fn={} + @m=[] + unless (@fns.nil? \ + or @fns.empty?) + if output_dir_structure.by_language_code? + m=/((.+?)(?:\~\w{2,3})?)\.((?:-|ssm\.)?sst$)/ + @fn[:b],@fn[:m],@fn[:t]=@fns[m,1],@fns[m,2],@fns[m,3] + else m=/(.+?)\.((?:-|ssm\.)?sst$)/ + @fn[:b]=@fn[:m]=@fns[m,1] + @fn[:t]=@fns[m,2] + end + end + lang=SiSU_Env::StandardiseLanguage.new + langs=lang.codes + x=[] + if FileTest.file?("#{@fn[:m]}.#{@fn[:t]}"); x << "#{@fn[:m]}.#{@fn[:t]}" + end + dir=SiSU_Env::InfoEnv.new(@fns) + @m << { m: 'sisu_manifest.html', l: 'English' } #fix later, default language + langs.each do |l| + lng=SiSU_Env::StandardiseLanguage.new(l) + fns_c="#{@fn[:m]}~#{lng.code}.#{@fn[:t]}" + fns_l="#{@fn[:m]}~#{lng.name}.#{@fn[:t]}" + if FileTest.file?(fns_c) + fn_set_lang=SiSU_Env::StandardiseLanguage.new. + file_to_language(fns_c) #reconsider file_to_language + lng=fn_set_lang[:n] + fn=SiSU_Env::EnvCall.new(fns_c).lang(fn_set_lang[:c]) + @m << { m: fn[:manifest], l: lng } + elsif FileTest.file?(fns_l) + fn_set_lang=SiSU_Env::StandardiseLanguage.new. + file_to_language(fns_l) #reconsider file_to_language + @fnl=dir.i18n.lang_filename(fn_set_lang[:c]) + fn=SiSU_Env::EnvCall.new(fns_l).lang(fn_set_lang[:c]) + @m << { m: fn[:manifest], l: lng } + end + end + @m=@m.uniq + end + def filename(code,name,suffix) + "#{name}#{suffix}" + end + def lang(code) + { + html: filename(code,'','.html'), + book_index: filename(code,'book_index','.html'), + concordance: filename(code,'concordance','.html'), + sax: filename(code,'sax','.xml'), + dom: filename(code,'dom','.xml'), + docbook: filename(code,'docbook','.xml'), + xhtml: filename(code,'scroll','.xhtml'), + pdf_l: filename(code,'','.pdf'), + pdf_p: filename(code,'','.pdf'), + pdf_l_a4: filename(code,"a4",'.pdf'), + pdf_p_a4: filename(code,"a4",'.pdf'), + pdf_l_a5: filename(code,"a5",'.pdf'), + pdf_p_a5: filename(code,"a5",'.pdf'), + pdf_l_b5: filename(code,"b5",'.pdf'), + pdf_p_b5: filename(code,"b5",'.pdf'), + pdf_l_letter: filename(code,"letter",'.pdf'), + pdf_p_letter: filename(code,"letter",'.pdf'), + pdf_l_legal: filename(code,"legal",'.pdf'), + pdf_p_legal: filename(code,"legal",'.pdf'), + toc: filename(code,'toc','.html'), + doc: filename(code,fnb,'.html'), + index: filename(code,'index','.html'), + po: filename(code,@fns,'.po'), + pot: filename(code,@fns,'.pot'), + odf: filename(code,'','.odt'), + epub: filename(code,'','.epub'), + plain: filename(code,'','.txt'), + qrcode: filename(code,'','.jpg'), + manpage: filename(code,'','.1'), #fix, section number + wiki: filename(code,'wiki','.txt'), + digest: filename(code,'digest','.txt'), + metadata: filename(code,'metadata','.html'), #chk + manifest: filename(code,'manifest','.html'), + oai_pmh: filename(code,'oai_pmh','.xml'), + sitemap: filename(code,'sitemap','.xml'), + sitemap_touch: filename(code,"sitemap_#{fnb}",'.xml'), + sxs: filename(code,fnb,'.sxs.xml'), + sxd: filename(code,fnb,'.sxd.xml'), + sxn: filename(code,fnb,'.sxn.xml'), + sisupod: filename(nil,@fnz,''), + book_idx_html: filename(code,'book_index','.html'), + book_idx_epub: filename(code,'book_index','.xhtml'), + epub_concord: filename(code,'concordance','.xhtml'), + } + end + end +end +__END__ +#+END_SRC + +** se_filemap.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_filemap.rb" +# <> +module SiSU_File_Map + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + require_relative 'se_info_env' # se_info_env.rb + class FileMap < SiSU_Info_Env::InfoEnv # se_info_env.rb + attr_accessor :local_sisu_source + def initialize(opt='') #watch / REVIEW + super() + @opt=opt #,opt.fns,opt.selections.str + @env=(@opt.fns && !(@opt.fns.empty?) \ + ? (SiSU_Env::InfoEnv.new(@opt.fns)) + : (SiSU_Env::InfoEnv.new('dummy.sst'))) + ft=[] + if @opt.act[:ao][:set]==:on + @md=SiSU_Param::Parameters.new(@opt).get + if @md \ + and defined? @md.fn \ + and @md.fn # used for by_language_code? + if @md.opt.act[:html][:set]==:on #% --html, -h -H + ft << @md.fn[:html] + end + if @md.opt.act[:concordance][:set]==:on #% --concordance, -w + ft << @md.fn[:concordance] + end + if @md.opt.act[:manifest][:set]==:on #% --manifest, -y + ft << @md.fn[:manifest] + end + if @md.opt.act[:txt][:set]==:on #% --txt, -t -a + ft << @md.fn[:plain] + end + if @md.opt.act[:txt_textile][:set]==:on #% --textile + ft << @md.fn[:txt_textile] + end + if @md.opt.act[:txt_asciidoc][:set]==:on #% --asciidoc + ft << @md.fn[:txt_asciidoc] + end + if @md.opt.act[:txt_markdown][:set]==:on #% --markdown + ft << @md.fn[:txt_markdown] + end + if @md.opt.act[:txt_rst][:set]==:on #% --rst, --rest + ft << @md.fn[:txt_rst] + end + if @md.opt.act[:txt_orgmode][:set]==:on #% --orgmode + ft << @md.fn[:txt_orgmode] + end + if @md.opt.act[:xhtml][:set]==:on #% --xhtml, -b xhtml + ft << @md.fn[:xhtml] + end + if @md.opt.act[:epub][:set]==:on #% --epub, -e + ft << @md.fn[:epub] + end + if @md.opt.act[:manpage][:set]==:on #% --manpage, -i + ft << @md.fn[:manpage] + end + if @md.opt.act[:hash_digests][:set]==:on #% --hash-digests, -N digest tree + ft << @md.fn[:digest] + end + if @md.opt.act[:odt][:set]==:on #% --odt, -o opendocument + ft << @md.fn[:odf] + end + if @md.opt.act[:pdf][:set]==:on #% --pdf-l --pdf, -p latex/ texpdf + ft << @md.fn[:pdf_l] << @md.fn[:pdf_p] + end + if @md.opt.act[:share_source][:set]==:on + ft << @md.fns + end + if @md.opt.act[:sisupod][:set]==:on #% --sisupod, -S make sisupod + ft << @md.fn[:sisupod] + end + if @md.opt.act[:xml_sax][:set]==:on #% --xml-sax, -x xml sax type + ft << @md.fn[:sax] + end + if @md.opt.act[:xml_dom][:set]==:on #% --xml-dom, -X xml dom type + ft << @md.fn[:dom] + end + if @md.opt.act[:xml_docbook_book][:set]==:on #% --xml-docbook-book + ft << @md.fn[:xml_docbook_book] + end + if @md.opt.act[:xml_fictionbook][:set]==:on #% --xml-fictionbook + ft << @md.fn[:xml_fictionbook] + end + if @md.opt.act[:xml_scaffold_structure_sisu][:set]==:on #% --xml-scaffold --xml-scaffold-sisu + ft << @md.fn[:xml_scaffold_structure_sisu] + end + if @md.opt.act[:xml_scaffold_structure_collapse][:set]==:on #% --xml-scaffold-collapse + ft << @md.fn[:xml_scaffold_structure_collapse] + end + @fnb=@md.fnb + else # still needed where/when dp document param is not parsed + if @opt.act[:html][:set]==:on #% --html, -h -H + ft << '.html' << '.html.??' + end + if @opt.act[:concordance][:set]==:on #% --concordance, -w + ft << 'concordance.html' << '??.concordance.html' << 'concordance.??.html' + end + if @opt.act[:manifest][:set]==:on #% --manifest, -y + ft << 'sisu_manifest.html' << '??.sisu_manifest.html' << 'sisu_manifest.??.html' + end + if @opt.act[:txt][:set]==:on #% --txt, -t -a + ft << 'plain.txt' << '??.plain.txt' << 'plain.??.txt' + end + if @opt.act[:txt_textile][:set]==:on #% --textile + ft << 'plain.txt' << '??.plain.txt' << 'plain.??.txt' + end + if @opt.act[:txt_asciidoc][:set]==:on #% --asciidoc + ft << 'plain.txt' << '??.plain.txt' << 'plain.??.txt' + end + if @opt.act[:txt_markdown][:set]==:on #% --markdown + ft << 'plain.txt' << '??.plain.txt' << 'plain.??.txt' + end + if @opt.act[:txt_rst][:set]==:on #% --rst, --rest + ft << 'plain.txt' << '??.plain.txt' << 'plain.??.txt' + end + if @opt.act[:txt_orgmode][:set]==:on #% --orgmode + ft << 'plain.txt' << '??.plain.txt' << 'plain.??.txt' + end + if @opt.act[:xhtml][:set]==:on #% --xhtml, -b xhtml + ft << 'scroll.xhtml' << '??.scroll.xhtml' << 'scroll.??.xhtml' + end + if @opt.act[:epub][:set]==:on #% --epub, -e + ft << @fnb << '.epub' + end + if @opt.act[:manpage][:set]==:on #% --manpage, -i + ft << '.1' << '??.man.1' << 'man.??.1' + end + if @opt.act[:hash_digests][:set]==:on #% --hash-digests, -N digest tree + ft << 'digest.txt' << '??.digest.txt' << 'digest.??.txt' + end + if @opt.act[:odt][:set]==:on #% --odt, -o opendocument + ft << 'opendocument.odt' << '??.opendocument.odt' << 'opendocument.??.odt' + end + if @opt.act[:pdf][:set]==:on #% --pdf-l --pdf, -p latex/ texpdf + ft << 'landscape.pdf' << 'portrait.pdf' << '.pdf' + end + if @opt.act[:share_source][:set]==:on + ft << '.sst' << '.ssi' << '.ssm' + end + if @opt.act[:sisupod][:set]==:on #% --sisupod, -S make sisupod + ft << '.zip' + end + if @opt.act[:xml_sax][:set]==:on #% --xml-sax, -x xml sax type + ft << 'sax.xml' << '??.sax.xml' << 'sax.??.xml' + end + if @opt.act[:xml_dom][:set]==:on #% --xml-dom, -X xml dom type + ft << 'dom.xml' << '??.dom.xml' << 'dom.??.xml' + end + if @opt.act[:xml_docbook_book][:set]==:on #% --xml-docbook-book + ft << 'docbook.xml' << '??.docbook.xml' << 'docbook.??.xml' + end + if @opt.act[:xml_fictionbook][:set]==:on #% --xml-fictionbook + ft << 'fictionbook.xml' << '??.fictionbook.xml' << 'fictionbook.??.xml' + end + if @opt.act[:xml_scaffold_structure_sisu][:set]==:on #% --xml-scaffold --xml-scaffold-sisu + ft << 'scaffold.xml' << '??.scaffold.xml' << 'scaffold.??.xml' + end + if @opt.act[:xml_scaffold_structure_collapse][:set]==:on #% --xml-scaffold-collapse + ft << 'scaffold.xml' << '??.scaffold.xml' << 'scaffold.??.xml' + end + end + ft=ft.uniq + filetypes=ft.join(',') + @filetypes=if filetypes !~/..+/ then '' # -r called alone, copy all + elsif @opt.selections.str =~/u/ then '' # -u added, copy all, (used to create remote directory tree see output path), not the usual function of -u + elsif filetypes =~/\S+?,\S+/ then '*{' + filetypes + '}' # more than one relevant file type + else '*' + filetypes # one relevant file type + end + @source_path=(@fnb && !(@fnb.empty?) \ + ? "#{@env.path.output}/#{@fnb}" + : @env.path.output) + @source_path_epub=(@fnb && !(@fnb.empty?) \ + ? "#{@env.path.output}/epub" + : @env.path.output_epub) + @source_path_src=(@fnb && !(@fnb.empty?) \ + ? "#{@env.path.output}/src" + : @env.path.output_src) + @source_path_pod=(@fnb && !(@fnb.empty?) \ + ? "#{@env.path.output}/pod" + : @env.path.output_pod) + @source_path_harvest=(@fnb && !(@fnb.empty?) \ + ? "#{@env.path.output}/manifest" + : @env.path.output_harvest) + @local_sisu_source=(@filetypes =~/\S/) \ + ? "#{@source_path}/#{@filetypes}" + : @source_path + end + if @opt.act[:rsync][:set]==:on + end + end + end +end +__END__ +#+END_SRC + +** se_file_op.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_file_op.rb" +# <> +module SiSU_Info_File + require_relative 'utils' # utils.rb + require_relative 'se_info_env' # se_info_env.rb + begin + require 'fileutils' + include FileUtils::Verbose + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('fileutils NOT FOUND (LoadError)') + end + class InfoFile < SiSU_Info_Env::InfoEnv # se_info_env.rb + #todo unify with FileOp + def initialize(fns) + begin + super(fns) + @fns=fns + @env=SiSU_Env::InfoEnv.new(@fns) + m=/((.+?)(?:\~\w\w(?:_\w\w)?)?)\.((?:-|ssm\.)?sst|ssm)$/ + @fnn,@fnb,@fnt=@fns[m,1],@fns[m,2],@fns[m,3] + rescue + SiSU_Screen::Ansi.new('',$!,$@).rescue do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def basefilename #Remove if possible + m=/(.+?)\.(?:(?:-|ssm\.)?sst|ssm)$/m + @fns[m,1] + end + def make_file(path,filename) + (File.writable?("#{path}/.")) \ + ? File.new("#{path}/#{filename}",'w+') + : (SiSU_Screen::Ansi.new( + '', + "*WARN* is the file or directory writable?, could not create #{filename}" + ).warn) + end + def touch_file(path,filename) + if File.writable?("#{path}/."); + FileUtils::touch("#{path}/#{filename}") + else + SiSU_Screen::Ansi.new( + '', + "*WARN* is the file or directory writable?, could not create #{filename}" + ).warn + end + end + def make_path(path) + FileUtils::mkdir_p(path) unless FileTest.directory?(path) + end + def marshal + def ao_content + @env.processing_path.ao + '/' \ + + @fns + '.content.rbm' + end + def ao_idx_sst_rel_html_seg + @env.processing_path.ao + '/' \ + + @fns + '.idx_sst.rbm' + end + def ao_idx_sst_rel #used by tex & odf + @env.processing_path.ao + '/' \ + + @fns + '.idx_raw.rbm' + end + def ao_idx_html + @env.processing_path.ao + '/' \ + + @fns + '.idx_html.rbm' + end + def ao_idx_xhtml + @env.processing_path.ao + '/' \ + + @fns + '.idx_xhtml.rbm' + end + def ao_metadata + @env.processing_path.ao + '/' \ + + @fns + '.metadata.rbm' + end + def ao_map_nametags + @env.processing_path.ao + '/' \ + + @fns + '.map_name_tags.rbm' + end + def ao_map_ocn_htmlseg + @env.processing_path.ao + '/' \ + + @fns + '.map_ocn_htmlseg.rbm' + end + def html_tune + @env.processing_path.tune + '/' \ + + @fns + '.marshal_tune' + end + def xhtml_tune + @env.processing_path.tune + '/' \ + + @fns + '.marshal_tune' + end + self + end + def write_file_processing + def html_tune + File.new("#{@env.processing_path.tune}/#{@fns}.tune",'w+') + end + self + end + def mkdir #check moved from FileOp, existing mkdir + def processing + def ao + FileUtils::mkdir_p(@env.processing_path.ao) \ + unless FileTest.directory?(@env.processing_path.ao) + end + def tune + FileUtils::mkdir_p(@env.processing_path.tune) \ + unless FileTest.directory?(@env.processing_path.tune) + end + self + end + end + end +end +module SiSU_File_Op + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + begin + require 'fileutils' + include FileUtils::Verbose + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('fileutils NOT FOUND (LoadError)') + end + class FileOp < SiSU_Info_File::InfoFile + #todo unify with CreateFile + def initialize(md,fno='') + begin + @md,@fno=md,fno + @env=SiSU_Env::InfoEnv.new(@md.fns) + rescue + SiSU_Screen::Ansi.new(md.opt.selections.str,$!,$@).rescue do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def output_dir_structure + SiSU_Env::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) + FileUtils::mkdir_p("#{output_path.base.dir}/#{@md.fnb}") \ + unless FileTest.directory?("#{output_path.base.dir}/#{@md.fnb}") + FileUtils::mkdir_p("#{output_path.base.dir}/#{@env.path.style}") \ + unless FileTest.directory?("#{output_path.base.dir}/#{@env.path.style}") + FileUtils::mkdir_p(@env.processing_path.ao) \ + unless FileTest.directory?(@env.processing_path.ao) + FileUtils::mkdir_p(@env.processing_path.tune) \ + unless FileTest.directory?(@env.processing_path.tune) + end + def path_rel_links + def html_scroll_2 + if output_dir_structure.by_language_code? + '../../' + elsif output_dir_structure.by_filetype? + '../' + else + '../' + end + end + def html_seg_2 + if output_dir_structure.by_language_code? + '../../../' + elsif output_dir_structure.by_filetype? + '../../' + else + '../' + end + end + def html_scroll_1 + if output_dir_structure.by_language_code? + '../' + elsif output_dir_structure.by_filetype? + '../' + else + './' + end + end + def html_seg_1 + if output_dir_structure.by_language_code? + '../../' + elsif output_dir_structure.by_filetype? + '../../' + else + './' + end + end + def default_output_css + if (@md.opt.opt_act[:dump][:bool] \ + && @md.opt.opt_act[:dump][:inst]) \ + || (@md.opt.opt_act[:redirect][:bool] \ + && @md.opt.opt_act[:redirect][:inst]) + './' + elsif output_dir_structure.by_language_code? + '../../' + elsif output_dir_structure.by_filetype? + '../' + else + '../' + end + end + def html_scroll_css + default_output_css + end + def xhtml_css + default_output_css + end + def xml_css + default_output_css + end + def html_seg_css + if output_dir_structure.by_language_code? + '../../../' + elsif output_dir_structure.by_filetype? + '../../' + else + '../' + end + end + def manifest_css + if output_dir_structure.by_language_code? + '../../_sisu/css' + elsif output_dir_structure.by_filetype? + '' + else + '../' + end + end + self + end + def mkdir + def output + def base + FileUtils::mkdir_p(output_path.base.dir) \ + unless FileTest.directory?(output_path.base.dir) + end + def css + FileUtils::mkdir_p("#{output_path.base.dir}/#{@env.path.style}") \ + unless FileTest.directory?("#{output_path.base.dir}/#{@env.path.style}") + end + def epub + path=output_path.epub.dir + make_path(path) + end + self + end + self + end + def mkfile #consider using more + path="#{output_path.base.dir}/#{@md.fnb}" + make_path(path) + filename=@fno + make_file(path,filename) + end + def mkfile_pwd + path=Dir.pwd + filename=@fno + make_file(path,filename) + end + def write_file + def txt + path=output_path.txt.dir + make_path(path) + fn=base_filename.txt + make_file(path,fn) + end + def textile + path=output_path.textile.dir + make_path(path) + fn=base_filename.textile + make_file(path,fn) + end + def asciidoc + path=output_path.asciidoc.dir + make_path(path) + fn=base_filename.asciidoc + make_file(path,fn) + end + def markdown + path=output_path.markdown.dir + make_path(path) + fn=base_filename.markdown + make_file(path,fn) + end + def rst + path=output_path.rst.dir + make_path(path) + fn=base_filename.rst + make_file(path,fn) + end + def orgmode + path=output_path.orgmode.dir + make_path(path) + fn=base_filename.orgmode + make_file(path,fn) + end + def html_scroll + pth=output_path.html.dir + make_path(pth) + p_fn=place_file.html_scroll.dir + File.new(p_fn,'w+') + end + def html_seg_index + pth=((output_dir_structure.by_filename?) \ + || (output_dir_structure.dump?)) \ + ? "#{output_path.html.dir}" + : "#{output_path.html.dir}/#{@md.fnb}" + make_path(pth) + p_fn=place_file.html_seg_index.dir + File.new(p_fn,'w+') + end + def html_segtoc + pth=((output_dir_structure.by_filename?) \ + || (output_dir_structure.dump?) \ + || (output_dir_structure.redirect?)) \ + ? "#{output_path.html.dir}" + : "#{output_path.html.dir}/#{@md.fnb}" + make_path(pth) + p_fn=place_file.html_segtoc.dir + File.new(p_fn,'w+') + end + def xhtml + path=output_path.xhtml.dir + make_path(path) + fn=base_filename.xhtml + make_file(path,fn) + end + def xml_sax + path=output_path.xml.dir + make_path(path) + fn=base_filename.xml_sax + make_file(path,fn) + end + def xml_dom + path=output_path.xml.dir + make_path(path) + fn=base_filename.xml_dom + make_file(path,fn) + end + def xml_docbook_book + path=output_path.xml_docbook_book.dir + make_path(path) + fn=base_filename.xml_docbook_book + make_file(path,fn) + end + def xml_fictionbook + path=output_path.xml_fictionbook.dir + make_path(path) + fn=base_filename.xml_fictionbook + make_file(path,fn) + end + def xml_scaffold_structure_sisu + path=output_path.xml_scaffold_structure_sisu.dir + make_path(path) + fn=base_filename.xml_scaffold_structure_sisu + make_file(path,fn) + end + def xml_scaffold_structure_collapse + path=output_path.xml_scaffold_structure_collapse.dir + make_path(path) + fn=base_filename.xml_scaffold_structure_collapse + make_file(path,fn) + end + def json + path=output_path.json.dir + make_path(path) + fn=base_filename.json + make_file(path,fn) + end + def manpage + path=output_path.manpage.dir + make_path(path) + fn=base_filename.manpage + make_file(path,fn) + end + def texinfo + path=output_path.texinfo.dir + make_path(path) + fn=base_filename.texinfo + make_file(path,fn) + end + def info + path=output_path.texinfo.dir + make_path(path) + fn=base_filename.info + make_file(path,fn) + end + def hash_digest + path=output_path.hash_digest.dir + make_path(path) + fn=base_filename.hash_digest + make_file(path,fn) + end + def qrcode + path=output_path.qrcode.dir + make_path(path) + fn=base_filename.qrcode + make_file(path,fn) + end + def manifest + path=output_path.manifest.dir + make_path(path) + fn=base_filename.manifest + make_file(path,fn) + end + def manifest_txt + path=output_path.manifest.dir + make_path(path) + fn=base_filename.manifest_txt + make_file(path,fn) + end + def po4a_cfg + path=output_path.po4a.dir + make_path(path) + fn=base_filename.po4a_cfg + make_file(path,fn) + end + def pot + path=output_path.pot.dir + make_path(path) + fn=base_filename.pot + make_file(path,fn) + end + def po(lng=@md.opt.lng) + path=output_path.po(lng).dir + make_path(path) + fn=base_filename.po + make_file(path,fn) + end + def po4a_sst(lng=@md.opt.lng) + path=output_path.po4a_sst(lng).dir + make_path(path) + fn=base_filename.po4a_sst + make_file(path,fn) + end + self + end + def place_file + def txt + def dir + output_path.txt.dir + '/' \ + + base_filename.txt + end + def rel + output_path.txt.rel + '/' \ + + base_filename.txt + end + self + end + def textile + def dir + output_path.textile.dir + '/' \ + + base_filename.textile + end + def rel + output_path.textile.rel + '/' \ + + base_filename.textile + end + self + end + def asciidoc + def dir + output_path.asciidoc.dir + '/' \ + + base_filename.asciidoc + end + def rel + output_path.asciidoc.rel + '/' \ + + base_filename.asciidoc + end + self + end + def markdown + def dir + output_path.markdown.dir + '/' \ + + base_filename.markdown + end + def rel + output_path.markdown.rel + '/' \ + + base_filename.markdown + end + self + end + def rst + def dir + output_path.rst.dir + '/' \ + + base_filename.rst + end + def rel + output_path.rst.rel + '/' \ + + base_filename.rst + end + self + end + def orgmode + def dir + output_path.orgmode.dir + '/' \ + + base_filename.orgmode + end + def rel + output_path.orgmode.rel + '/' \ + + base_filename.orgmode + end + self + end + def html_scroll + def dir + output_path.html_scroll.dir + '/' \ + + base_filename.html_scroll + end + def rel + output_path.html_scroll.rel + '/' \ + + base_filename.html_scroll + end + self + end + def html_seg_index + def dir + output_path.html_seg.dir + '/' \ + + base_filename.html_seg_index + end + def rel + output_path.html_seg.rel + '/' \ + + base_filename.html_seg_index + end + self + end + def html_segtoc + def dir + output_path.html_seg.dir + '/' \ + + base_filename.html_segtoc + end + def rel + output_path.html_seg.rel + '/' \ + + base_filename.html_segtoc + end + self + end + def html_book_index + def dir + output_path.html_seg.dir + '/' \ + + base_filename.html_book_index + end + def rel + output_path.html_seg.rel + '/' \ + + base_filename.html_book_index + end + self + end + def html_concordance + def dir + output_path.html_seg.dir + '/' \ + + base_filename.html_concordance + end + def rel + output_path.html_seg.rel + '/' \ + + base_filename.html_concordance + end + self + end + def odt + def dir + output_path.odt.dir + '/' \ + + base_filename.odt + end + def rel + output_path.odt.rel + '/' \ + + base_filename.odt + end + self + end + def epub + def dir + output_path.epub.dir + '/' \ + + base_filename.epub + end + def rel + output_path.epub.rel + '/' \ + + base_filename.epub + end + self + end + def pdf_p + STDERR.puts 'ERROR not available due to multiple page format sizes' + end + def pdf_l + STDERR.puts 'ERROR not available due to multiple page format sizes' + end + def xhtml + def dir + output_path.xhtml.dir + '/' \ + + base_filename.xhtml + end + def rel + output_path.xhtml.rel + '/' \ + + base_filename.xhtml + end + self + end + def xml_sax + def dir + output_path.xml.dir + '/' \ + + base_filename.xml_sax + end + def rel + output_path.xml.rel + '/' \ + + base_filename.xml_sax + end + self + end + def xml_dom + def dir + output_path.xml.dir + '/' \ + + base_filename.xml_dom + end + def rel + output_path.xml.rel + '/' \ + + base_filename.xml_dom + end + self + end + def xml_docbook_book + def dir + output_path.xml_docbook.dir + '/' \ + + base_filename.xml_docbook_book + end + def rel + output_path.xml_docbook.rel + '/' \ + + base_filename.xml_docbook_book + end + self + end + def xml_fictionbook + def dir + output_path.xml_fictionbook.dir + '/' \ + + base_filename.xml_fictionbook + end + def rel + output_path.xml_fictionbook.rel + '/' \ + + base_filename.xml_fictionbook + end + self + end + def xml_scaffold_structure_sisu + def dir + output_path.xml.dir + '/' \ + + base_filename.xml_scaffold_structure_sisu + end + def rel + output_path.xml.rel + '/' \ + + base_filename.xml_scaffold_structure_sisu + end + self + end + def xml_scaffold_structure_collapse + def dir + output_path.xml.dir + '/' \ + + base_filename.xml_scaffold_structure_collapse + end + def rel + output_path.xml.rel + '/' \ + + base_filename.xml_scaffold_structure_collapse + end + self + end + def json + def dir + output_path.json.dir + '/' \ + + base_filename.json + end + def rel + output_path.json.rel + '/' \ + + base_filename.json + end + self + end + def sqlite_discrete + def dir + output_path.sqlite_discrete.dir + '/' \ + + base_filename.sqlite_discrete + end + def rel + output_path.sqlite_discrete.rel + '/' \ + + base_filename.sqlite_discrete + end + self + end + def hash_digest + def dir + output_path.hash_digest.dir + '/' \ + + base_filename.hash_digest + end + def rel + output_path.hash_digest.rel + '/' \ + + base_filename.hash_digest + end + self + end + def src + def dir + output_path.src.dir + '/' \ + + base_filename.src + end + def rel + output_path.src.rel + '/' \ + + base_filename.src + end + self + end + def sisupod + def dir + output_path.sisupod.dir + '/' \ + + base_filename.sisupod + end + def rel + output_path.sisupod.rel + '/' \ + + base_filename.sisupod + end + self + end + def po + def dir + output_path.po.dir + '/' \ + + base_filename.po + end + def rel + output_path.po.rel + '/' \ + + base_filename.po + end + self + end + def pot + def dir + output_path.pot.dir + '/' \ + + base_filename.pot + end + def rel + output_path.pot.rel + '/' \ + + base_filename.pot + end + self + end + def po_git + def dir + output_path.po_git + '/' \ + + base_filename.po + end + def rel + #output_path.po_git + '/' + base_filename.po + end + self + end + def pot_git + def dir + output_path.pot_git + '/' \ + + base_filename.pot + end + def rel + #output_path.pot_git + '/' + base_filename.pot + end + self + end + def manpage + def dir + output_path.manpage.dir + '/' \ + + base_filename.manpage + end + def rel + output_path.manpage.rel + '/' \ + + base_filename.manpage + end + self + end + def texinfo + def dir + output_path.texinfo.dir + '/' \ + + base_filename.texinfo + end + def rel + output_path.texinfo.rel + '/' \ + + base_filename.texinfo + end + self + end + def info + def dir + output_path.texinfo.dir + '/' \ + + base_filename.info + end + def rel + output_path.texinfo.rel + '/' \ + + base_filename.info + end + self + end + def qrcode_title + def dir + output_path.qrcode.dir + '/' \ + + base_filename.qrcode_title + end + def rel + output_path.qrcode.rel + '/' \ + + base_filename.qrcode_title + end + self + end + def qrcode_md + def dir + output_path.qrcode.dir + '/' \ + + base_filename.qrcode_md + end + def rel + output_path.qrcode.rel + '/' \ + + base_filename.qrcode_md + end + self + end + def manifest + def dir + output_path.manifest.dir + '/' \ + + base_filename.manifest + end + def rel + output_path.manifest.rel + '/' \ + + base_filename.manifest + end + self + end + self + end + def base_filename + def i18n(f) + f=default_hash.merge(f) + f[:lng] ||=@md.lang_code_insert + f[:fn] + f[:lng] + f[:ft] + end + def default_hash + { + fn: @md.fnb, + lng: @md.lang_code_insert, + } + end + def default_hash_build(fh,sfx) + if fh.is_a?(Hash) + fh[:fn] ||=@md.fnb + fh[:lng] ||= @md.lang_code_insert + fh[:ft]=sfx + fh + else + { + fn: @md.fnb, + lng: @md.lang_code_insert, + ft: sfx, + } + end + end + def lang_code?(lng) + (output_dir_structure.by_language_code?) \ + ? '' + : (lng ||=@md.lang_code_insert) + end + def txt(fh=nil) + fh=default_hash_build(fh,Sfx[:txt]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'plain', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def textile(fh=nil) + fh=default_hash_build(fh,Sfx[:txt_textile]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'plain', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def asciidoc(fh=nil) + fh=default_hash_build(fh,Sfx[:txt_asciidoc]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'plain', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def markdown(fh=nil) + fh=default_hash_build(fh,Sfx[:txt_markdown]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'plain', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def rst(fh=nil) + fh=default_hash_build(fh,Sfx[:txt_rst]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'plain', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def orgmode(fh=nil) + fh=default_hash_build(fh,Sfx[:txt_orgmode]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'plain', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def html_scroll(fh=nil) + fh=default_hash_build(fh,Sfx[:html]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'scroll', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def html_seg_index(fh=nil) + fh=default_hash_build(fh,Sfx[:html]) + fh[:lng]=lang_code?(fh[:lng]) + fnh={ + fn: 'index', + ft: fh[:ft], + lng: fh[:lng], + } + i18n(fnh) + end + def html_segtoc(fh=nil) + fh=default_hash_build(fh,Sfx[:html]) + fnh=if output_dir_structure.dump_or_redirect? + { + fn: fh[:fn] + '.toc', + ft: fh[:ft], + } + else + { + fn: 'toc', + ft: fh[:ft], + lng: lang_code?(fh[:lng]), + } + end + i18n(fnh) + end + def html_seg(fh) + fh=default_hash_build(fh,Sfx[:html]) + fh[:lng]=lang_code?(fh[:lng]) + fnh={ + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + i18n(fnh) + end + def html_book_index(fh=nil) + fh=default_hash_build(fh,Sfx[:html]) + fh[:lng]=lang_code?(fh[:lng]) + fnh={ + fn: 'book_index', + ft: fh[:ft], + lng: fh[:lng], + } + i18n(fnh) + end + def html_concordance(fh=nil) + fh=default_hash_build(fh,Sfx[:html]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.dump_or_redirect? + { + fn: 'concordance', + ft: fh[:ft], + } + else + { + fn: 'concordance', + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def xhtml(fh=nil) + fh=default_hash_build(fh,Sfx[:xhtml]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'scroll', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def epub(fh=nil) + fh=default_hash_build(fh,Sfx[:epub]) + fh[:lng]=lang_code?(fh[:lng]) + fnh={ + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + i18n(fnh) + end + def odt(fh=nil) + fh=default_hash_build(fh,Sfx[:odt]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'opendocument', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def xml_sax(fh=nil) + fh=default_hash_build(fh,Sfx[:xml_sax]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'scroll', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def xml_dom(fh=nil) + fh=default_hash_build(fh,Sfx[:xml_dom]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'scroll', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def xml_docbook_book(fh=nil) + fh=default_hash_build(fh,Sfx[:xml_docbook_book]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'scroll', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def xml_fictionbook(fh=nil) + fh=default_hash_build(fh,Sfx[:xml_fictionbook]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'scroll', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def xml_scaffold_structure_sisu(fh=nil) + fh=default_hash_build(fh,Sfx[:xml_scaffold_structure_sisu]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'scroll', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def xml_scaffold_structure_collapse(fh=nil) + fh=default_hash_build(fh,Sfx[:xml_scaffold_structure_collapse]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'scroll', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def json(fh=nil) + fh=default_hash_build(fh,Sfx[:json]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'scroll', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def pdf_p(fh=nil) + fh=default_hash_build(fh,Sfx[:pdf]) + fh[:lng]=lang_code?(fh[:lng]) + if output_dir_structure.by_filename? + 'portrait' + fh[:lng] + '.' + else + fh[:fn] + '.portrait' + fh[:lng] + '.' + end + end + def pdf_l(fh=nil) + fh=default_hash_build(fh,Sfx[:pdf]) + fh[:lng]=lang_code?(fh[:lng]) + if output_dir_structure.by_filename? + 'landscape' + fh[:lng] + '.' + else + fh[:fn] + '.landscape' + fh[:lng] + '.' + end + end + def pdf_p_a4(fh=nil) + pdf_p(fh) + @md.fn[:pdf_p_a4] + end + def pdf_p_a5(fh=nil) + pdf_p(fh) + @md.fn[:pdf_p_a5] + end + def pdf_p_b5(fh=nil) + pdf_p(fh) + @md.fn[:pdf_p_b5] + end + def pdf_p_letter(fh=nil) + pdf_p(fh) + @md.fn[:pdf_p_letter] + end + def pdf_p_legal(fh=nil) + pdf_p(fh) + @md.fn[:pdf_p_legal] + end + def pdf_l_a4(fh=nil) + pdf_l(fh) + @md.fn[:pdf_l_a4] + end + def pdf_l_a5(fh=nil) + pdf_l(fh) + @md.fn[:pdf_l_a5] + end + def pdf_l_b5(fh=nil) + pdf_l(fh) + @md.fn[:pdf_l_b5] + end + def pdf_l_letter(fh=nil) + pdf_l(fh) + @md.fn[:pdf_l_letter] + end + def pdf_l_legal(fh=nil) + pdf_l(fh) + @md.fn[:pdf_l_legal] + end + def manpage(fh=nil) + fh=default_hash_build(fh,Sfx[:manpage]) + fh[:lng]=lang_code?(fh[:lng]) + fnh={ + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + i18n(fnh) + end + def info(fh=nil) + fh=default_hash_build(fh,Sfx[:info]) + fh[:lng]=lang_code?(fh[:lng]) + fnh={ + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + i18n(fnh) + end + def texinfo(fh=nil) + fh=default_hash_build(fh,Sfx[:texinfo]) + fh[:lng]=lang_code?(fh[:lng]) + fnh={ + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + i18n(fnh) + end + def sqlite_discrete(fh=nil) + fh=default_hash_build(fh,Sfx[:sql]) + fh[:lng]=lang_code?(fh[:lng]) + fnh={ + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + i18n(fnh) + end + def hash_digest(fh=nil) + fh=default_hash_build(fh,Sfx[:txt]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_language_code? + { + fn: fh[:fn] + '.hash_digest', + ft: fh[:ft], + } + elsif output_dir_structure.by_filetype? + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: 'digest', + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def sitemap(fh=nil) + fh=default_hash_build(fh,Sfx[:xml]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_language_code? + { + fn: fh[:fn] + '.sitemap', + ft: fh[:ft], + } + elsif output_dir_structure.by_filetype? + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: 'sitemap', + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def qrcode_title(fh=nil) + fh=default_hash_build(fh,'.title.png') + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'sisu_manifest', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def qrcode_md #check name below + fh=default_hash_build(fh,'.md.png') + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'sisu_manifest', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def manifest_txt(fh=nil) + fh=default_hash_build(fh,Sfx[:txt]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.by_filename? + { + fn: 'sisu_manifest', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def manifest(fh=nil) + fh=default_hash_build(fh,Sfx[:html]) + fh[:lng]=lang_code?(fh[:lng]) + fnh=if output_dir_structure.dump_or_redirect? + { + fn: fh[:fn] + '.manifest', + ft: fh[:ft], + lng: fh[:lng], + } + elsif output_dir_structure.by_filename? + { + fn: 'sisu_manifest', + ft: fh[:ft], + lng: fh[:lng], + } + else + { + fn: fh[:fn], + ft: fh[:ft], + lng: fh[:lng], + } + end + i18n(fnh) + end + def src + @md.fno + end + def po4a_cfg + 'po4a.cfg' + end + def po #check + (@fno.empty?) \ + ? (@md.fn[:po]) + : (@fno + '.po') + end + def pot + (@fno.empty?) \ + ? (@md.fn[:pot]) + : (@fno + '.pot') + end + def po4a_sst #check + @fno + end + def sisupod + (@md.fns =~/\.ssm\.sst$/) \ + ? @md.fns.gsub(/(?:\~\S{2,3})?\.ssm\.sst$/,'.ssm.txz') + : @md.fns.gsub(/(?:\~\S{2,3})?(\.sst)$/,'\1.txz') + end + self + end + def set_path(ft) + @ft=ft + def dir + def abc + if output_dir_structure.redirect? + @md.opt.opt_act[:redirect][:inst] + '/' + @md.fnb + elsif output_dir_structure.dump? + @md.opt.opt_act[:dump][:inst] + elsif output_dir_structure.by_language_code? + output_path.base.dir + '/' + @md.opt.lng + '/' + @ft + elsif output_dir_structure.by_filetype? + output_path.base.dir + '/' + @ft + else + output_path.base.dir + '/' + @md.fnb + end + end + def ab + if output_dir_structure.redirect? + @md.opt.opt_act[:redirect][:inst] + '/' + @md.fnb + elsif output_dir_structure.dump? + @md.opt.opt_act[:dump][:inst] + elsif output_dir_structure.by_language_code? + output_path.base.dir + '/' + @md.opt.lng + '/' + @ft + else + output_path.base.dir + '/' + @ft + end + end + def ab_src + if output_dir_structure.redirect? + @md.opt.opt_act[:redirect][:inst] + '/' + @md.fnb + elsif output_dir_structure.dump? + @md.opt.opt_act[:dump][:inst] + else + output_path.base.dir + '/' \ + + @ft + '/' \ + + @md.opt.fng + '/' \ + + Gt[:sisupod] + '/' \ + + Gt[:doc] + '/' \ + + @md.opt.lng + end + end + def ab_pod + if output_dir_structure.redirect? + @md.opt.opt_act[:redirect][:inst] + '/' + @md.fnb + elsif output_dir_structure.dump? + @md.opt.opt_act[:dump][:inst] + else + output_path.base.dir + '/' + @ft + end + end + self + end + def url + def abc + if output_dir_structure.by_language_code? + output_path.base.url + '/' + @md.opt.lng + '/' + @ft + elsif output_dir_structure.by_filetype? + output_path.base.url + '/' + @ft + else + output_path.base.url + '/' + @md.fnb + end + end + def ab + if output_dir_structure.by_language_code? + output_path.base.url + '/' + @md.opt.lng + '/' + @ft + else + output_path.base.url + '/' + @ft + end + end + def ab_src + output_path.base.url + '/' \ + + @ft + '/' \ + + @md.opt.fng + '/' \ + + Gt[:sisupod] + '/' \ + + Gt[:doc] + '/' \ + + @md.opt.lng + end + def ab_pod + output_path.base.url + '/' + @ft + end + self + end + def rel + def abc + if output_dir_structure.by_language_code? + @md.opt.lng + '/' + @ft + elsif output_dir_structure.by_filetype? + @ft + else + @md.fnb + end + end + def ab + if output_dir_structure.by_language_code? + @md.opt.lng + '/' + @ft + else + @ft + end + end + def ab_src + @ft + end + def ab_pod + @ft + end + self + end + def rel_sm + def abc + if output_dir_structure.by_language_code? + @md.opt.lng + '/' + @ft + elsif output_dir_structure.by_filetype? + @ft + else + @md.fnb + end + end + def ab + if output_dir_structure.dump_or_redirect? + '.' + elsif output_dir_structure.by_language_code? \ + or output_dir_structure.by_filetype? + '../' + @ft + else '.' + end + end + def ab_src + locate="#{@ft}/#{@md.opt.fng}/#{Gt[:sisupod]}/#{Gt[:doc]}/#{@md.opt.lng}" + if output_dir_structure.dump_or_redirect? + '.' + elsif output_dir_structure.by_language_code? + '../../' + locate + else + '../' + locate + end + end + def ab_pod + if output_dir_structure.dump_or_redirect? + '.' + elsif output_dir_structure.by_language_code? + '../../' + @ft + else + '../' + @ft + end + end + self + end + def rcp + def abc + if output_dir_structure.by_language_code? + output_path.stub.rcp + '/' + @md.opt.lng + '/' + @ft + elsif output_dir_structure.by_filetype? + output_path.stub.rcp + '/' + @ft + else + output_path.stub.rcp + '/' + @md.fnb + end + end + def ab + if output_dir_structure.by_language_code? + output_path.stub.rcp + '/' + @md.opt.lng + '/' + @ft + else + output_path.stub.rcp + '/' + @ft + end + end + self + end + self + end + def output_path + def web_base + def dir + @env.path.webserv + end + def url + #"#{@env.url.root}" + end + def rel + '.' + end + def rcp + '.' + end + self + end + def stub + def dir + @md.opt.f_pth[:pth_stub] + end + #def url + # "#{@env.url.root}" + #end + def rel + './' + @md.opt.f_pth[:pth_stub] + end + def rcp + @md.opt.f_pth[:pth_stub] + end + self + end + def webserver_path + if output_dir_structure.dump? + @md.opt.opt_act[:dump][:inst] + elsif output_dir_structure.redirect? + @md.opt.opt_act[:redirect][:inst] + else + @env.path.webserv + end + end + def base + def dir + webserver_path + '/' + @md.opt.f_pth[:pth_stub] + end + def url + @env.url.webserv + '/' + @md.opt.f_pth[:pth_stub] + end + def rel + './' + @md.opt.f_pth[:pth_stub] + end + def rcp + './' + @md.opt.f_pth[:pth_stub] + end + self + end + def sisugit + def dir + output_path.base.dir + '/git' + end + def url + output_path.base.url + '/git' + end + def rel + output_path.base.rel + '/git' + end + def rcp + output_path.base.rcp + '/git' + end + self + end + #def pod + # ft='pod' + # path=set_path(ft).dir.ab + #end + def src + def ft + Gt[:src] + end + def dir + set_path(ft).dir.ab_src + end + def url + set_path(ft).url.ab_src + end + def rel + set_path(ft).rel.ab_src + end + def rcp + set_path(ft).rcp.ab_src + end + def rel_sm + set_path(ft).rel_sm.ab_src + end + self + end + def sisupod + def ft + Gt[:src] + end + def dir + set_path(ft).dir.ab_pod + end + def url + set_path(ft).url.ab_pod + end + def rel + set_path(ft).rel.ab_pod + end + def rcp + set_path(ft).rcp.ab_pod + end + def rel_sm + set_path(ft).rel_sm.ab_pod + end + self + end + def po4a + def dir + output_path.base.dir + '/' \ + + Gt[:src] + '/' \ + + @md.opt.fng + '/po4a' + end + def url + output_path.base.url + '/po4a/' \ + + @md.fnb + end + def rcp + #p "#{output_path.base.dir}/po4a/#{@md.fnb}" + end + self + end + def po(lng=@md.opt.lng) + @lng=lng + def dir + output_path.base.dir + '/' \ + + Gt[:src] + '/' \ + + @md.opt.fng + '/po4a/po/' \ + + @lng + end + def url + output_path.base.url + '/po4a/' \ + + @md.fnb + '/po/' \ + + @lng + end + self + end + def pot + def dir + output_path.base.dir + '/' \ + + Gt[:src] + '/' \ + + @md.opt.fng + '/po4a/pot' + end + def url + output_path.base.url + '/po4a/' \ + + @md.fnb + '/pot' + end + def rcp + #p "#{output_path.base.dir}/po4a/#{@md.fnb}/pot" + end + self + end + def po_git # consider !!! + def ft + Gt[:po] + end + def dir + pth=@env.processing_path.git + '/' \ + + @md.fnb + '/' \ + + ft + '/' \ + + @md.opt.lng + FileUtils::mkdir_p(pth) unless FileTest.directory?(pth) + pth + end + self + end + def pot_git # consider !!! + def ft + Gt[:pot] + end + def dir + @env.processing_path.git + '/' \ + + @md.fnb + '/' \ + + ft + end + self + end + def po4a_sst(lng=@md.opt.lng) + @lng=lng + def dir + output_path.base.dir + '/' \ + + Gt[:src] + '/' \ + + @md.opt.fng + '/po4a/' \ + + @lng + end + def url + output_path.base.url + '/po4a/' \ + + @md.fnb \ + + @lng + end + self + end + def md_harvest + manifest + self + end + def txt + def ft + 'txt' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + self + end + def textile + def ft + 'textile' \ + + DEVELOPER[:under_construction] + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + self + end + def asciidoc + def ft + 'asciidoc' \ + + DEVELOPER[:under_construction] + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + self + end + def markdown + def ft + 'markdown' \ + + DEVELOPER[:under_construction] + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + self + end + def rst + def ft + 'rst' \ + + DEVELOPER[:under_construction] + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + self + end + def orgmode + def ft + 'orgmode' \ + + DEVELOPER[:under_construction] + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + self + end + def html_scroll + def ft + 'html' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + def rel_image + if output_dir_structure.dump_or_redirect? + './image' + elsif output_dir_structure.by_language_code? + '../../_sisu/image' + elsif output_dir_structure.by_filetype? + '../_sisu/image' + else + '../_sisu/image' + end + end + self + end + def html_seg + def ft + 'html/' + @md.fnb + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + def rel_image + if output_dir_structure.dump_or_redirect? + './image' + elsif output_dir_structure.by_language_code? + '../../../_sisu/image' + elsif output_dir_structure.by_filetype? + '../../_sisu/image' + else + '../_sisu/image' + end + end + self + end + def html_concordance + html_seg + self + end + def html + def ft + 'html' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).url.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + def rel_image + if output_dir_structure.by_language_code? + '../../_sisu/image' + elsif output_dir_structure.by_filetype? + '../_sisu/image' + else + '../_sisu/image' + end + end + self + end + def xhtml + def ft + 'xhtml' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + def rel_image + '../../_sisu/image' + end + self + end + def epub + def ft + 'epub' + 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 + def rel_image + './image' + end + self + end + def odt + def ft + 'odt' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + self + end + def xml + def ft + 'xml' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + def rel_image + '../../_sisu/image' + end + self + end + def xml_sax + xml + self + end + def xml_dom + xml + self + end + def xml_docbook + def ft + 'docbook' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + def rel_image + '../../_sisu/image' + end + self + end + def xml_docbook_article + def ft + 'docbook' \ + + DEVELOPER[:under_construction] + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + def rel_image + '../../_sisu/image' + end + self + end + def xml_docbook_book + def ft + 'docbook' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + def rel_image + '../../_sisu/image' + end + self + end + def xml_fictionbook + def ft + 'fictionbook' \ + + DEVELOPER[:under_construction] + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + def rel_image + '../../_sisu/image' + end + self + end + def xml_scaffold_structure_sisu + def ft + 'sisu.scaffold.xml' + #'xml' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + def rel_image + '../../_sisu/image' + end + self + end + def xml_scaffold_structure_collapse + def ft + 'collapsed.scaffold.xml' + #'xml' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + def rel_image + '../../_sisu/image' + end + self + end + def json + def ft + 'json' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + def rel_image + '../../_sisu/image' + end + self + end + def pdf + def ft + 'pdf' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + self + end + def sqlite_discrete + 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' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + self + end + def manifest + def ft + 'manifest' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rel_image + if output_dir_structure.dump_or_redirect? + './image' + elsif output_dir_structure.by_language_code? + '../../_sisu/image' + elsif output_dir_structure.by_filetype? + '../_sisu/image' + else + '../_sisu/image' + end + end + def rcp + set_path(ft).rcp.abc + end + self + end + def qrcode + def ft + 'manifest/qrcode' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + def rel_sm + set_path(ft).rel_sm.ab + end + self + end + def harvest + def ft + 'site_metadata' + 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 + if output_dir_structure.by_language_code? + '' + elsif output_dir_structure.by_filetype? + '' + else + '' + end + end + self + end + def manpage + def ft + 'man' + 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 texinfo + def ft + 'texinfo' + 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 sitemaps + def ft + 'sitemaps' + 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 + self + end + def sqlite #check url + def dir + output_path.base.dir + end + def url + output_path.base.url + end + def rel + output_path.base.rel + end + def rcp + output_path.base.rcp + end + self + end + #def cgi + #end + def css + @d='_sisu/css' + def dir + output_path.base.dir + '/' + @d + end + def url + output_path.base.url + '/' + @d + end + def rel + @d + #output_path.base.rel + '/' + @d + end + def rcp + output_path.stub.rcp + '/' + @d + end + self + end + def images + @d='_sisu/image' + def dir + output_path.base.dir + '/' + @d + end + def url + output_path.base.url + '/' + @d + end + def rel + @d + #output_path.base.rel + '/' + @d + end + def rcp + output_path.stub.rcp + '/' + @d + end + self + end + def images_external + @d='_sisu/image_external' + def dir + output_path.base.dir + '/' + @d + end + def url + output_path.base.url + '/' + @d + end + def rel + output_path.base.rel + '/' + @d + end + def rcp + output_path.base.rcp + '/' + @d + end + self + end + #def css + # #"#{@env.path.output}/#{@env.path.style}" + #end + self + end + end +end +module SiSU_Create_File + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + require_relative 'se_info_env' # se_info_env.rb + class CreateFile < SiSU_Info_Env::InfoEnv # se_info_env.rb + #todo unify with FileOp + def initialize(fns) + begin + super(fns) + @env=SiSU_Env::InfoEnv.new(fns) + rescue + SiSU_Screen::Ansi.new('',$!,$@).rescue do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def html_root + #@env.path.output + end + def mkdir_pdf + Dir.mkdir(@env.processing_path.tex) \ + unless FileTest.directory?(@env.processing_path.tex) + end + def file_generic(output_file='') + fn=@env.path.output + '/' \ + + @fnb + '/' \ + + output_file + File.new(fn,'w+') + end + def file_error + fn='/tmp/errorlog.sisu' + File.new(fn,'w+') + end + def file_txt + fn=@env.processing_path.ao + '/' \ + + @fns + '.txt' + File.new(fn,'w+') + end + def file_debug + fn=@env.processing_path.ao + '/' \ + + @fns + '.debug.txt' + File.new(fn,'w+') + end + def metaverse + def file_meta + fn=@env.processing_path.ao + '/' \ + + @fns + '.meta' + File.new(fn,'w+') + end + def file_meta_idx_html + fn=@env.processing_path.ao + '/' \ + + @fns + '.idx.html' + File.new(fn,'w+') + end + self + end + def file_note + fn=Dir.pwd + '/' \ + + @fns + '.fn' + File.new(fn,'w+') + end + def meta + @env.processing_path.ao + '/' \ + + @fns + '.meta' + end + def file_semantic + fn='./semantic.yaml' + File.new(fn,'w+') + end + def file_rss + fn='./semantic.xml' + File.new(fn,'w+') + end + def epub + @pth=@env.processing_path.epub + def xhtml_index + fn=@pth + '/' \ + + Ep[:d_oebps] + '/index.xhtml' + File.new(fn,'w+') + end + def xhtml_cover_image + fn=@pth + '/' \ + + Ep[:d_oebps] + '/cover_image.xhtml' + File.new(fn,'w+') + end + def xhtml_segtoc + fn=@pth + '/' \ + + Ep[:d_oebps] + '/toc.xhtml' + File.new(fn,'w+') + end + def mimetype #fixed application/epub+zip ~/grotto/theatre/dbld/builds/epub_sample/mimetype + File.new("#{@pth}/mimetype",'w') + end + def metadata #variable matadata ~/grotto/theatre/dbld/builds/epub_sample/metadata.opf + fn=@pth + '/' \ + + Ep[:d_oebps] + '/' \ + + Ep[:f_opf] + File.new(fn,'w') + end + def toc_ncx #variable toc ~/grotto/theatre/dbld/builds/epub_sample/toc.ncx + fn=@pth + '/' \ + + Ep[:d_oebps] + '/' \ + + Ep[:f_ncx] + File.new(fn,'w') + end + def metainf_cont #variable content ~/grotto/theatre/dbld/builds/epub_sample/META-INF/container.xml + fn=@pth + '/META-INF/container.xml' + File.new(fn,'w') + end + def xhtml_css #fixed epub xhtml css + fn=@pth + '/' \ + + Ep[:d_oebps] + '/css/xhtml.css' + File.new(fn,'w') + end + self + end + def file_texinfo + fn=@env.processing_path.texinfo + '/' \ + + @fnb + '.texinfo' + File.new(fn,'w+') + end + end +end +module SiSU_Filename_Lang + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + class FilenameLanguageCodeInsert + def initialize(opt,lng=nil) + @opt=opt + @lng=lng ||=opt.lng + end + def language_code_insert + if @opt.dir_structure_by ==:language \ + or ((@opt.dir_structure_by ==:filetype \ + || @opt.dir_structure_by ==:filename) \ + and (@opt.lingual ==:mono \ + && @lng == @opt.act[:default_language][:code])) + '' + elsif (@opt.dir_structure_by ==:filetype \ + || @opt.dir_structure_by ==:filename) \ + and not @opt.lingual ==:mono + '.' + @lng + else + '.' + @lng + end + end + end +end +__END__ +#+END_SRC + +** se_get_init.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_get_init.rb" +# <> +module SiSU_Get_Init + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + require_relative 'se_info_system' # se_info_system.rb + @@noyaml=false + class GetInit < SiSU_Info_Sys_Gen::InfoSystemGen # se_info_system.rb + @@noyaml=false + @@rc,@@sisu_doc_makefile,@@sisurc_path,@@tx=nil,nil,nil,nil + @@ad={ promo: nil, promo_list: nil, flag_promo: false } + @@sdmd=nil + attr_accessor :yaml + def initialize + super() + @markup_dir_changed_=if @@sdmd==$sisu_document_markup_directory + false + else + @@sdmd=$sisu_document_markup_directory + true + end + end + def tex + require_relative 'texpdf_parts' # texpdf_parts.rb + @@tx ||=SiSU_Parts_TeXpdf::TeX.new + end + def rc_path_options + v=SiSU_Env::InfoVersion.instance.get_version + [ + $sisu_document_markup_directory_base_fixed_path \ + + '/.sisu/v' \ + + v.version_major, + $sisu_document_markup_directory_base_fixed_path \ + + '/.sisu', + $sisu_document_markup_directory_base_fixed_path \ + + '/_sisu/v' \ + + v.version_major, + $sisu_document_markup_directory_base_fixed_path \ + + '/_sisu', + @@home \ + + '/.sisu/v' \ + + v.version_major, + @@home \ + + '/.sisu', \ + @@sisu_etc \ + + '/v' \ + + v.version_major, + @@sisu_etc, + ] + end + def sisu_document_make + def makefile_name + S_CONF[:header_make] + end + def makefile + rc_path_options.each do |v| + if FileTest.exist?("#{v}/#{makefile_name}") + @sisu_make_path=v + break + end + end + @sisu_make_file_path=@sisu_make_path \ + ? "#{@sisu_make_path}/#{makefile_name}" + : nil + end + def makefile_read + if makefile + sisu_doc_makefile=IO.read(makefile, mode: 'r:utf-8') + @sisu_doc_makefile=sisu_doc_makefile.split(/\s*\n\s*\n/m) + end + @sisu_doc_makefile + end + self + end + def sisu_yaml + def rc + if @markup_dir_changed_ + rc_path_options.each do |v| + if @@noyaml \ + or FileTest.exist?("#{v}/noyaml") + STDERR.puts "WARNING - YAML loading switched off, to enable delete the file:\n\t#{v}/noyaml\n\n" unless @@noyaml + @@noyaml=true + break + else + f=S_CONF[:rc_yml] + p_f="#{v}/#{f}" + if FileTest.exist?(p_f) + begin + require 'yaml' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('yaml NOT FOUND (LoadError)') + end + @@sisurc_path=v + @@rc=YAML::load(File::open(p_f)) + break + end + unless @@rc + f='sisurc.yaml' + p_f="#{v}/#{f}" + if FileTest.exist?(p_f) + begin + require 'yaml' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('yaml NOT FOUND (LoadError)') + end + @@sisurc_path=v + @@rc=YAML::load(File::open(p_f)) + break + end + end + end + end + end + @@rc + end + def rc_path + rc + @@sisurc_path + end + self + end + def ads #WORK AREA + tell_no_yaml='WARNING - YAML loading switched off, to enable delete the file:' + if @markup_dir_changed_ + @ad_path=[ + "#{$sisu_document_markup_directory_base_fixed_path}/.sisu/skin/yml", + "#{$sisu_document_markup_directory_base_fixed_path}/_sisu/skin/yml", + "#{@@home}/.sisu/skin/yml", + "#{@@sisu_etc}/skin/yml", + ] + @ad_path.each do |v| + if @@noyaml \ + or FileTest.exist?("#{v}/noyaml") + puts tell_no_yaml + "\n\t#{v}/noyaml\n" unless @@noyaml + @@noyaml=true + break + else + if FileTest.exist?("#{v}/list.yml") + unless @@ad[:promo_list] + begin + require 'yaml' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('yaml NOT FOUND (LoadError)') + end + @@ad[:promo_list] ||= YAML::load(File::open("#{v}/list.yml")) + end + @@ad[:flag_promo]=true + break + end + @@ad[:flag_promo]=false + end + end + @ad_path.each do |v| + if @@noyaml \ + or FileTest.exist?("#{v}/noyaml") + puts tell_no_yaml + "\n\t#{v}/noyaml\n" unless @@noyaml + @@noyaml=true + break + else + if FileTest.exist?("#{v}/promo.yml") + unless @@ad[:promo] + begin + require 'yaml' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('yaml NOT FOUND (LoadError)') + end + @@ad[:promo] ||= YAML::load(File::open("#{v}/promo.yml")) + end + @@ad[:flag_promo]=true + break + end + @@ad[:flag_promo]=false + end + end + end + @@ad + end + end +end +__END__ +#+END_SRC + +** se_hub_particulars.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_hub_particulars.rb" +# <> +module SiSU_Particulars + begin + require 'singleton' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('singleton NOT FOUND (LoadError)') + end + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'dp' # dp.rb + include SiSU_Param + require_relative 'ao' # ao.rb + class CombinedSingleton + include Singleton + def get_all(opt) + set_env(opt) + set_file(opt) + set_md(opt) + set_ao(opt) #needs @md + end + def get_env(opt) + set_env(opt) + end + def get_file(opt) + set_file(opt) + end + def get_md(opt) + set_md(opt) + end + def get_ao_array(opt) + set_ao(opt) #needs @md + end + def get_env_md(opt) + set_env(opt) + set_md(opt) + end + def get_idx_sst(opt) + set_sst_idx(opt) + end + def get_idx_raw(opt) + set_raw_idx(opt) + end + def get_idx_html(opt) + set_html_idx(opt) + end + def get_idx_xhtml(opt) + set_xhtml_idx(opt) + end + def get_name_tags(opt) + set_name_tags(opt) + end + def get_maps(opt) + set_nametags_map(opt) + set_ocn_htmlseg_map(opt) + end + def get_map_nametags(opt) + set_nametags_map(opt) + end + def get_map_ocn_htmlseg(opt) + set_ocn_htmlseg_map(opt) + end + attr_accessor :opt,:md,:sst_idx,:raw_idx,:html_idx,:xhtml_idx + def set_md(opt) + begin + @md=SiSU_Param::Parameters.new(opt).get + self + rescue + SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + attr_accessor :opt,:env,:file + def set_env(opt) + begin + @env=SiSU_Env::InfoEnv.new(opt.fns) + self + rescue + SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + def set_file(opt) + begin + set_md(opt) unless @md + @file=SiSU_Env::FileOp.new(@md) + self + rescue + SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + attr_accessor :opt,:ao_array + def set_ao(opt) + begin + @ao_array=SiSU_AO::Source.new(opt).get + self + rescue + SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + def set_sst_idx(opt) + begin + @sst_idx=SiSU_AO::Source.new(opt).get_idx_sst + self + rescue + SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + def set_raw_idx(opt) + begin + @raw_idx=SiSU_AO::Source.new(opt).get_idx_raw + self + rescue + SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + def set_html_idx(opt) + begin + @html_idx=SiSU_AO::Source.new(opt).get_idx_html + self + rescue + SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + def set_xhtml_idx(opt) + begin + @xhtml_idx=SiSU_AO::Source.new(opt).get_idx_xhtml + self + rescue + SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + attr_accessor :nametags_map + def set_nametags_map(opt) + begin + opt=@md ? @md : opt + @nametags_map=SiSU_AO::Source.new(opt).get_map_nametags + self + rescue + if @md + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.opt.fnl).location do + __LINE__.to_s + ':' + __FILE__ + end + else + SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + end + attr_accessor :ocn_htmlseg_map + def set_ocn_htmlseg_map(opt) + begin + @ocn_htmlseg_map=SiSU_AO::Source.new(@md).get_map_ocn_htmlseg + self + rescue + SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + end +end +__END__ +consider running as separate objects +#+END_SRC + +** se_info_env.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_info_env.rb" +# <> +@@current_document=Dir.pwd #nil #'' +module SiSU_Info_Env + require_relative 'se_envcall' # se_envcall.rb + require_relative 'html_parts' # html_parts.rb + begin + require 'singleton' + require 'fileutils' + include FileUtils::Verbose + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('singleton or fileutils NOT FOUND (LoadError)') + end + class InfoEnv < SiSU_Env_Call::EnvCall # se_envcall.rb + begin + require 'pathname' + require 'fileutils' + include FileUtils + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('pathname or fileutils NOT FOUND (LoadError)') + end + attr_accessor :filename,:sys,:home,:hostname,:user,:env,:rc,:www,:fnb,:fnn,:fnt,:flv,:webserv_path,:stub_pwd,:base_markup_dir_stub,:stub_src,:webserv_host_cgi,:webserv_port_cgi,:processing,:processing_git,:etc,:yamlrc_dir + @@image_flag,@@local_image=true,true #warning on @@image_flag + @@fb,@@man_path=nil,nil + def initialize(fns='',md=nil) + super() #you may not want to re-execute this static info so frequently! + @init=SiSU_Env::GetInit.new #SiSU_Get_Init::GetInit + @fns,@md=fns,md + @env=SiSU_Env::EnvCall.new(fns) if fns #SiSU_Env_Call::EnvCall + fnb=if @md \ + and defined? @md.fnb + @md.fnb + elsif defined? @env.fnb \ + and @env.fnb + @env.fnb + elsif @fns.is_a?(String) \ + and not @fns.empty? + m=/(.+)?\.(?:(?:-|ssm\.)?sst|ssm)$/m + @fns[m,1] if not @fns.empty? + end + if fnb; @@fb ||=fnb + end + @sys=SiSU_Info_Sys::InfoSystem.instance + @fnb ||=@@fb #clean up this... used primarily for zap which is not passed normal parameters + @fixed_websev_root='' # @home + @pwd=@@pwd=Dir.pwd + @base_markup_dir_stub=SiSU_Utils::Path.new.base_markup_stub + @stub_src= @base_markup_dir_stub + '/src' + @stub_pod= @base_markup_dir_stub + '/pod' + @stub_epub= @base_markup_dir_stub + '/epub' + m=/.+\/(?:src\/)?(\S+)/m # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m + @stub_pwd=@@pwd[m,1] || '' #; p __LINE__; #p @pwd; #p m; #p @stub_pwd + pt=Pathname.new(Dir.pwd) + stub=if output_dir_structure.by_language_code? + r=Px[:lng_lst_rgx] + stub=if Dir.pwd =~/.+?\/([^\/]+)(?:\/(#{r})$)/ + lng=pt.split[-1].to_s + lng_part='/' + lng + base=pt.split[0].split[-1].to_s + else + lng_part='/' + language_default_set + base=pt.split[-1].to_s + end + base + lng_part + elsif output_dir_structure.by_filetype? + pt.split[-1].to_s + elsif output_dir_structure.by_filename? + '' + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + warn('set output type, by: language, filetype or filename') + end + @stub_set_manifest=stub + '/manifest' + end + def user + @sys.user + end + def hostname + @sys.hostname + end + def host + @sys.host + end + def arch + @sys.arch + end + def rbver + @sys.rbver + end + def locale + @sys.locale + end + def concord_max + ((defined? @rc['processing']['concord_max']) \ + && @rc['processing']['concord_max']) \ + ? @rc['processing']['concord_max'] + : (defaults[:concord_max]) + end + def language_default_set #set directory (default) language + ((defined? @rc['default']['language']) \ + && @rc['default']['language'] =~/\S+/) \ + ? @rc['default']['language'] + : 'en' + end + def markup_emphasis + if defined? @rc['default']['emphasis'] \ + and @rc['default']['emphasis'] \ + and @rc['default']['emphasis']=~/bold/ + 'bold' + elsif defined? @rc['default']['emphasis'] \ + and @rc['default']['emphasis'] \ + and @rc['default']['emphasis']=~/italic/ + 'italics' + elsif defined? @rc['default']['emphasis'] \ + and @rc['default']['emphasis'] \ + and @rc['default']['emphasis']=~/underscore/ + 'underscore' + else 'bold' + end + end + def plaintext_wrap + ((defined? @rc['default']['text_wrap']) \ + && (@rc['default']['text_wrap']) \ + && (@rc['default']['text_wrap'].to_s=~/\d\d+/) \ + && (@rc['default']['text_wrap'].to_i > 19) \ + && (@rc['default']['text_wrap'].to_i < 201)) \ + ? @rc['default']['text_wrap'].to_i + : 78 + end + def current_document + @@current_document||=Dir.pwd + @@current_document + end + def stub_pwd #200412 + @stub_pwd + end + def base_markup_dir_stub + @base_markup_dir_stub + end + def stub_md_harvest #watch + @stub_set_manifest + end + def stub_src + @stub_src + end + def stub_pod + @stub_pod + end + def sisupod_v4(opt) + #processing_path.processing + # sisupod + # doc/ + # manifest.txt + # en/content.sst [file content] + # fr/content.sst + # _sisu + # sisu_document_make + # image@ (ln -s ../../image) + # audio@ (ln -s ../../audio) + # video@ (ln -s ../../video) + # image/ [all images for specific document gathered here] + # audio/ + # video/ + spp="#{processing_path.processing}/#{Gt[:sisupod]}" + sppc="#{spp}/doc/_sisu" + lng_dirs=[] + if FileTest.directory?(spp) \ + or FileTest.file?(spp) + FileUtils::rm_rf(spp) + end + paths=[] + flv=SiSU_Env::EnvCall.new(opt.fns). + document_language_versions_found + flv[:f].each {|l| lng_dirs << l[:l] } + lng_dirs.uniq.each do |lng| + paths << "#{spp}/doc/#{lng}" + end + paths \ + << "#{spp}/image" + #<< "#{spp}/audio" \ + #<< "#{spp}/video" \ + paths.each do |x| + unless FileTest.directory?(x) + FileUtils::mkdir_p(x) + end + end + if FileTest.directory?(sppc) + pwd=Dir.pwd + Dir.chdir(sppc) + FileUtils::ln_s('../../image', 'image') + #FileUtils::ln_s('../../audio', 'audio') + #FileUtils::ln_s('../../video', 'video') + Dir.chdir(pwd) + end + end + def sisupod_v3(opt) + #processing_path.processing + # sisupod + # doc/ + # manifest.txt + # en/content.sst [file content] + # fr/content.sst + # _sisu + # skin/ + # doc [relevant skin if any other than default] + # image@ (ln -s ../../image) + # audio@ (ln -s ../../audio) + # video@ (ln -s ../../video) + # image/ [all images for specific document gathered here] + # audio/ + # video/ + spp="#{processing_path.processing}/#{Gt[:sisupod]}" + sppc="#{spp}/doc/_sisu" + lng_dirs=[] + if FileTest.directory?(spp) \ + or FileTest.file?(spp) + FileUtils::rm_rf(spp) + end + paths=[] + flv=SiSU_Env::EnvCall.new(opt.fns). + document_language_versions_found + flv[:f].each {|l| lng_dirs << l[:l] } + lng_dirs.uniq.each do |lng| + paths << "#{spp}/doc/#{lng}" + end + paths \ + << "#{spp}/image" \ + << "#{sppc}/skin/doc" \ + << "#{sppc}/skin/dir" \ + << "#{sppc}/skin/site" + #<< "#{spp}/audio" \ + #<< "#{spp}/video" \ + paths.each do |x| + unless FileTest.directory?(x) + FileUtils::mkdir_p(x) + end + end + if FileTest.directory?(sppc) + pwd=Dir.pwd + Dir.chdir(sppc) + FileUtils::ln_s('../../image', 'image') + #FileUtils::ln_s('../../audio', 'audio') + #FileUtils::ln_s('../../video', 'video') + Dir.chdir(pwd) + end + end + def sisupod_v2 + #processing_path.processing + # sisupod + # content.sst [file content] + # filename.sst [link to content.sst] + # _sisu + # skin/ + # doc [relevant skin if any other than default] + # image [all images for specific document gathered here] + sisupod_processing_path="#{processing_path.processing}/#{Gt[:sisupod]}" + if FileTest.directory?(sisupod_processing_path) \ + or FileTest.file?(sisupod_processing_path) + FileUtils::rm_rf(sisupod_processing_path) + end + paths=[] + paths=[ + "#{processing_path.processing}/#{Gt[:sisupod]}/_sisu/skin/doc", + "#{processing_path.processing}/#{Gt[:sisupod]}/_sisu/skin/dir", + "#{processing_path.processing}/#{Gt[:sisupod]}/_sisu/skin/site", + "#{processing_path.processing}/#{Gt[:sisupod]}/_sisu/image" + ] + paths.each {|x| FileUtils::mkdir_p(x) unless FileTest.directory?(x) } + end + def defaults #multiple default directories + @default_dir ||=@sys.default_dir #DEFAULT_DIR + end + def html_seg_title_banner? + ((defined? @rc['html']['seg_title_banner']) \ + && @rc['html']['seg_title_banner']==true) \ + ? @rc['html']['seg_title_banner'] + : false + end + def html_quick_ref? + ((defined? @rc['html']['quick_ref']) \ + && @rc['html']['quick_ref']==true) \ + ? @rc['html']['quick_ref'] + : false + end + def html_minitoc? + if defined? @rc['html']['minitoc'] \ + and @rc['html']['minitoc'].is_a?(String) + @rc['html']['minitoc'] + else false + end + end + def manifest_minitoc? + if defined? @rc['manifest']['minitoc'] \ + and @rc['manifest']['minitoc'].is_a?(String) + @rc['manifest']['minitoc'] + else false + end + end + def build + def omit_list + @off_list ||=if defined? @rc['omit_list'] \ + and @rc['omit_list'].is_a?(String) + @rc['omit_list'] + elsif defined? @rc['omit']['list'] \ + and @rc['omit']['list'].is_a?(String) + @rc['omit']['list'] + else + nil + end + end + def listed?(test) #fix + listed=if omit_list + x=(omit_list.scan(/\b#{test}\b/)).join + test==x \ + ? true + : false + else + false + end + listed + end + def ocn? + if (defined? @rc['omit']['ocn'] \ + and not @rc['omit']['ocn'].nil?) \ + or listed?('ocn') + :off + else + :na + end + end + def toc? + if (defined? @rc['omit']['toc'] \ + and not @rc['omit']['toc'].nil?) \ + or listed?('toc') + :off + else + :na + end + end + def manifest? + if (defined? @rc['omit']['manifest'] \ + and not @rc['omit']['manifest'].nil?) \ + or listed?('manifest') + :off + else + :na + end + end + def links_to_manifest? + 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 + :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? + if (defined? @rc['omit']['minitoc'] \ + and not @rc['omit']['minitoc'].nil?) \ + or (listed?('minitoc')) + :off + else + :na + end + end + def manifest_minitoc? + if (defined? @rc['omit']['manifest_minitoc'] \ + and not @rc['omit']['manifest_minitoc'].nil?) \ + or listed?('manifest_minitoc') + :off + else + :na + end + end + def html_minitoc? + if (defined? @rc['omit']['html_minitoc'] \ + and not @rc['omit']['html_minitoc'].nil?) \ + or (listed?('html_minitoc') \ + || listed?('minitoc')) + :off + else + :na + end + end + def html_navigation? + if (defined? @rc['omit']['html_navigation'] \ + and not @rc['omit']['html_navigation'].nil?) \ + or listed?('html_navigation') + :off + else + :na + end + end + def html_navigation_bar? + if (defined? @rc['omit']['html_navigation_bar'] \ + and not @rc['omit']['html_navigation_bar'].nil?) \ + or listed?('html_navigation_bar') + :off + else + :na + end + end + def segsubtoc? + if (defined? @rc['omit']['segsubtoc'] \ + and not @rc['omit']['segsubtoc'].nil?) \ + or listed?('segsubtoc') + :off + else + :na + end + end + def html_right_pane? + if (defined? @rc['omit']['html_right_pane'] \ + and not @rc['omit']['html_right_pane'].nil?) \ + or listed?('html_right_pane') + :off + else + :na + end + end + def html_top_band? + 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 + 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 + 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 + end + def odt_ocn? + ((defined? @rc['odt']['ocn']) \ + && @rc['odt']['ocn']==false) \ + ? @rc['odt']['ocn'] + : true + end + def xml_docbook_ocn? + ((defined? @rc['xml_docbook']['ocn']) \ + && @rc['xml_docbook']['ocn']==false) \ + ? @rc['xml_docbook']['ocn'] + : true + end + def xml_fictionbook_ocn? + ((defined? @rc['xml_fictionbook']['ocn']) \ + && @rc['xml_fictionbook']['ocn']==false) \ + ? @rc['xml_fictionbook']['ocn'] + : true + end + def xml_scaffold_ocn? + ((defined? @rc['xml_scaffold']['ocn']) \ + && @rc['xml_scaffold']['ocn']==false) \ + ? @rc['xml_scaffold']['ocn'] + : true + end + def plaintext_ocn? + ((defined? @rc['plaintext']['ocn']) \ + && @rc['plaintext']['ocn']==false) \ + ? @rc['plaintext']['ocn'] + : true + end + def textile_ocn? + ((defined? @rc['textile']['ocn']) \ + && @rc['textile']['ocn']==true) \ + ? @rc['textile']['ocn'] + : false + end + def asciidoc_ocn? + ((defined? @rc['asciidoc']['ocn']) \ + && @rc['asciidoc']['ocn']==true) \ + ? @rc['asciidoc']['ocn'] + : false + end + def markdown_ocn? + ((defined? @rc['markdown']['ocn']) \ + && @rc['markdown']['ocn']==true) \ + ? @rc['markdown']['ocn'] + : false + end + def rst_ocn? + ((defined? @rc['rst']['ocn']) \ + && @rc['rst']['ocn']==true) \ + ? @rc['rst']['ocn'] + : false + end + def orgmode_ocn? + ((defined? @rc['orgmode']['ocn']) \ + && @rc['orgmode']['ocn']==true) \ + ? @rc['orgmode']['ocn'] + : false + end + def widget #needs (md) #move + @rc=SiSU_Env::GetInit.new.sisu_yaml.rc + @ad=SiSU_Env::GetInit.new.ads + @html_bits=SiSU_Proj_HTML::Bits.new + @flag={ + ad: false, + md: false, + sk: false, + rc: false + } + def promo? + @flag[:ad]=if @md.flag_promo \ + && @ad[:flag_promo] + @flag[:md]=true + true + elsif defined? @html_bits.widget_promo \ + and not @html_bits.widget_promo.nil? \ + and @html_bits.widget_promo.is_a?(Array) \ + and @html_bits.widget_promo.length > 0 + @flag[:sk]=true + true + elsif defined? @rc['html']['promo'] \ + and not @rc['html']['promo'].nil? \ + and @rc['html']['promo'].length > 0 + @flag[:rc]=true + true + else false + end + @flag + end + def search? + searches=['sisu'] + flag=false + if defined? @rc['search'] + searches.each do |type| + flag=if defined? @rc['search'][type] \ + and defined? @rc['search'][type]['action'] \ + and @rc['search'][type]['flag']==true \ + and @rc['search'][type]['action'] =~/https?:\/\// + flag=if promo?[:ad] + false + elsif defined? @html_bits.widget_search \ + and @html_bits.widget_search==true + true + elsif defined? @rc['search'][type]['flag'] \ + and @rc['search'][type]['flag']==true + true + else false + end + else false + end + end + else false + end + flag + end + def search_fixed? + searches=['sisu','hyperestraier'] + flag=if defined? @rc['search'] + searches.each do |type| + if defined? @rc['search'][type] \ + and defined? @rc['search'][type]['action'] \ + and @rc['search'][type]['action'] =~/https?:\/\// \ + and defined? @rc['search'][type]['db'] \ + and @rc['search'][type]['db'] =~/\S+/ + flag=if promo?[:ad] + false + elsif defined? @html_bits.widget_search \ + and @html_bits.widget_search==true + true + elsif defined? @rc['search'][type]['flag'] \ + and @rc['search'][type]['flag']==true + true + else false + end + else false + end + end + else false + end + end + def search_form(type='sisusearch',action=nil,db=nil,table=false) + rc=SiSU_Env::GetInit.new.sisu_yaml.rc + create_form_sisu=if action \ + and db \ + and action =~/https?:\/\// \ + and db =~/\S+/ + true + elsif widget.search? + db=if rc['search']['sisu']['flag']==true \ + and rc['search']['sisu']['db']=~/\S+/ + (rc['search']['sisu']['db']=~/^#{Db[:name_prefix]}\S+/) \ + ? rc['search']['sisu']['db'] + : "#{Db[:name_prefix]}#{rc['search']['sisu']['db']}" + else nil + end + action=rc['search']['sisu']['action'] + true + elsif defined? rc['search']['sisu']['flag'] \ + and defined? rc['search']['sisu']['action'] \ + and rc['search']['sisu']['flag']==true \ + and rc['search']['sisu']['action'] =~/https?:\/\// + true + else false + end + if table + table_open='' + table_close='' + else + table_open='' + table_close='
' + end + form=if create_form_sisu \ + and type=~/sisusearch/ \ + and defined? rc['search']['sisu'] \ + and defined? rc['search']['sisu']['action'] + < +#{table_open} + +
+ + + + + +
+ + +
+#{table_close} + +WOK + else '' + end + form + end + def search_form_static(action=nil,db=nil) + rc=SiSU_Env::GetInit.new.sisu_yaml.rc + create_form=if rc['search']['sisu']['flag']==true \ + and action \ + and db \ + and action =~/https?:\/\// \ + and db =~/\S+/ + true + elsif widget.search_fixed? + db=if rc['search']['sisu']['flag']==true \ + and rc['search']['sisu']['db']=~/\S+/ + (rc['search']['sisu']['db']=~/^#{Db[:name_prefix]}\S+/) \ + ? rc['search']['sisu']['db'] + : "#{Db[:name_prefix]}#{rc['search']['sisu']['db']}" + else nil + end + action=rc['search']['sisu']['action'] + true + else false + end + if create_form + %{ + + +
+ + +
+ + + + + + +
+
+ + } + else '' + end + end + def search_action #check + if search? + else '' + end + end + self + end + def widget_static + @rc=SiSU_Env::GetInit.new.sisu_yaml.rc + @html_bits=SiSU_Proj_HTML::Bits.new + @flag={ ad: false, md: false, sk: false, rc: false } + def search? + flag=if defined? @rc['search'] \ + and defined? @rc['search']['sisu'] \ + and defined? @rc['search']['sisu']['action'] \ + and @rc['search']['sisu']['action'] =~/https?:\/\// \ + and defined? @rc['search']['sisu']['db'] \ + and @rc['search']['sisu']['db'] =~/\S+/ + flag=if defined? @html_bits.widget_search \ + and @html_bits.widget_search==true + true + elsif defined? @rc['search']['sisu']['flag'] \ + and @rc['search']['sisu']['flag']==true + true + else + false + end + else + false + end + end + def search_fixed? + flag=if defined? @rc['search'] \ + and defined? @rc['search']['sisu'] \ + and defined? @rc['search']['sisu']['action'] \ + and @rc['search']['sisu']['action'] =~/https?:\/\// \ + and defined? @rc['search']['sisu']['db'] \ + and @rc['search']['sisu']['db'] =~/\S+/ \ + and defined? @rc['search']['sisu']['db'] \ + and @rc['search']['sisu']['db'] =~/\S+/ + flag=if defined? @html_bits.widget_search \ + and @html_bits.widget_search==true + true + elsif defined? @rc['search']['sisu']['flag'] \ + and @rc['search']['sisu']['flag']==true + true + else + false + end + else + false + end + end + def search_form(action=nil,db=nil) + rc=SiSU_Env::GetInit.new.sisu_yaml.rc + create_form=if defined? rc['search']['sisu']['flag'] \ + and rc['search']['sisu']['flag']==true \ + and action \ + and db \ + and action =~/https?:\/\// \ + and db =~/\S+/ + true + elsif widget_static.search? \ + and rc['search']['sisu']['flag']==true + db=if rc['search']['sisu']['db']=~/\S+/ + (rc['search']['sisu']['db']=~/^#{Db[:name_prefix]}\S+/) \ + ? rc['search']['sisu']['db'] + : "#{Db[:name_prefix]}#{rc['search']['sisu']['db']}" + else nil + end + action=rc['search']['sisu']['action'] + true + else false + end + if create_form \ + and @fnb \ + and @fnb=~/\S+/ + %{ + +
+ + +
+ + + + +
+
+ } + elsif create_form + %{ + +
+ + +
+ + +
+
+ } + else '' + end + end + def search_action #check + if search? + else '' + end + end + self + end + def source_file_path + file=@fns.gsub(/\.ssm(?:\.sst)?/,'.ssm.sst') + unless file =~/\.ssm\.sst$/; "#{Dir.pwd}" + else "#{processing_path.composite_file}" + end + end + def source_file_with_path + file=@fns.gsub(/\.ssm(?:\.sst)?/,'.ssm.sst') + "#{source_file_path}/#{file}" + end + def texpdf_hyperlinks(cli) + @cli=cli + @hyplnks=if cli != :na + cli + elsif (defined? @rc['default']['pdf_hyperlinks']) \ + && (@rc['default']['pdf_hyperlinks']=~/color/) + :color + elsif (defined? @rc['default']['pdf_hyperlinks']) \ + && (@rc['default']['pdf_hyperlinks'] \ + =~/(?:no-color|color-off|mono(?:chrome)?)/) + :mono + else :na + end + def landscape + if @cli != :na + @cli + elsif (defined? @rc['default']['pdf_hyperlinks_landscape']) \ + && (@rc['default']['pdf_hyperlinks_landscape']=~/color/) + :color + elsif (defined? @rc['default']['pdf_hyperlinks_landscape']) \ + && (@rc['default']['pdf_hyperlinks_landscape'] \ + =~/(?:no-color|color-off|mono(?:chrome)?)/) + :mono + elsif @hyplnks != :na + @hyplnks + else :na + end + end + def portrait + if @cli != :na + @cli + elsif (defined? @rc['default']['pdf_hyperlinks_portrait']) \ + && (@rc['default']['pdf_hyperlinks_portrait']=~/color/) + :color + elsif (defined? @rc['default']['pdf_hyperlinks_portrait']) \ + && (@rc['default']['pdf_hyperlinks_portrait'] \ + =~/(?:no-color|color-off|mono(?:chrome)?)/) + :mono + elsif @hyplnks != :na + @hyprlnks + else :na + end + end + self + end + def font + def size(pt=nil) + if pt && pt != :na + pt + elsif defined? @rc['default']['fontsize'] \ + && @rc['default']['fontsize']=~/\d{1,2}/ + @rc['default']['fontsize'] + else :na + end + end + def texpdf + # you may wish to check selected font against available fonts: + # fc-list :outline -f "%{family}\n" + # fc-list :lang=ja + def main + (defined? @rc['default']['texpdf_fontface']) \ + && (@rc['default']['texpdf_fontface']=~/\S{3,}/) \ + ? @rc['default']['texpdf_fontface'] + : 'Liberation Sans' + end + def sans # not used + (defined? @rc['default']['texpdf_fontface_sans']) \ + && (@rc['default']['texpdf_fontface_sans']=~/\S{3,}/) \ + ? @rc['default']['texpdf_fontface_sans'] + : 'Liberation Sans' + end + def serif # not used + (defined? @rc['default']['texpdf_fontface_serif']) \ + && (@rc['default']['texpdf_font_serif']=~/\S{3,}/) \ + ? @rc['default']['texpdf_fontface_serif'] + : 'Liberation Serif' + end + def mono + (defined? @rc['default']['texpdf_fontface_mono']) \ + && (@rc['default']['texpdf_fontface_mono']=~/\S{3,}/) \ + ? @rc['default']['texpdf_fontface_mono'] + : 'Liberation Mono' + end + def cjk + (defined? @rc['default']['texpdf_fontface_cjk']) \ + && (@rc['default']['texpdf_fontface_cjk']=~/\S{3,}/) \ + ? @rc['default']['texpdf_fontface_cjk'] + : 'IPAGothic' # 'IPAGothic' # 'IPAMincho' # 'TakaoMincho' # 'VL Gothic' + end + def cjk_zh + (defined? @rc['default']['texpdf_fontface_cjk_zh']) \ + && (@rc['default']['texpdf_fontface_cjk_zh']=~/\S{3,}/) \ + ? @rc['default']['texpdf_fontface_cjk_zh'] + : 'IPAGothic' + end + def cjk_ja + (defined? @rc['default']['texpdf_fontface_cjk_ja']) \ + && (@rc['default']['texpdf_fontface_cjk_ja']=~/\S{3,}/) \ + ? @rc['default']['texpdf_fontface_cjk_ja'] + : 'IPAGothic' + end + def cjk_ko + (defined? @rc['default']['texpdf_fontface_cjk_ko']) \ + && (@rc['default']['texpdf_fontface_cjk_ko']=~/\S{3,}/) \ + ? @rc['default']['texpdf_fontface_cjk_ko'] + : 'IPAGothic' + end + def size(pt=nil) + if pt && pt != :na + pt + elsif (defined? @rc['default']['texpdf_fontsize']) \ + && (@rc['default']['texpdf_fontsize']=~/\d{1,2}/) + @rc['default']['texpdf_fontsize'] + elsif (defined? @rc['default']['fontsize']) \ + && (@rc['default']['fontsize']=~/\d{1,2}/) + @rc['default']['fontsize'] + else + :na + end + end + self + end + self + end + def path_rel_links + def html_scroll_2 + if @env.output_dir_structure.by_language_code? + '../../' + elsif @env.output_dir_structure.by_filetype? + '../' + else + '../' + end + end + def html_seg_2 + if @env.output_dir_structure.by_language_code? + '../../../' + elsif @env.output_dir_structure.by_filetype? + '../../' + else + '../' + end + end + def html_scroll_1 + if @env.output_dir_structure.by_language_code? + '../' + elsif @env.output_dir_structure.by_filetype? + '../' + else + './' + end + end + def html_seg_1 + if @env.output_dir_structure.by_language_code? + '../../' + elsif @env.output_dir_structure.by_filetype? + '../../' + else + './' + end + end + self + end + def read_source_file_array(fns) + (fns !~/\.ssm.sst$/) \ + ? (IO.readlines(fns, mode: 'r:utf-8', cr_newline: true)) + : (IO.readlines( + "#{processing_path.composite_file}/#{fns}", + mode: 'r:utf-8', + cr_newline: true + )) + end + def read_source_file(fns) + read_source_file_array(fns) + end + def read_source_file_string(fns) + (fns !~/\.ssm.sst$/) \ + ? (IO.read(fns, mode: 'r:utf-8', cr_newline: true)) + : (IO.read( + "#{processing_path.composite_file}/#{fns}", + mode: 'r:utf-8', + cr_newline: true + )) + end + def source_file_processing_array(fns) + read_source_file_string(fns).split(/\s*\n\s*\n/m) + end + def path #dir + def home + @sys.home + end + def sisurc_path + SiSU_Get_Init::GetInit.new.sisu_yaml.rc_path + end + def pwd + @sys.pwd + end + def stub_pwd + @stub_pwd + end + def base_markup_dir_stub + @base_markup_dir_stub + end + def stub_epub + @stub_epub + end + def stub_src + @stub_src + end + def stub_pod + @stub_pod + end + def etc + defaults[:sisu_etc] #live/dynamic + end + def arch + @sys.dir_arch + end + def sitearch + @sys.dir_sitearch + end + def bin + @sys.dir_bin + end + def share #shared data repository source directory + #SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green). + # mark(defaults[:sisu_share]) + defaults[:sisu_share] + end + def style + if @md \ + && ((@md.opt.opt_act[:dump][:bool] \ + && @md.opt.opt_act[:dump][:inst]) \ + || (@md.opt.opt_act[:redirect][:bool] \ + && @md.opt.opt_act[:redirect][:inst])) + 'css' + else + defaults[:stylesheet_stub] + end + end + def sample_data #sample data repository source directory + defaults[:sample_data_path] + end + def rc + @init.rc_path + end + def yamlrc + GetInit.new.sisu_yaml.rc_path + end + def man #check use + (defined? @rc['webserv']['man']) \ + ? "#{webserv}/#{@rc['webserv']['man']}" + : defaults[:webserv_man] + end + def webserv_path #testing, check need, remove + webserv + end + def webserv #separation required for webrick which cannot use path.output (different requirements as no file is passed) + man_path=if @@man_path.nil? + man_path=if defined? @rc['webserv']['path'] \ + and @rc['webserv']['path'] =~/\S\S+/ + pwd=Dir.pwd + Dir.chdir(SiSU_Utils::Path.new.base_markup) + man_path=@@man_path=File.expand_path(@rc['webserv']['path']) + Dir.chdir(pwd) + man_path + else defaults[:webserv_path] + end + else @@man_path + end + man_path_head=man_path.gsub(/(\S+)\/[^\/\s]+$/,'\1') + unless FileTest.directory?(man_path) + FileUtils::mkdir_p(man_path) if File.writable?("#{man_path_head}/.") + end + @webserv_path=if defined? man_path \ + and File.writable?("#{man_path}/.") + man_path #web server path as configured in rc file + elsif FileTest.directory?(defaults[:webserv_path]) \ + and File.writable?("#{defaults[:webserv_path]}/.") #web server path default + defaults[:webserv_path] + else #create default directory under home and place output there + unless FileTest.directory?(defaults[:output_local]) + FileUtils::mkdir_p(defaults[:output_local]) + end + defaults[:output_local] + end + end + def webserv_stub_ensure + FileUtils::mkdir_p(path.webserv) unless FileTest.directory?(path.webserv) + FileUtils::mkdir_p("#{path.webserv}/#{@base_markup_dir_stub}") \ + unless FileTest.directory?("#{path.webserv}/#{@base_markup_dir_stub}") + end + def webserv_map_pwd #dir + "#{path.webserv}/#{base_markup_dir_stub}" + end + def webserv_dir #fixed/hard path to /www web/presentation directory, on Debian /var/www subdirectories are created within it, depending on markup directory stub-name (last segment of markup directory name) + defaults[:webserv_dir] + end + def webserv_image #web/presentation directory, subdirectories are created within it, depending on markup directory stub-name (last segment of markup directory name) + images=if defined? @rc['webserv']['images'] + @rc['webserv']['images'] + else defaults[:images] + end + "#{path.webserv}/#{images}" + end + def output #web/webserv output directory... subdirectory into which further subdirectories are made based on file names + r=Px[:lng_lst_rgx] + u=/.+?\/([^\/]+)(?:\/(?:#{r})$|$)/ + base_stub=@sys.pwd.gsub(u,'\1') + if Dir.pwd =~/\/#{Gt[:sisupod]}\/[^\/]+\/#{Gt[:pod]}\/#{Gt[:doc]}/ + "#{path.webserv}/#{Gt[:doc]}" + else + "#{path.webserv}/#{base_stub}" + end + end + def feed + (defined? @rc['webserv']['feed']) \ + ? ("#{public_output}/#{@rc['webserv']['feed']}") + : (defaults[:webserv_feed]) + end + def feed_home + "#{public_output}/#{@rc['webserv']['feed_home']}" + end + def scripts #used previously only to include tla version info + if defined? @rc['project']['path'] + "#{home}/#{@rc['project']['path']}" + end + end + def cgi + (defined? @rc['webserv']['cgi']) \ + ? "#{@rc['webserv']['cgi']}" + : (defaults[:webserv_cgi]) + end + def php + (defined? @rc['webserv']['php']) \ + ? "#{public_output}/#{@rc['webserv']['php']}" + : (defaults[:webserv_php]) + end + #% programs + def output_tell + url.webserv_map_pwd + end + def image_source_sisu_includes(md=nil) + if md \ + and (md.opt.sisu_install_type? == \ + :full_path_to_sisu_bin_in_sisu_dir_tree) \ + and FileTest.directory?( + "#{md.opt.sisu_data_dir?}/image" + )==true + "#{md.opt.sisu_data_dir?}/image" + else + "#{share}/image" + end + end + def image_source(md=nil) #image repository source directory + if defined? @rc['image']['path'] \ + and defined? @rc['image']['public'] + pth="#{@rc['image']['path']}" + "#{pth}/#{@rc['image']['public']}" + else + image_source_sisu_includes(md) + end + end + def image_source_include(md=nil) #image repository source directory + if defined? @rc['image']['path'] \ + and defined? @rc['image']['public'] \ + and FileTest.directory?( + "#{@rc['image']['path']}/#{@rc['image']['public']}" + )==true + "#{@rc['image']['path']}/#{@rc['image']['public']}" + elsif FileTest.directory?("#{@@pwd}/#{defaults[:image_stub]}")==true + "#{@@pwd}/#{defaults[:image_stub]}" + elsif FileTest.directory?( + "#{SiSU_Utils::Path.new.base_markup}/#{defaults[:image_stub]}" + )==true + "#{SiSU_Utils::Path.new.base_markup}/#{defaults[:image_stub]}" + else + image_source_sisu_includes(md) + end + end + def image_external + "#{processing}/external_document/image" + end + def image_source_include_local + if FileTest.directory?(defaults[:image_local]) + defaults[:image_local] + end + end + def image_source_include_remote + if FileTest.directory?(image_external) + image_external + end + end + self + end + def processing_path + def encoding + pth="#{processing}/#{defaults[:processing_encoding]}" + FileUtils::mkdir_p(pth) unless FileTest.directory?(pth) + pth + end + def processing_base_tmp + defaults[:processing_path_tmp_base] + end + def tmp_root_dir + defaults[:processing_dir_tmp_root] + end + def root_dir + proposed_path_base=if defined? @rc['processing']['path'] \ + and not @rc['processing']['path'].nil? \ + and not @rc['processing']['path'].empty? + x=if @rc['processing']['path'] =~/^(?:~|home)$/ + home #fix + else @rc['processing']['path'] + end + else nil + end + proposed_dir=if defined? @rc['processing']['dir'] \ + and not @rc['processing']['dir'].nil? \ + and not @rc['processing']['dir'].empty? + @rc['processing']['dir'] + else defaults[:processing_dir] + end + v=SiSU_Env::InfoVersion.instance.get_version + v_dev=(DEVELOPER[:maintenance]==:true) \ + ? "_#{v.version}" + : '' + path=if proposed_path_base \ + and FileTest.directory?(proposed_path_base) \ + and File.writable?("#{proposed_path_base}/.") + x=proposed_dir \ + ? "#{proposed_path_base}/#{proposed_dir}" + : "#{proposed_path_base}/#{defaults[:processing_dir]}" + else defaults[:processing_dir_tmp_root] + end + path = path + v_dev + end + def usr_dir? + case root_dir + when /^\/home/ then false + else true + end + end + def stub_dir + (usr_dir?) \ + ? ("#{root_dir}/#{user}/#{stub_pwd}") + : ("#{root_dir}/#{stub_pwd}") # see defaults[:processing_path] + end + def stub_dir_orig # ends up with lang, if lang dir + (usr_dir?) \ + ? ("#{root_dir}/#{user}/#{stub_pwd}") + : ("#{root_dir}/#{stub_pwd}") # see defaults[:processing_path] + end + def processing_sisupod(opt=nil) #processing directory, used/needed for sisu work files, has sub-directories (ao,tex etc) + @opt=opt + def paths + processing_path_usr="#{root_dir}/#{user}" + processing_path_fnb=processing_path_usr \ + + '/' + Gt[:pods] \ + + '/' + @opt.fng + processing_path_sisupod=processing_path_fnb \ + + '/' + Gt[:sisupod] + { + fnb: processing_path_fnb, + sisupod: processing_path_sisupod, + } + end + def make + unless FileTest.directory?(root_dir) + FileUtils::mkdir_p(root_dir) + File.chmod(0777,root_dir) + end + if usr_dir? + processing_path_usr="#{root_dir}/#{user}" + FileUtils::mkdir_p(processing_path_usr) \ + unless FileTest.directory?(processing_path_usr) + File.chmod(0700,processing_path_usr) + end + sisupod_processing_path=paths[:sisupod] + FileUtils::mkdir_p(sisupod_processing_path) \ + unless FileTest.directory?(sisupod_processing_path) + sisupod_processing_path_lng=if defined? @opt.lng + sisupod_processing_path \ + + '/' + Gt[:doc] \ + + '/' + @opt.lng + else + sisupod_processing_path \ + + '/' + Gt[:doc] + end + unless FileTest.directory?(sisupod_processing_path_lng) + #puts "a processing directory (#{sisupod_processing_path_lng}) is being created for use by sisu" + FileUtils::mkdir_p(sisupod_processing_path_lng) + File.chmod(0700,sisupod_processing_path_lng) + end + sisupod_processing_path + end + self + end + def processing #processing directory, used/needed for sisu work files, has sub-directories (ao,tex etc) + unless FileTest.directory?(root_dir) + FileUtils::mkdir_p(root_dir) + File.chmod(0777,root_dir) + end + if usr_dir? + processing_path_usr="#{root_dir}/#{user}" + FileUtils::mkdir_p(processing_path_usr) \ + unless FileTest.directory?(processing_path_usr) + File.chmod(0700,processing_path_usr) + end + FileUtils::mkdir_p(stub_dir) \ + unless FileTest.directory?(stub_dir) + File.chmod(0700,stub_dir) + path_processing=[ + stub_dir, + defaults[:processing_path], + defaults[:processing_path_home] + ] + processing=nil + path_processing.each do |v| # + processing=v + unless FileTest.directory?(processing) + FileUtils::mkdir_p(processing) + File.chmod(0700,processing) + end + break + end + processing + end + def ao + pth=if defined? @rc['processing']['dal'] \ + and @rc['processing']['dal'].is_a?(String) + "#{processing}/#{@rc['processing']['dal']}" + else "#{processing}/#{defaults[:processing_ao]}" + end + FileUtils::mkdir_p(pth) unless FileTest.directory?(pth) + pth + end + def tune + pth=if defined? @rc['processing']['tune'] \ + and @rc['processing']['tune'].is_a?(String) + "#{processing}/#{@rc['processing']['tune']}" + else "#{processing}/#{defaults[:processing_tune]}" + end + FileUtils::mkdir_p(pth) unless FileTest.directory?(pth) + pth + end + def composite_file + pth=processing_path.ao #"#{processing}/composite" + FileUtils::mkdir_p(pth) unless FileTest.directory?(pth) + pth + end + def git + pth=if defined? @rc['git']['dir'] \ + and @rc['git']['dir'].is_a?(String) + (@rc['git']['dir'] =~/^(?:~|home)$/) \ + ? home + '/' + Gt[:git] + : @rc['git']['dir'] + '/' + Gt[:git] + else defaults[:processing_git] + end + unless FileTest.directory?(pth) + FileUtils::mkdir_p(pth) + File.chmod(0700,pth) + end + pth + end + def odf_pth + pth="#{processing}/odf/#{@fns}" + pth + end + def odf + odt + end + def odt + pth=odf_pth + '/odt' + FileUtils::mkdir_p(pth) unless FileTest.directory?(pth) + pth + end + def odf + pth="#{processing}/odf" + FileUtils::mkdir_p(pth) unless FileTest.directory?(pth) + pth + end + def odt_bld + FileUtils::rm_rf(processing_path.odt) + FileUtils::mkdir_p(processing_path.odt) \ + unless FileTest.directory?(processing_path.odt) + FileUtils::mkdir_p("#{processing_path.odt}/Configurations2") \ + unless FileTest.directory?("#{processing_path.odt}/Configurations2") + FileUtils::mkdir_p("#{processing_path.odt}/META-INF") \ + unless FileTest.directory?("#{processing_path.odt}/META-INF") + FileUtils::mkdir_p("#{processing_path.odt}/Pictures") \ + unless FileTest.directory?("#{processing_path.odt}/Pictures") + FileUtils::mkdir_p("#{processing_path.odt}/Thumbnails") \ + unless FileTest.directory?("#{processing_path.odt}/Thumbnails") + processing_path.odt + end + def epub + "#{processing}/epub/#{@fnb}" + end + def epub_bld #(md) + FileUtils::rm_rf(processing_path.epub) \ + if FileTest.directory?(processing_path.epub) + FileUtils::mkdir_p(processing_path.epub) \ + unless FileTest.directory?(processing_path.epub) + FileUtils::mkdir_p("#{processing_path.epub}/META-INF") \ + unless FileTest.directory?("#{processing_path.epub}/META-INF") + FileUtils::mkdir_p("#{processing_path.epub}/#{Ep[:d_oebps]}/image") \ + unless FileTest.directory?("#{processing_path.epub}/#{Ep[:d_oebps]}/image") + FileUtils::mkdir_p("#{processing_path.epub}/#{Ep[:d_oebps]}/css") \ + unless FileTest.directory?("#{processing_path.epub}/#{Ep[:d_oebps]}/css") + processing_path.epub + end + def epub_cp_images(md) + pth="#{processing_path.epub}/#{Ep[:d_oebps]}/image" + FileUtils::mkdir_p(pth) unless FileTest.directory?(pth) + src=(md.opt.sisu_install_type? == :full_path_to_sisu_bin_in_sisu_dir_tree) \ + ? "#{md.opt.sisu_data_dir?}/image" + : "#{md.opt.sisu_data_dir?}/sisu/image" + images=%W[bullet_09.png arrow_next_red.png arrow_prev_red.png arrow_up_red.png] + images.each do |i| #move to avoid repeated tests + if FileTest.file?("#{src}/#{i}") + FileUtils::cp("#{src}/#{i}","#{pth}/#{i}") \ + unless FileTest.file?("#{pth}/#{i}") + else STDERR.puts %{\t*WARN* did not find image - "#{i}" [#{__FILE__}:#{__LINE__}]} + end + end + pth + end + def tex + pth=if defined? @rc['processing']['latex'] \ + and @rc['processing']['latex'].is_a?(String) + "#{processing}/#{@rc['processing']['latex']}" + else "#{processing}/#{defaults[:processing_latex]}" + end + FileUtils::mkdir_p(pth) unless FileTest.directory?(pth) + pth + end + def texi + pth=if defined? @rc['processing']['texinfo'] \ + and @rc['processing']['texinfo'].is_a?(String) + "#{processing}/#{@rc['processing']['texinfo']}" + else "#{processing}/#{defaults[:processing_texinfo]}" + end + FileUtils::mkdir_p(pth) unless FileTest.directory?(pth) + pth + end + def texinfo #texinfo webserv, check + "#{processing}/#{defaults[:processing_texinfo]}" + end + def manpage + "#{path.output}/man" + end + def lout + pth=if defined? @rc['processing']['lout'] \ + and @rc['processing']['lout'].is_a?(String) + "#{processing}/#{@rc['processing']['lout']}" + else "#{processing}/#{defaults[:processing_lout]}" + end + FileUtils::mkdir_p(pth) unless FileTest.directory?(pth) + pth + end + def sql + pth="#{processing}/sql" + FileUtils::mkdir_p(pth) unless FileTest.directory?(pth) + pth + end + def sqlite + pth=if defined? @rc['processing']['sqlite'] \ + and @rc['processing']['sqlite'].is_a?(String) + "#{processing}/#{@rc['processing']['sqlite']}" + else "#{processing}/#{defaults[:processing_sqlite]}" + end + FileUtils::mkdir_p(pth) unless FileTest.directory?(pth) + pth + end + def postgresql + pth=if defined? @rc['processing']['postgresql'] \ + and @rc['processing']['postgresql'].is_a?(String) + "#{processing}/#{@rc['processing']['postgresql']}" + else "#{processing}/#{defaults[:processing_postgresql]}" + end + FileUtils::mkdir_p(pth) unless FileTest.directory?(pth) + pth + end + self + end + def url + def hostname + "http://#{@sys.hostname}" + end + def dir_url + "file://#{path.webserv}/#{stub_pwd}" + end + def localhost + "http://localhost/#{stub_pwd}" + end + def local + "http://#{hostname}/#{@stub_pwd}" + end + def root + if defined? @rc['webserv']['url_root'] \ + and @rc['webserv']['url_root'] =~/https?:\/\// + "#{@rc['webserv']['url_root']}/#{@stub_pwd}" + elsif defined? @rc['webserv']['url_root'] \ + and @rc['webserv']['url_root'] =~/localhost/ + "http://localhost/#{@stub_pwd}" + else "file://#{path.output}" + end + end + def remote + root + end + def txt + "#{root}/txt" + end + def html + "#{root}/html" + end + def epub + "#{root}/epub" + end + def odt + "#{root}/odt" + end + def pdf + "#{root}/pdf" + end + def src_txt + "#{root}/src" + end + def src_pod + "#{root}/pod" + end + def pot + "#{root}/po4a/pot" + end + def po + "#{root}/po4a/po" + end + def webserv_host_base(opt=nil) + if defined? @rc['webserv']['host'] + case @rc['webserv']['host'] + when /https?:\/\// then @rc['webserv']['host'] + when /\S+/ then "http://#{@rc['webserv']['host']}" + else defaults[:webserv_host_cgi] + end + else defaults[:webserv_host_cgi] + end + end + def webserv_cgi(opt=nil) #web url for local webserv (localhost, or hostname) + http=if defined? @rc['webserv_cgi']['host'] \ + and @rc['webserv_cgi']['host'].is_a?(String) + http=((@rc['webserv_cgi']['host'] =~ /https?:\/\//) ? '' : 'http://') #check https? missing + if port.webserv_port_cgi + http + @rc['webserv_cgi']['host'] + ':' \ + + port.webserv_port_cgi + '/' \ + + @stub_pwd + else + http + @rc['webserv_cgi']['host'] + '/' \ + + @stub_pwd + end + else + http=((webserv_host_base=~/https?:\/\//) ? '' : 'http://') + if port.webserv_port_cgi(opt) + http + webserv_host_base + ':' \ + + port.webserv_port_cgi(opt) + '/'\ + + @stub_pwd + else + http + webserv_host_base + '/' \ + + @stub_pwd + end + end + http=http.strip + end + def webserv_base_cgi(opt=nil) #web url for local webserv (localhost, or hostname) + http_cgi=if opt.selections.str =~/--webserv-(?:cgi|db|search)[=-]["']?(\S+)["']+/ + m=$1 + (m=~/http\/\/:/) ? m : %{http://#{m}} + elsif defined? @rc['webserv_cgi']['host'] \ + and @rc['webserv_cgi']['host'].is_a?(String) + http=((@rc['webserv_cgi']['host'] =~ /https?:\/\//) ? '' : 'http://') + if port.webserv_port_cgi(opt) + http + @rc['webserv_cgi']['host'] + ':' \ + + port.webserv_port_cgi(opt).to_s + else + http + @rc['webserv_cgi']['host'] + end + else + http=((webserv_host_base=~/https?:\/\//) ? '' : 'http://') + if port.webserv_port_cgi(opt) + http + webserv_host_base + ':' \ + + port.webserv_port_cgi(opt).to_s + else http + webserv_host_base + end + end + http_cgi=http_cgi.strip + #%q{http://#{ENV['HTTP_HOST']}} + end + def webrick #must have a port #REMOVE + if defined? @rc['webserv_cgi']['host'] \ + and @rc['webserv_cgi']['host'].is_a?(String) + http=if @rc['webserv_cgi']['host'] =~/http:\/\// + 'http://' + elsif @rc['webserv_cgi']['host'] =~/https:\/\// + 'https://' + else defaults + end + http + @rc['webserv_cgi']['host'] + elsif webserv_host_base \ + and webserv_host_base.is_a?(String) + webserv_host_base + else + #http + 'localhost' + 'localhost' + end + end + def webserv #web url for local webserv (localhost, or hostname) + if defined? @rc['webserv']['url_root'] \ + and @rc['webserv']['url_root'] =~/http/ + # needed for alternative output dir structures, fixes manifest url links, check may cause problems elsewhere + @rc['webserv']['url_root'] + elsif path.webserv_dir \ + and path.webserv =~ /#{path.webserv_dir}/ #revisit + path.webserv + '/' \ + + @base_markup_dir_stub. + gsub(/#{path.webserv_dir}/, + "#{url.hostname}/#{@stub_pwd}") + elsif defined? @rc['webserv']['webrick_url'] \ + and @rc['webserv']['webrick_url']==false + 'file://' + path.webserv + elsif port.webserv_port_cgi =~/\S+/ + url.hostname + ':' + port.webserv_port_cgi + else + url.hostname + end + end + def webserv_base #web url for local webserv (localhost, or hostname) + if path.webserv_dir \ + and path.webserv =~ /#{path.webserv_dir}/ #revisit + path.webserv + '/' \ + + @stub_pwd. + gsub(/#{path.webserv_dir}/, + "#{url.hostname}") + elsif defined? @rc['webserv']['webrick_url'] \ + and @rc['webserv']['webrick_url']==false + "file://#{path.webserv}" + else "#{url.webrick_base}" + end + end + def webserv_files_from_db(opt=nil) #sort this out, messy + if opt.selections.str =~/--webserv-output[=-]["']?(\S+)["']+/ + m=$1 + (m=~/(?:http|file\/)\/\/:/) ? m : %{http://#{m}} + else + show_output_on=if defined? @rc['webserv_cgi']['show_output_on'] + @rc['webserv_cgi']['show_output_on'] + elsif defined? @rc['webserv_cgi']['file_links'] + @rc['webserv_cgi']['file_links'] + else '' + end + m=case show_output_on + when /webserv_cgi/ then url.webserv_base_cgi(opt) + when /webserv/ then @rc['webserv']['url_root'] + when /https?:\/\// then @rc['webserv_cgi']['file_links'] + when /\S+/ then 'http://' + @rc['webserv_cgi']['file_links'] + else webserv_base_cgi(opt) + end + end + #%q{http://#{ENV['HTTP_HOST']}/cgi-bin} + end + def cgi_sample_search_form_name(opt=nil) + if opt.selections.str \ + =~/--(?:cgi-)?search-form-name[=-]["']?(\S+?\.cgi)/ + $1 + elsif not opt.selections.str =~/--db[=-]["']?sqlite/ \ + and defined? @rc['search'] \ + and defined? @rc['search']['sisu'] \ + and defined? @rc['search']['sisu']['action'] \ + and @rc['search']['sisu']['action'] =~/https?:\/\/\S+?\.cgi/ + /(?:https?:\/\/\S+?)\/([^\/]+?\.cgi)$/. + match(@rc['search']['sisu']['action'])[1] + else + (opt.selections.str =~/--db[=-]["']?sqlite/) \ + ? "#{Db[:name_prefix_db]}sqlite.cgi" \ + : "#{Db[:name_prefix_db]}pg.cgi" + end + end + def sample_search_form_title(organised_by=:language) + title=if defined? @rc['search']['sisu']['title'] \ + and @rc['search']['sisu']['title'] =~/\S+/ + @rc['search']['sisu']['title'] + else %{SiSU (generated sample) search form} + end + title=title + " (content organised by #{organised_by})" + end + def output_tell #BROKEN Revisit 2011-02 + output_type=if defined? @rc['show_output_on'] \ + and @rc['show_output_on'] \ + =~/^(?:filesystem|webserv|(?:local|remote)(?:_webserv)?|webrick)/ + @rc['show_output_on'] + else 'filesystem' + end + case output_type + when /^filesystem(?:_url)?/ then url.dir_url + when /^remote(?:_webserv)?/ then url.remote + when /^(?:webserv|local_webserv)/ then url.local + when /^local(:\d+)/ then url.hostname + $1 + '/' + stub_pwd + when /^localhost(:\d+)/ then url.localhost + $1 + '/' + stub_pwd + when /^localhost/ then url.localhost + when /^webrick/ then url.webrick + when /^path/ then url.webserv_map_pwd + else url.webserv_map_pwd + end + end + def images + "#{Xx[:html_relative2]}/_sisu/image" + end + #def images + # '../_sisu/image' + #end + def images_local + if FileTest.directory?(path.image_source_include) + path.image_source_include + else + if @@local_image==true + cmd=@md.opt.selections.str ? @md.opt.selections.str : '' + SiSU_Screen::Ansi.new( + cmd, + "WARNING - no local image directory or images:", + defaults[:image_local] + ).warn unless @md.opt.act[:quiet][:set]==:on + @@local_image=false + end + url.images + end + end + def images_external + if FileTest.directory?(image_external) + if @@image_flag + images=Dir.glob("#{image_external}/*.{png,jpg,gif}") + pth=path.webserv + '/' \ + + @stub_pwd + FileUtils::mkdir_p("#{pth}/_sisu/image_external") \ + unless FileTest.directory?("#{pth}/_sisu/image_external") + images.each { |i| File.install(i,"#{pth}/#{i}") } \ + unless images.length > 0 + @@image_flag=false + end + "#{Xx[:html_relative2]}/_sisu/image_external" + else + if @@local_image==true + SiSU_Screen::Ansi.new( + @cmd, + 'WARNING - image directory for external images or no such images:', + :image_external + ).warn unless @md.opt.act[:quiet][:set]==:on + @@local_image=false + end + url.images_external + end + end + def images_epub + './image' + end + self + end + def port + def webrick_port + if @md \ + and @md.opt.act[:sample_search_form][:set]==:on \ + and @md.opt.selections.str=~/port=(\d+)/ + $1 + else + if defined? @rc['webserv_cgi']['port'] + if @rc['webserv_cgi']['port'].nil? \ + and (defined? @md.opt.selections \ + and @md.opt.selections.str=~/webrick/) + defaults[:webserv_port_cgi] + elsif not @rc['webserv_cgi']['port'].nil? + @rc['webserv_cgi']['port'] + else defaults[:webserv_port_cgi] + end + else defaults[:webserv_port_cgi] + end + end + end + def webserv_port_cgi(opt=nil) + port=if opt \ + and opt.act[:sample_search_form][:set]==:on \ + and opt.selections.str=~/port[=-](\d+)/ + $1 + else + port=if defined? @rc['webserv_cgi']['port'] + if @rc['webserv_cgi']['port'].nil? \ + and (defined? opt.selections \ + and opt.selections.str=~/webrick/) + defaults[:webserv_port_cgi] + elsif not @rc['webserv_cgi']['port'].nil? + @rc['webserv_cgi']['port'] + else nil + end + else + if (defined? opt.selections \ + and opt.selections.str=~/webrick/) + defaults[:webserv_port_cgi] + else nil + end + end + end + port.to_s + end + self + end + def digest_conf? + if defined? @rc['default']['digest'] \ + and @rc['default']['digest'] != nil + case @rc['default']['digest'] + when /^sha(?:5|512)?$/ then :sha512 + when /^sha(?:2|256)?$/ then :sha256 + when /^md5$/ then :md5 + else :sha256 + end + else :sha256 + end + end + def digest(opt=nil) + @opt=opt + def type + if @opt + case @opt.act[:hash_digest_algo] + when :sha512 then :sha512 + when :sha256 then :sha256 + when :md5 then :md5 + else digest_conf? + end + else digest_conf? + end + end + def length + case digest(@opt).type + when :sha512 then 128 + when :sha256 then 64 + when :md5 then 32 + else 64 + end + end + def pattern + "[0-9a-f]{#{digest(@opt).length}}" #/[0-9a-f]{#{digest.length}}/ + end + self + end + def program + def text_editor + if defined? @rc['program_select']['editor'] \ + and @rc['program_select']['editor'] =~/\S\S+/ + @rc['program_select']['editor'] + elsif defined? @rc['program_select']['text_editor'] \ + and @rc['program_select']['text_editor'] =~/\S\S+/ + @rc['program_select']['text_editor'] + else 'editor' #'gvim -c :R -c :S' + end + end + def pdf_viewer + ((defined? @rc['program_select']['pdf_viewer']) \ + && @rc['program_select']['pdf_viewer'] =~/\S\S+/) \ + ? @rc['program_select']['pdf_viewer'] + : 'pdf-viewer' #'evince' + end + def web_browser + if defined? @rc['program_select']['www_browser'] \ + and @rc['program_select']['www_browser'] =~/\S\S+/ + @rc['program_select']['www_browser'] + elsif defined? @rc['program_select']['web_browser'] \ + and @rc['program_select']['web_browser'] =~/\S\S+/ + @rc['program_select']['web_browser'] + else 'x-www-browser' #'firefox' 'iceweasel' 'kazehakase' 'galeon' + end + end + def www_browser + web_browser + end + def console_web_browser + if defined? @rc['program_select']['console_www_browser'] \ + and @rc['program_select']['console_www_browser'] =~/\S\S+/ + @rc['program_select']['console_www_browser'] + elsif defined? @rc['program_select']['console_web_browser'] \ + and @rc['program_select']['console_web_browser'] =~/\S\S+/ + @rc['program_select']['console_web_browser'] + else 'console-www-browser' #'lynx' 'links' 'links2' 'elinks' 'w3m' + end + end + def console_www_browser + web_browser + end + def epub_viewer + ((defined? @rc['program_select']['epub_viewer']) \ + && @rc['program_select']['epub_viewer'] =~/\S\S+/) \ + ? @rc['program_select']['epub_viewer'] + : 'ebook-viewer' #'calibre' 'fbreader' + end + def xml_viewer + ((defined? @rc['program_select']['xml_viewer']) \ + && @rc['program_select']['xml_viewer'] =~/\S\S+/) \ + ? @rc['program_select']['xml_viewer'] + : text_editor + end + def docbook_viewer + ((defined? @rc['program_select']['xml_viewer']) \ + && @rc['program_select']['xml_viewer'] =~/\S\S+/) \ + ? @rc['program_select']['xml_viewer'] + : text_editor + end + def fictionbook_viewer + ((defined? @rc['program_select']['xml_viewer']) \ + && @rc['program_select']['xml_viewer'] =~/\S\S+/) \ + ? @rc['program_select']['xml_viewer'] + : text_editor + end + def xml_editor + xml_viewer + end + def odf_viewer + ((defined? @rc['program_select']['odf_viewer']) \ + && @rc['program_select']['odf_viewer'] =~/\S\S+/) \ + ? @rc['program_select']['odf_viewer'] + : 'lowriter' #'odf-viewer','oowriter' + end + def manpage_viewer + 'man' + end + def manpage_generator + ((defined? @rc['program_select']['man']) \ + && @rc['program_select']['man'] =~/\S\S+/) \ + ? @rc['program_select']['man'] + : 'nroff -man' #'nroff -man' #'groff -man -Tascii' + end + def texinfo + ((defined? @rc['program_select']['info_viewer']) \ + && @rc['program_select']['info_viewer'] =~/\S\S+/) \ + ? @rc['program_select']['info_viewer'] + : 'pinfo -f' #'pinfo -f' 'info' 'tkinfo' + end + def file_encoding + is=(defined? @rc['program_set']['file_encoding']) \ + ? @rc['program_set']['encoding'] : '' + (is.nil? || is==true) ? 'encoding' : is + end + def wc #wordcount + is=(defined? @rc['program_set']['wc']) \ + ? @rc['program_set']['wc'] : '' + (is.nil? || is==true) ? 'wc' : is + end + def tidy + is=(defined? @rc['program_set']['tidy']) \ + ? @rc['program_set']['tidy'] : nil + (is.nil? || is==true) ? 'tidy' : is + end + def rmagick + is=(defined? @rc['program_set']['rmagick']) \ + ? @rc['program_set']['rmagick'] : nil + (is.nil? || is==true) ? 'rmagick' : is + end + def rexml #should be part of ruby 1.8 but apparently not always + is=(defined? @rc['program_set']['rexml']) ? \ + @rc['program_set']['rexml'] : '' + (is.nil? || is==true) ? 'rexml' : is + end + def pdflatex + is=(defined? @rc['program_set']['pdflatex']) ? \ + @rc['program_set']['pdflatex'] : '' + (is.nil? || is==true) ? 'pdflatex' : is + end + def postgresql + is=(defined? @rc['program_set']['postgresql']) ? \ + @rc['program_set']['postgresql'] : '' + (is.nil? || is==true) ? 'postgresql' : is + end + def sqlite + is=(defined? @rc['program_set']['sqlite']) ? \ + @rc['program_set']['sqlite'] : '' + (is.nil? || is==true) ? 'sqlite' : is + end + self + end + def i18n + def language # language settings + m=/.+\/\S+?\~(\S+)/ + pwd=Dir.pwd + conf=(defined? @rc['default']['language']) \ + ? @rc['default']['language'] : nil + l=if pwd=~ m then pwd[m,1] #2 directory: by visible directory name + elsif conf then @rc['default']['language'] #3 config: from sisurc.yaml + else defaults[:language] #4 sisu: program default + end #1 document: param gets + SiSU_Env::StandardiseLanguage.new(l) + end + #def multilingual + # x=(defined? @rc['output_structure']['multilingual'] \ + # && @rc['output_structure']['multilingual'] ==true) \ + # ? true : false + #end + #def bundle + # x=(defined? @rc['output_structure']['bundle'] \ + # && @rc['output_structure']['bundle'] ==true) \ + # ? true : false + #end + def lang_filename(l) + @lang={} + x=if output_dir_structure.by_language_code? + (( defined? @rc['default']['language_file']) \ + && @rc['default']['language_file'] != nil) \ + ? @rc['default']['language_file'] + : 1 + else 0 + end + if (l != defaults[:language_code]) \ + or (language.code != defaults[:language_code]) #watch + if x==1 then @lang[:pre],@lang[:mid],@lang[:post]="#{l}.",'','' + elsif x==2 then @lang[:pre],@lang[:mid],@lang[:post]='',".#{l}",'' + elsif x==3 then @lang[:pre],@lang[:mid],@lang[:post]='','',".#{l}" + else @lang[:pre],@lang[:mid],@lang[:post]='','','' + end + else @lang[:pre],@lang[:mid],@lang[:post]='','','' + end + @lang + end + self + end + def file_encoding + is='' + if defined? @rc['program_set']['file_encoding'] + is=@rc['program_set']['encoding'] + end + if is.nil? \ + or is==true + is='encoding' + end + is + end + def papersize # paper settings, default overidden in param if set within document + (defined? @rc['default']['papersize']) \ + ? @rc['default']['papersize'].downcase + : (defaults[:papersize].downcase) + end + def sisupod_gen(fns_pod) + sisupod_gen_v3(fns_pod) + end + def sisupod_gen_v3(fns_pod) + pwd=Dir.pwd + sisupod_processing_path= + processing_path.processing + '/' + Gt[:sisupod] + if FileTest.directory?(sisupod_processing_path) \ + or FileTest.file?(sisupod_processing_path) + FileUtils::rm_rf(sisupod_processing_path) + end + unless FileTest.directory?(sisupod_processing_path) + FileUtils::mkdir_p(sisupod_processing_path) + end + f_pod=if FileTest.file?("#{Dir.pwd}/#{fns_pod}") + "#{Dir.pwd}/#{fns_pod}" + elsif FileTest.file?(fns_pod) + fns_pod + end + if f_pod \ + && FileTest.file?(f_pod) + (SiSU_Env::SystemCall.new.program_found?('tree')) \ + ? 'tree ' + processing_path.processing + '/' + Gt[:sisupod] + : '' + if FileTest.directory?(processing_path.processing) + Dir.chdir(processing_path.processing) + system(%{tar xJf #{f_pod}}) + Dir.chdir(pwd) + end + #system(tree) #enable if (/[vVM]/) + else + SiSU_Screen::Ansi.new( + '', + '*WARN* file not found: ' + fns_pod + ).warn unless @md.opt.act[:quiet][:set]==:on + end + sisupod_processing_path + end + def sisupod_gen_v2(fns_pod) + sisupod_processing_path= + processing_path.processing + '/' + Gt[:sisupod] + if FileTest.directory?(sisupod_processing_path) \ + or FileTest.file?(sisupod_processing_path) + FileUtils::rm_rf(sisupod_processing_path) + end + unless FileTest.directory?(sisupod_processing_path) + FileUtils::mkdir_p(sisupod_processing_path) + end + (FileTest.file?(fns_pod)) \ + ? system("unzip -q #{fns_pod} -d #{processing_path.processing}") + : (SiSU_Screen::Ansi.new( + '', + "*WARN* file not found: #{fns_pod}" + ).warn unless @md.opt.act[:quiet][:set]==:on) + sisupod_processing_path + end + end +end +__END__ +#+END_SRC + +** se_info_port.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_info_port.rb" +# <> +module SiSU_Info_Port + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + require_relative 'se_info_env' # se_info_env.rb + class InfoPort < SiSU_Info_Env::InfoEnv # se_info_env.rb + def initialize + @env=SiSU_Env::InfoEnv.new + end + def webrick + @env.port.webrick_port + end + end +end +__END__ +#+END_SRC + +** se_info_system.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_info_system.rb" +# <> +module SiSU_Info_Sys_Gen + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + class InfoSystemGen + begin + require 'rbconfig' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('rbconfig NOT FOUND (LoadError)') + end + @@user, @@home, @@hostname, @@pwd, @@sisu_etc, @@host, @@arch, @@rbver, @@dir_arch, @@dir_sitearch, @@dir_bin, @@locale, @@rc,@@sisurc_path,@@ad= + ENV['USER'],ENV['HOME'],ENV['HOSTNAME'],ENV['PWD'],RbConfig::CONFIG['sysconfdir'] + '/sisu',RbConfig::CONFIG['host'],RbConfig::CONFIG['arch'],%x{ruby -v}.strip,RbConfig::CONFIG['archdir'],RbConfig::CONFIG['sitearchdir'],RbConfig::CONFIG['bindir'],%x{locale charmap}.strip,nil, nil, {} # %x{ruby -v}.strip # RbConfig::CONFIG['rb_ver'] + out=RbConfig::CONFIG['localstatedir'] + etc=RbConfig::CONFIG['sysconfdir'] + '/sisu' + share=RbConfig::CONFIG['datadir'] + '/sisu' + data=RbConfig::CONFIG['datadir'] + '/doc/sisu' + m=/.+\/(?:src\/)?(\S+)/m # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m + @stub_pwd ||=@@pwd[m,1] + @base_markup_dir_stub=SiSU_Utils::Path.new.base_markup_stub + prcss_dir='_sisu_processing_' + prcss_dir_tmp_root="/tmp/#{prcss_dir}" + prcss_dir_stub="#{prcss_dir}/#{@stub_pwd}" + if @@user + tmp_processing="#{prcss_dir_tmp_root}/#{@@user}/#{@base_markup_dir_stub}" + tmp_processing_individual="#{prcss_dir_tmp_root}/#{@@user}/#{@base_markup_dir_stub}" + else #error + tmp_processing=tmp_processing_individual="/tmp/#{prcss_dir_stub}" + end + processing_pth=tmp_processing_individual + processing_dir=prcss_dir + processing_git="#{Dir.pwd}/#{Gt[:grotto]}" + #user=ENV['USER'] + port_pgsql=if defined? ENV['PGPORT'] \ + and not (ENV['PGPORT'].nil? \ + || ENV['PGPORT'].empty?) \ + and ENV['PGPORT']=~/^\d+$/ + ENV['PGPORT'] + else '5432' + end + IMAGES=:images + SISU_ETC=:sisu_etc + SISU_SHARE=:sisu_share + SAMPLE_DATA_PATH=:sample_data_path + IMAGE_STUB=:image_stub + STYLESHEET_STUB=:stylesheet_stub + IMAGE_LOCAL=:image_local + WEBSERV_PATH=:webserv_path + WEBSERV_MAN=:webserv_man + WEBSERV_PHP=:webserv_php + WEBSERV_CGI=:webserv_cgi + WEBSERV_RSS=:webserv_rss + WEBSERV_SQLITE=:webserv_sqlite + OUTPUT_LOCAL=:output_local + PROCESSING_DIR=:processing_dir + PROCESSING_PATH=:processing_path + PROCESSING_DIR_TMP_ROOT=:processing_dir_tmp_root + PROCESSING_PATH_TMP_BASE=:processing_path_tmp_base + PROCESSING_AO=:processing_ao + PROCESSING_TUNE=:processing_tune + PROCESSING_LATEX=:processing_latex + PROCESSING_TEXINFO=:processing_texinfo + PROCESSING_LOUT=:processing_lout + PROCESSING_SQLITE=:processing_sqlite + PROCESSING_POSTGRESQL=:processing_postgresql + PROCESSING_ENCODING=:processing_encoding + PROCESSING_GIT=:processing_git + PAPERSIZE=:papersize + #LANGUAGE=:language + #LANGUAGE_CODE=:language_code + MULTILINGUAL=:multilingual + BUNDLE=:bundle + CONCORD_MAX=:concord_max + DIGEST=:digest + WEBSERV_HOST_CGI=:webserv_host_cgi + WEBSERV_PORT_CGI=:webserv_port_cgi + POSTGRESQL_USER=:postgresql_user + POSTGRESQL_PORT=:postgresql_port + SQLITE_USER=:sqlite_user + SQLITE_PATH=:sqlite_path + SQLITE_PORT=:sqlite_port + DEFAULT_DIR={ + IMAGES => '_sisu/image', + SISU_ETC => etc, + SISU_SHARE => share, + SAMPLE_DATA_PATH => data, + IMAGE_STUB => '_sisu/image', + STYLESHEET_STUB => '_sisu/css', + IMAGE_LOCAL => @@pwd + '/_sisu/image', + WEBSERV_PATH => out + '/www', + #WEBSERV_DIR => www, # uncomment for urls... + #WEBSERV_IMAGE => out + '/www/_sisu/image', + WEBSERV_MAN => out + '/www/man', #alter + WEBSERV_PHP => out + '/www/php', + WEBSERV_CGI => '/usr/lib/cgi-bin', + WEBSERV_RSS => out + '/www/feed', + WEBSERV_SQLITE => out + '/www/sqlite', + OUTPUT_LOCAL => @@home + '/sisu_www', + PROCESSING_DIR => processing_dir, + PROCESSING_PATH => processing_pth, + PROCESSING_DIR_TMP_ROOT => prcss_dir_tmp_root, + PROCESSING_PATH_TMP_BASE => processing_pth, + PROCESSING_AO => 'ao', + PROCESSING_TUNE => 'tune', + PROCESSING_LATEX => 'tex', + PROCESSING_TEXINFO => 'texinfo', + PROCESSING_SQLITE => 'sqlite', + PROCESSING_POSTGRESQL=> 'postgresql', + PROCESSING_ENCODING => 'encoding', + PROCESSING_GIT => processing_git, + #TEXINFO_STUB => 'texinfo', + PAPERSIZE => 'A4', #A4, US_letter, book_b5, book_a5, US_legal + #LANGUAGE => 'English', + #LANGUAGE_CODE => 'en', #change, unecessary duplication though currently used + MULTILINGUAL => false, + BUNDLE => false, + CONCORD_MAX => 260000, + DIGEST => :sha256, + WEBSERV_HOST_CGI => 'http://localhost', + WEBSERV_PORT_CGI => 8081, #8111,8123,8081 + POSTGRESQL_USER => @@user, #'ralph', # change user !!! + POSTGRESQL_PORT => port_pgsql, + #POSGRESQL_LINKS_PATH => '', + SQLITE_USER => @@user, + SQLITE_PATH => @@user, #?? + SQLITE_PORT => '**', + } + @@default_dir=DEFAULT_DIR + m=/.+\/(?:src\/)?(\S+)/m # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m + @@pwd=@pwd=SiSU_Utils::Path.new.base_markup + attr_accessor :user,:home,:hostname,:pwd,:host,:arch,:rbver,:dir_arch,:dir_sitearch,:dir_bin,:locale,:webserv_path,:webserv_host_cgi,:webserv_port_cgi,:default_dir,:rc_path,:ad_path + def initialize + @user, @home, @hostname, @pwd, @sisu_etc, @host, @arch, @rbver, @dir_arch, @dir_sitearch, @dir_bin, @locale, @default_dir= + @@user,@@home,@@hostname,@@pwd,@@sisu_etc,@@host,@@arch,@@rbver,@@dir_arch,@@dir_sitearch,@@dir_bin,@@locale,@@default_dir + #note rbver is duplicated in InfoVersion + end + end +end +module SiSU_Info_Sys + class InfoSystem < SiSU_Info_Sys_Gen::InfoSystemGen + include Singleton + def initialize + super() + end + end +end +__END__ +#+END_SRC + +** se_load.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_load.rb" +# <> +module SiSU_Load + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + class Load + def initialize(prog,mandatory=false) + @prog,@mandatory=prog,mandatory + end + def prog + load_prog=false + $:.each do |reqpath| + if FileTest.exist?("#{reqpath}/#{@prog}.rb") + load_prog=true + #SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).ok("#{reqpath}/#{@prog}.rb loaded") + break + #else SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).warn("#{reqpath}/#{@prog}.rb not found") + end + end + if load_prog \ + and @prog=~/dbi/ + begin + require 'dbi' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('dbi NOT FOUND (LoadError)') + end + end + if load_prog + begin + require @prog + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error("#{@prog} NOT FOUND (LoadError)") + end + else + @mandatory \ + ? (SiSU_Screen::Ansi.new(@prog,"*WARN* module required: #{@prog}").warn) + : '' #(SiSU_Screen::Ansi.new(@prog,"*WARN* #{@prog} load requested").warn) + end + load_prog + end + def prog? + load_prog=false + $:.each do |reqpath| + if FileTest.exist?("#{reqpath}/#{@prog}.rb"); load_prog=true + break + end + end + load_prog + end + end +end +__END__ +#+END_SRC + +** se_processing.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_processing.rb" +# <> +module SiSU_Processing_Settings + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + class ProcessingSettings + def initialize(md) + @md=md + end + def cnf_rc #sisurc.yml + @rc=SiSU_Env::GetInit.new.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 + (defined? @md.make) \ + ? @md.make + : nil + end + def cmd_rc_act #command-line rc + @cmd_rc_act=@md.opt.opt_act + end + def build + def ocn? + if cmd_rc_act[:ocn][:set]==:on + true + elsif cmd_rc_act[:ocn][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.ocn? \ + and doc_rc.toc? ==:off + false + elsif env_rc.build.ocn? ==:off + false + else + true + end + end + def plaintext_ocn? + if cmd_rc_act[:txt_ocn][:set]==:on \ + or cmd_rc_act[:ocn][:set]==:on + true + elsif cmd_rc_act[:txt_ocn][:set]==:off \ + or cmd_rc_act[:ocn][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.ocn? \ + and doc_rc.toc? ==:off + false + elsif env_rc.build.ocn? ==:off + false + else + true + end + end + def odt_ocn? + if cmd_rc_act[:odt_ocn][:set]==:on \ + or cmd_rc_act[:ocn][:set]==:on + true + elsif cmd_rc_act[:odt_ocn][:set]==:off \ + or cmd_rc_act[:ocn][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.ocn? \ + and doc_rc.toc? ==:off + false + elsif env_rc.build.ocn? ==:off + false + else + true + end + end + def html_strict? + if cmd_rc_act[:html_strict][:set]==:on + true + elsif cmd_rc_act[:html_strict][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.html_strict? \ + and doc_rc.html_strict? ==:on + true + else + false + end + end + def toc? + if cmd_rc_act[:toc][:set]==:on + true + elsif cmd_rc_act[:toc][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.toc? \ + and doc_rc.toc? ==:off + false + elsif env_rc.build.toc? ==:off + false + else + true + end + end + def manifest? + if cmd_rc_act[:manifest][:set]==:on + true + elsif cmd_rc_act[:manifest][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.manifest? \ + and doc_rc.manifest? ==:off + false + elsif env_rc.build.manifest? ==:off + false + else + true + end + end + def links_to_manifest? + if cmd_rc_act[:links_to_manifest][:set]==:on + true + elsif cmd_rc_act[:links_to_manifest][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.links_to_manifest? \ + and doc_rc.links_to_manifest? ==:off + false + elsif env_rc.build.links_to_manifest? ==:off + false + else + true + end + end + def metadata? + if cmd_rc_act[:metadata][:set]==:on + true + elsif cmd_rc_act[:metadata][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.metadata? \ + and doc_rc.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_act[:minitoc][:set]==:on + true + elsif cmd_rc_act[:minitoc][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.minitoc? \ + and doc_rc.minitoc? ==:off + false + elsif env_rc.build.minitoc? ==:off + false + else + false + end + end + def manifest_minitoc? + if html_top_band? == false #one form of navigation necessary + true + elsif cmd_rc_act[:manifest_minitoc][:set]==:on \ + || cmd_rc_act[:minitoc][:set]==:on + true + elsif cmd_rc_act[:manifest_minitoc][:set]==:off \ + || cmd_rc_act[:minitoc][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.manifest_minitoc? \ + and (doc_rc.manifest_minitoc? ==:off \ + || doc_rc.minitoc? ==:off) + false + elsif env_rc.build.manifest_minitoc? ==:off \ + || env_rc.build.minitoc? ==:off + false + elsif minitoc? == false + false + else + false + end + end + def html_minitoc? + if html_top_band? == false #one form of navigation necessary + true + elsif cmd_rc_act[:html_minitoc][:set]==:on \ + || cmd_rc_act[:minitoc][:set]==:on + true + elsif cmd_rc_act[:html_minitoc][:set]==:off \ + || cmd_rc_act[:minitoc][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.html_minitoc? \ + and (doc_rc.html_minitoc? ==:off \ + || doc_rc.minitoc? ==:off) + false + elsif env_rc.build.html_minitoc? ==:off \ + || env_rc.build.minitoc? ==:off + false + elsif minitoc? == false + false + else + false + end + end + def html_top_band? + if cmd_rc_act[:html_top_band][:set]==:on + true + elsif cmd_rc_act[:html_top_band][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.html_top_band? \ + and doc_rc.html_top_band? ==:off + false + elsif env_rc.build.html_top_band? ==:off + false + else + true + end + end + def html_navigation? + if cmd_rc_act[:html_navigation][:set]==:on + true + elsif cmd_rc_act[:html_navigation][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.html_navigation? \ + and doc_rc.html_navigation? ==:off + false + elsif env_rc.build.html_navigation? ==:off + false + else + true + end + end + def html_navigation_bar? + if cmd_rc_act[:html_navigation_bar][:set]==:on + true + elsif cmd_rc_act[:html_navigation_bar][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.html_navigation_bar? \ + and doc_rc.html_navigation_bar? ==:off + false + elsif env_rc.build.html_navigation_bar? ==:off + false + else + false + end + end + def search_form? + if cmd_rc_act[:search_form][:set]==:on + true + elsif cmd_rc_act[:search_form][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.html_search_form? \ + and doc_rc.search_form? ==:off + false + elsif env_rc.build.search_form? ==:off + false + else + true + end + end + def html_search_form? + if cmd_rc_act[:html_search_form][:set]==:on \ + || cmd_rc_act[:search_form][:set]==:on + true + elsif cmd_rc_act[:html_search_form][:set]==:off \ + || cmd_rc_act[:search_form][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.html_search_form? \ + and (doc_rc.html_search_form? ==:off \ + || doc_rc.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_act[:html_right_pane][:set]==:on + true + elsif cmd_rc_act[:html_right_pane][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.html_right_pane? \ + and doc_rc.html_right_pane? ==:off + false + elsif env_rc.build.html_right_pane? ==:off + false + else + true + end + end + def segsubtoc? + if cmd_rc_act[:segsubtoc][:set]==:on + true + elsif cmd_rc_act[:segsubtoc][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.segsubtoc? \ + and doc_rc.segsubtoc? ==:off + false + elsif env_rc.build.segsubtoc? ==:off + false + else + true + end + end + self + end + def ocn_html_identifier + (build.html_strict?) \ + ? Mx[:ocn_id_char] + : '' + end + def output_dir_structure + def by_language_code? + if cmd_rc_act[:output_by][:set] == :language + true + elsif cmd_rc_act[:output_by][:set] == :filetype \ + or cmd_rc_act[:output_by][:set] == :filename + false + elsif cmd_rc_act[:output_by][:set] == :language + true + else + env_rc.output_dir_structure.by_language_code? + end + end + def by_filetype? + if cmd_rc_act[:output_by][:set] == :filetype + true + elsif cmd_rc_act[:output_by][:set] == :language \ + or cmd_rc_act[:output_by][:set] == :filename + false + elsif cmd_rc_act[:output_by][:set] == :filetype + true + else + env_rc.output_dir_structure.by_filetype? + end + end + def by_filename? + if cmd_rc_act[:output_by][:set] == :filename + true + elsif cmd_rc_act[:output_by][:set] == :language \ + or cmd_rc_act[:output_by][:set] == :filetype + false + elsif cmd_rc_act[:output_by][:set] == :filename + true + else + env_rc.output_dir_structure.by_filename? + end + end + def multilingual? + by_language_code? + end + def dump? + ((cmd_rc_act[:dump][:bool] \ + && cmd_rc_act[:dump][:inst]) \ + || (env_rc.output_dir_structure.dump?)) \ + ? true + : false + end + def redirect? + ((cmd_rc_act[:redirect][:bool] \ + && cmd_rc_act[:redirect][:inst]) \ + || (env_rc.output_dir_structure.redirect?)) \ + ? true + : false + end + def dump_or_redirect? + ((dump?) || (redirect?)) \ + ? true + : false + end + def by? + if dump? + :dump + elsif redirect? + :redirect + elsif by_language_code? + :language + elsif by_filetype? + :filetype + elsif by_filename? + :filename + else #recheck current default + :language + end + end + self + end + end +end +module SiSU_Info_Processing_Flag + class InfoProcessingFlag + attr_accessor :color,:act_0,:act_1,:act_2,:act_3,:act_4,:act_5,:act_6,:act_7,:act_8,:act_9 + def initialize + @rc=SiSU_Get_Init::GetInit.new.sisu_yaml.rc + end + def color #configurable processing flag shortcuts + (defined? @rc['flag']['color']) \ + ? @rc['flag']['color'] + : false + end + def act_0 #configurable processing flag shortcuts + def default + '--manifest --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --verbose' + end + def str + if defined? @rc['flag']['act0'] \ + and @rc['flag']['act0'].is_a?(String) + @rc['flag']['act0'] + elsif defined? @rc['flag']['default'] \ + and @rc['flag']['default'].is_a?(String) + @rc['flag']['default'] + else default + end + end + def arr + str.scan(/\S+/) + end + self + end + def act_1 #configurable processing flag shortcuts + def default + '--manifest --text --html' + end + def str + if defined? @rc['flag']['act1'] \ + and @rc['flag']['act1'].is_a?(String) + @rc['flag']['act1'] + elsif defined? @rc['flag']['i'] \ + and @rc['flag']['i'].is_a?(String) + @rc['flag']['i'] + else default + end + end + def arr + str.scan(/\S+/) + end + self + end + def act_2 #configurable processing flag shortcuts + def default + '--manifest --text --html --epub --pdf' + end + def str + if defined? @rc['flag']['act2'] \ + and @rc['flag']['act2'].is_a?(String) + @rc['flag']['act2'] + elsif defined? @rc['flag']['ii'] \ + and @rc['flag']['ii'].is_a?(String) + @rc['flag']['ii'] + else default + end + end + def arr + str.scan(/\S+/) + end + self + end + def act_3 #configurable processing flag shortcuts + def default + '--manifest --text --html --epub --pdf --concordance --qrcode' + end + def str + if defined? @rc['flag']['act3'] \ + and @rc['flag']['act3'].is_a?(String) + @rc['flag']['act3'] + elsif defined? @rc['flag']['iii'] \ + and @rc['flag']['iii'].is_a?(String) + @rc['flag']['iii'] + else default + end + end + def arr + str.scan(/\S+/) + end + self + end + def act_4 #configurable processing flag shortcuts + def default + '--manifest --text --html --epub --pdf --concordance --qrcode --digest --odf --docbook' + end + def str + if defined? @rc['flag']['act4'] \ + and @rc['flag']['act4'].is_a?(String) + @rc['flag']['act4'] + elsif defined? @rc['flag']['iv'] \ + and @rc['flag']['iv'].is_a?(String) + @rc['flag']['iv'] + else default + end + end + def arr + str.scan(/\S+/) + end + self + end + def act_5 #configurable processing flag shortcuts + def default + '--manifest --text --html --epub --pdf --concordance --qrcode --digest --odf --docbook --sqlite' + end + def str + if defined? @rc['flag']['act5'] \ + and @rc['flag']['act5'].is_a?(String) + @rc['flag']['act5'] + elsif defined? @rc['flag']['v'] \ + and @rc['flag']['v'].is_a?(String) + @rc['flag']['v'] + else default + end + end + def arr + str.scan(/\S+/) + end + self + end + def act_6 #configurable processing flag shortcuts + def default + '--manifest --text --html --epub --pdf --concordance --qrcode --digest --odf --docbook --sqlite --xhtml --xml-sax --xml-dom' + end + def str + if defined? @rc['flag']['act6'] \ + and @rc['flag']['act6'].is_a?(String) + @rc['flag']['act6'] + else default + end + end + def arr + str.scan(/\S+/) + end + self + end + def act_7 #configurable processing flag shortcuts + def default + '--manifest --text --html --epub --pdf --concordance --qrcode --digest --odf --docbook --sqlite --xhtml --xml-sax --xml-dom --source --sisupod' + end + def str + if defined? @rc['flag']['act7'] \ + and @rc['flag']['act7'].is_a?(String) + @rc['flag']['act7'] + else default + end + end + def arr + str.scan(/\S+/) + end + self + end + def act_8 #configurable processing flag shortcuts + def default + '--manifest --text --html --epub --pdf --concordance --qrcode --digest --odf --docbook --xhtml --xml-sax --xml-dom --pg --update' + end + def str + if defined? @rc['flag']['act8'] \ + and @rc['flag']['act8'].is_a?(String) + @rc['flag']['act8'] + else default + end + end + def arr + str.scan(/\S+/) + end + self + end + def act_9 #configurable processing flag shortcuts + def default + '--manifest --text --html --epub --pdf --concordance --qrcode --digest --odf --docbook --xhtml --xml-sax --xml-dom --pg --update --source --sisupod' + end + def str + if defined? @rc['flag']['act9'] \ + and @rc['flag']['act9'].is_a?(String) + @rc['flag']['act9'] + else default + end + end + def arr + str.scan(/\S+/) + end + self + end + def act_info + puts 'current "act" settings:' + acts=%w[ act_0 act_1 act_2 act_3 act_4 act_5 act_6 act_7 act_8 act_9 ] + acts.each_with_index do |m,i| + puts '--act-' + i.to_s + ' == ' \ + + send(m).str + end + end + end +end +__END__ +#+END_SRC + +** se_programs.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_programs.rb" +# <> +module SiSU_Sys_Call + begin + require 'singleton' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('singleton NOT FOUND (LoadError)') + end + class SystemCall + @@locale_flag=false + def initialize(input='',output='',opt_or_cmd='') + @input,@output=input,output + (opt_or_cmd.is_a?(SiSU_Commandline::Options)) \ + ? (@cmd,@opt=opt_or_cmd.cmd,opt_or_cmd) + : (@cmd,@opt=opt_or_cmd,nil) #cmd.is_a?(String) + @prog=SiSU_Env::InfoProgram.new + @sys=SiSU_Info_Sys::InfoSystem.instance + end + def program_found?(program) + found=`which #{program} 2>&1` #`whereis #{program}` + (found =~/bin\/#{program}\b/) ? true : false + end + def locale #locales utf8 or other + unless @@locale_flag + @@locale_flag=true + end + @sys.locale + end + def file_encoding(filename,act='') #file encoding + program='file' + fnsp=SiSU_Env::InfoEnv.new(filename).source_file_with_path + if program_found?(program) + encoding=%x{file -L #{fnsp}}.strip + encoding=encoding.gsub(/#{fnsp}:(\s+|$)/,'') + encoding=if encoding \ + and not encoding.empty? + encoding + else 'UTF-8 assumed, encoding undetermined' + end + if act[:verbose_plus][:set] ==:on \ + or act[:maintenance][:set] ==:on + puts encoding + end + encoding + else + 'UTF-8 assumed, file encoding check program unavailable' + end + end + def wc #word count + program='wc' + if program_found?(program) \ + and locale !~/utf-?8/i + true + else + program_ref="(not available)" \ + unless program_found?(program) + program_ref="(UTF-8)" \ + if locale =~/utf-?8/i + false + end + end + def rcs #rcs for document markup data + program='rcs' + program_ref="\n\t\tdocument version information requested" + if program_found?(program); true + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + warn("#{program} is not installed #{program_ref}") + false + end + end + def cvs #cvs for document markup data + program='cvs' + program_ref="\n\t\tdocument version information requested" + if program_found?(program); true + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + warn("#{program} is not installed #{program_ref}") + false + end + end + def po4a #po4a + program='po4a' + program_ref="\n\t\tpo4a" + if program_found?(program); true + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + warn("#{program} is not installed #{program_ref}") + false + end + end + def zip #zip + program='zip' + program_ref="\n\t\tused to in the making of number of file formats, odf, epub" + if program_found?(program); true + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + mark("*WARN* #{program} is not installed #{program_ref}") + false + end + end + def openssl #openssl for digests + program='openssl' + program_ref="\n\t\tused to generate requested source document identification digest" + if program_found?(program); true + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + warn("#{program} is not installed #{program_ref}") + false + end + end + def md5(filename) #md5 dgst + program='openssl' + program_ref="\n\t\tmd5 digest requested" + if program_found?(program) + pwd=Dir.pwd + Dir.chdir(File.dirname(filename)) + dgst=%x{openssl dgst -md5 #{File.basename(filename)}}.strip #use file name without file path + Dir.chdir(pwd) + dgst.scan(/\S+/) + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + warn("#{program} is not installed #{program_ref}") + false + end + end + def sha256(filename) #sha dgst + program='openssl' + program_ref="\n\t\tsha digest requested" + if program_found?(program) + pwd=Dir.pwd + Dir.chdir(File.dirname(filename)) + dgst=%x{openssl dgst -sha256 #{File.basename(filename)}}.strip #use file name without file path + Dir.chdir(pwd) + dgst.scan(/\S+/) + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + warn("#{program} is not installed #{program_ref}") + false + end + end + def sha512(filename) #sha dgst + program='openssl' + program_ref="\n\t\tsha digest requested" + if program_found?(program) + pwd=Dir.pwd + Dir.chdir(File.dirname(filename)) + dgst=%x{openssl dgst -sha512 #{File.basename(filename)}}.strip #use file name without file path + Dir.chdir(pwd) + dgst.scan(/\S+/) + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + warn("#{program} is not installed #{program_ref}") + false + end + end + def psql #psql + program='psql' + program_ref="\n\t\tpsql requested" + if program_found?(program); true + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + warn("#{program} is not installed #{program_ref}") + false + end + end + def create_pg_db(dbname_stub=nil) #createdb + unless dbname_stub + @pwd ||=Dir.pwd + m=/.+\/(?:src\/)?(\S+)/im # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m + dbname_stub=@pwd[m,1] + end + program='createdb' + db_name="#{Db[:name_prefix]}#{dbname_stub}" + program_ref="\n\t\tcreatedb dbname #{db_name} #for postgresql database creation" + (program_found?(program)) \ + ? system("#{program} #{dbname_name}") + : (STDERR.puts "\t*WARN* #{program} is not available #{program_ref}") + end + def relaxng(cmd='') #trang - convert between different schema languages for XML + program='trang' + program_ref="\n\t\tsee " + (program_found?(program)) \ + ? system("#{program} #{@input} #{@output}") + : (STDERR.puts "\t*WARN* #{program} is not installed #{program_ref}" if cmd =~/V/) + end + def qrencode #qrcode - for generating QR code + program='qrencode' + program_ref="\n\t\tsee " + found=(program_found?(program)) ? true : false + found \ + ? (system(%{ + echo "#{@input}" | #{program} -s 3 -o #{@output} + })) + : (STDERR.puts "\t*WARN* #{program} is not installed #{program_ref}" if @cmd =~/V/) + #found + end + def imagemagick #imagemagick is a image manipulation program + program='identify' + #program_ref="\n\t\tsee " + found=(program_found?(program)) ? true : false + #STDERR.puts "\t*WARN* #{program} is not installed #{program_ref}" unless found + found + end + def graphicsmagick #graphicsmagick is a image manipulation program + program='gm' + #program_ref="\n\t\tsee " + found=(program_found?(program)) ? true : false + #STDERR.puts "\t*WARN* #{program} is not installed #{program_ref}" unless found + found + end + def well_formed? #tidy - check for well formed xml xhtml etc. + program=@prog.tidy + program_ref="\n\t\tsee " + (program_found?(program)) \ + ? system("#{@prog.tidy} -xml #{@input} > #{@output}") + : (STDERR.puts "\t*WARN* #{program} is not installed #{program_ref}") + end + def tex2pdf_engine + progs=['xetex','xelatex','pdflatex','pdfetex','pdftex'] + @pdfetex_flag=false + @cmd ||='' + @texpdf=nil + progs.each do |program| + if program_found?(program) + @texpdf=program if program =~/xetex|xelatex|pdftex|pdflatex/ + @pdfetex_flag=true + break + end + end + if @pdfetex_flag==false + @texpdf=progs.join(', ') + end + @texpdf + end + def latex2pdf(md,papersize='a4') #convert from latex to pdf + tell=if @cmd =~/[MV]/ + '' + elsif @cmd =~/[v]/ + %q{2>&1 | grep -v ' WARNING '} + else %q{2>&1 | grep -v '$'} + end + mode='batchmode' #mode='nonstopmode' + texpdf=tex2pdf_engine + if @pdfetex_flag + texpdf_cmd=case texpdf + when /xetex/ + %{#{texpdf} -interaction=#{mode} -fmt=xelatex #{@input} #{tell}\n} + when /xelatex/ + %{#{texpdf} -interaction=#{mode} -papersize="#{papersize}" #{@input} #{tell}\n} + when /pdftex/ + "#{texpdf} -interaction=#{mode} -fmt=pdflatex #{@input} #{tell}\n" + when /pdflatex/ + "#{texpdf} -interaction=#{mode} #{@input} #{tell}\n" + end + system(texpdf_cmd) + else STDERR.puts "\t*WARN* none of the following programs are installed: #{@texpdf}" + end + end + def makeinfo #texinfo + program='makeinfo' + options='' #'--force' #'' + program_ref="\n\t\tsee http://www.gnu.org/software/texinfo/" + (program_found?(program)) \ + ? system("#{program} #{options} #{@input}\n") + : (STDERR.puts "\t*WARN* #{program} is not installed #{program_ref}") + end + def scp + puts "scp -Cr #{@input} #{@output}" if @cmd =~/[vVM]/ + puts "scp disabled" + end + def rsync(action='',chdir=nil) + program='rsync' + if program_found?(program) + vb=if @cmd =~/q/; 'q' + elsif @cmd =~/v/; 'v' + else '' + end + cX=SiSU_Screen::Ansi.new(@cmd).cX + msg=(@cmd =~/q/) ? '' : %{ && echo " #{cX.grey}OK: #{@input} -> #{@output}#{cX.off}"} + amp=(@opt \ + && @opt.files.length > 1) \ + ? '' + : ((@cmd =~/[vVM]/) ? '' : '&') + rsync_cmd="rsync -az#{vb} #{action} #{@input} #{@output}" + puts rsync_cmd if @cmd =~/[vVM]/ + dir_change=dir_return=nil + if not chdir.nil? \ + && chdir != Dir.pwd + dir_change=Dir.chdir(chdir) + dir_return=Dir.pwd + end + dir_change if dir_change + system(" + #{rsync_cmd} #{msg} #{amp} + ") + dir_return if dir_return + else STDERR.puts "\t*WARN* #{program} not found" + end + end + def rm + if @cmd =~/^-Z[mMvVq]*$/; FileUtils::rm_rf(@input) + elsif @cmd =~/V/; FileUtils::rm(@input) + elsif @cmd !~/q/; FileUtils::rm(@input) + elsif @cmd =~/q/; FileUtils::rm(@input) + else STDERR.puts "\t*WARN* operation ignored" + end + end + end +end +module SiSU_Info_Program + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + require_relative 'se_info_env' # se_info_env.rb + class InfoProgram < SiSU_Info_Env::InfoEnv # se_info_env.rb + attr_accessor :editor,:wc,:tidy,:rexml,:pdflatex,:postgresql,:sqlite + def initialize + prog=SiSU_Env::InfoEnv.new.program + @editor, @wc, @tidy, @rexml, @pdflatex, @postgresql, @sqlite= + prog.text_editor,prog.wc,prog.tidy,prog.rexml,prog.pdflatex,prog.postgresql,prog.sqlite + end + end +end +module SiSU_Info_Set + require_relative 'se_info_env' # se_info_env.rb + class InfoSettings < SiSU_Info_Env::InfoEnv # se_info_env.rb + def permission?(prog) # program defaults + (defined? @rc['permission_set'][prog]) \ + ? @rc['permission_set'][prog] + : false + end + def program?(prog) # program defaults + (defined? @rc['program_set'][prog]) \ + ? @rc['program_set'][prog] + : false + end + end +end +__END__ +#+END_SRC + +** se_remotes.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_remotes.rb" +# <> +module SiSU_Info_Remote_Host + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + class InfoRemoteHost + def initialize + @rc=SiSU_Env::GetInit.new.sisu_yaml.rc + end + def remote_host #see InfoRemote remote_host_base_general + r=[] + r=if (defined? @rc['remote'] \ + and @rc['remote'].is_a?(Array)) + r_array=@rc['remote'] + r_array.each_with_index do |renv,i| + r[i]={} + if defined? renv['user'] \ + and defined? renv['host'] + end + r[i][:user]=renv['user'] + r[i][:host]=renv['host'] + r[i][:path]=if defined? renv['path'] + renv['path'] + else '' + end + r[i][:name]="#{r[i][:user]}@#{r[i][:host]}:#{r[i][:path]}" + end + r + elsif (defined? @rc['remote'] \ + and @rc['remote'].is_a?(Hash) \ + and defined? @rc['remote']['user'] \ + and defined? @rc['remote']['host']) + r[0]={} + r[0][:user]=@rc['remote']['user'] + r[0][:host]=@rc['remote']['host'] + r[0][:path]=if defined? @rc['remote']['path'] + @rc['remote']['path'] + else '' + end + r[0][:name]="#{r[0][:user]}@#{r[0][:host]}:#{r[0][:path]}" + r + else + r[0]={} + r[0][:name]='.' + r[0][:user]='' + r[0][:host]='' + r[0][:path]='' + #puts "no remote host or user" + r + end + end + def rhost + def r1 + (defined? SiSU_Env::InfoRemoteHost.new.remote_host[0][:name]) \ + ? (SiSU_Env::InfoRemoteHost.new.remote_host[0][:name]) + : nil + end + def r2 + (defined? SiSU_Env::InfoRemoteHost.new.remote_host[1][:name]) \ + ? (SiSU_Env::InfoRemoteHost.new.remote_host[1][:name]) + : nil + end + def r3 + (defined? SiSU_Env::InfoRemoteHost.new.remote_host[2][:name]) \ + ? (SiSU_Env::InfoRemoteHost.new.remote_host[2][:name]) + : nil + end + def r4 + (defined? SiSU_Env::InfoRemoteHost.new.remote_host[3][:name]) \ + ? (SiSU_Env::InfoRemoteHost.new.remote_host[3][:name]) + : nil + end + def r5 + (defined? SiSU_Env::InfoRemoteHost.new.remote_host[4][:name]) \ + ? (SiSU_Env::InfoRemoteHost.new.remote_host[4][:name]) + : nil + end + def r6 + (defined? SiSU_Env::InfoRemoteHost.new.remote_host[5][:name]) \ + ? (@ls + SiSU_Env::InfoRemoteHost.new.remote_host[5][:name]) + : nil + end + self + end + end +end +module SiSU_Info_Remote + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + require_relative 'se_filemap' # se_filemap.rb + begin + require 'fileutils' + include FileUtils::Verbose + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('fileutils NOT FOUND (LoadError)') + end + class InfoRemote < SiSU_File_Map::FileMap # se_filemap.rb + @@flag_remote=false + begin + require 'socket' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('socket NOT FOUND (LoadError)') + end + def initialize(opt) + super(opt) # + @opt=opt + @rc=GetInit.new.sisu_yaml.rc + end + def remote_host_base_general + SiSU_Env::InfoRemoteHost.new.remote_host + end + def remote_host_base + remote_host_base_general.each do |remote_conn| + @@flag_remote=true if remote_conn[:name] =~/\S+?@\S+/ + end + remote_host_base_general + end + def scp #sort out later using ruby libraries #not ideal, first time each file is sent, -r must be called separately for subdir to be built + def document + self.remote_host_base.each do |remote_conn| + local_gen=@source_path + remote_gen=case @opt.cmd + when /u/ + remote_conn[:name] + '/' \ + + @env.path.base_markup_dir_stub + '/.' #creates remote directory tree, this is not the usual function of u + when /[abhHNopwxXy]/ + remote_conn[:name] + '/' \ + + @env.path.base_markup_dir_stub + '/' \ + + @fnb + '/.' + else + remote_conn[:name] + '/' \ + + @env.path.base_markup_dir_stub \ + + '/.' + end + local_epub=@source_path_epub + local_src=@source_path_src + local_pod=@source_path_pod + remote_epub= + remote_conn[:name] + '/' + @env.path.stub_epub + '/.' + remote_src= + remote_conn[:name] + '/' + @env.path.stub_src + '/.' + remote_pod= + remote_conn[:name] + '/' + @env.path.stub_pod + '/.' + src_txt=@opt.fnc + src_pod=@opt.fncb.gsub(/(\.ss[mt])(?:\.sst)?$/,'\1.txz') + if (local_gen =~/\S/ \ + and local_gen !~/\/\//) \ + and (remote_gen =~/\S/ \ + and remote_gen !~/\/\//) \ + and @@flag_remote==true \ + and @opt.cmd !~/U/ + SiSU_Env::SystemCall.new(local_gen,remote_gen).scp + if FileTest.file?("#{local_src}/#{src_txt}") + SiSU_Env::SystemCall.new("#{local_src}/#{src_txt}",remote_src).scp + end + if FileTest.file?("#{local_pod}/#{src_pod}") + SiSU_Env::SystemCall.new("#{local_src}/#{src_pod}",remote_pod).scp + end + if FileTest.file?("#{local_epub}/#{@opt.fnb}.epub") + SiSU_Env::SystemCall.new( + "#{local_epub}/#{@opt.fnb}.epub", + remote_epub,@opt.cmd + ).scp + end + elsif @opt.cmd =~/U/ + puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/ + puts "#{local_gen} -> #{remote_gen}" + if FileTest.file?("#{local_src}/#{src_doc}") + puts "#{local_src}/#{src_doc}* -> #{remote_src}" + end + if FileTest.file?("#{local_pod}/#{src_doc}.txz") + puts "#{local_pod}/#{src_doc}* -> #{remote_pod}" + end + else + puts 'suspect scp request, ignored' + puts "#{local_gen} -> #{remote_gen} remote flag: #{@@flag_remote}" + puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/ + end + end + end + def site_base #base site + self.remote_host_base.each do |remote_conn| + local=@source_path + remote="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/." + if defined? @rc['permission_set']['remote_base_site'] \ + and @rc['permission_set']['remote_base_site'] \ + and @@flag_remote==true \ + and @opt.cmd !~/U/ + puts "begin scp_base: #{local} -> #{remote}" + SiSU_Env::SystemCall.new("#{local}/#{@env.path.style}/",remote).scp + elsif @opt.cmd =~/U/ + puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/ + puts "begin scp_base: #{local} -> #{remote}" + puts "#{local}/#{@env.path.style}/ -> #{remote}" + else puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/ + end + end + end + def site_base_all #base site + self.remote_host_base.each do |remote_conn| + local=@source_path + remote= + remote_conn[:name] + '/' \ + + @env.path.base_markup_dir_stub + '/.' + if defined? @rc['permission_set']['remote_base_site'] \ + and @rc['permission_set']['remote_base_site'] \ + and @@flag_remote==true \ + and @opt.cmd !~/U/ + puts "begin scp_base_all: #{local} -> #{remote}" + SiSU_Env::SystemCall.new("#{local}/_sisu/image_sys/",remote).scp + SiSU_Env::SystemCall.new("#{local}/_sisu/image/",remote).scp + SiSU_Env::SystemCall.new("#{local}/#{@env.path.style}/",remote).scp + elsif @opt.cmd =~/U/ + puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/ + puts "scp_base_all: #{local} -> #{remote}" + puts "#{local}/_sisu/image_sys/ -> #{remote}" + puts "#{local}/_sisu/image/ -> #{remote}" + puts "#{local}/#{@env.path.style}/ -> #{remote}" + else + puts "permission not granted #{__FILE__} #{__LINE__}" \ + if @opt.cmd =~/M/ + end + end + end + self + end + def rsync + def document + f=(@opt.act[:ao][:set]==:on) \ + ? SiSU_Env::FileOp.new(@md) + : nil + if f + self.remote_host_base.each do |remote_conn| + local_gen=@source_path + #local_gen_image="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image" + #local_gen_image_external="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image_external" + remote_gen= + remote_conn[:name] + '/' \ + + @env.path.base_markup_dir_stub + '/.' + remote_rel= + remote_conn[:name] + '/' \ + + f.output_path.stub.rcp + @opt.fnc + if (local_gen =~/\S/ \ + and local_gen !~/\/\//) \ + and (remote_gen =~/\S/ \ + and remote_gen !~/\/\//) \ + and @@flag_remote==true \ + and @opt.cmd !~/U/ +# SiSU_Env::SystemCall.new("#{local_src}/#{src_txt}",remote_src,@opt.cmd).rsync + #delete_extra_files='--delete' # '--delete-after' + inp=[] + if (@opt.act[:html][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.html_scroll.dir) + inp \ + << f.output_path.html_seg.rel \ + << f.place_file.html_scroll.rel + end + if (@opt.act[:concordance][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.html_concordance.dir) + inp << f.place_file.html_concordance.rel + end + if (@opt.act[:epub][:set]==:on \ + || @opt.cmd =~/^-R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.epub.dir) + inp << f.place_file.epub.rel + end + if (@opt.act[:odt][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.odt.dir) + inp << f.place_file.odt.rel + end + if (@opt.act[:xhtml][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.xhtml.dir) + inp << f.place_file.xhtml.rel + end + if (@opt.act[:xml_sax][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.xml_sax.dir) + inp << f.place_file.xml_sax.rel + end + if (@opt.act[:xml_dom][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.xml_dom.dir) + inp << f.place_file.xml_dom.rel + end + if (@opt.act[:xml_scaffold_structure_sisu][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.xml_scaffold_structure_sisu.dir) + inp << f.place_file.xml_scaffold_structure_sisu.rel + end + if (@opt.act[:xml_scaffold_structure_collapse][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.xml_scaffold_structure_collapse.dir) + inp << f.place_file.xml_scaffold_structure_collapse.rel + end + if (@opt.act[:txt][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.txt.dir) + inp << f.place_file.txt.rel + end + if (@opt.act[:manpage][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*i[mqvVM]*$/) \ + && FileTest.file?(f.place_file.manpage.dir) + inp << f.place_file.manpage.rel + end + if (@opt.act[:texinfo][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*I[mqvVM]*$/) \ + && FileTest.file?(f.place_file.info.dir) + inp << f.place_file.info.rel + end + if (@opt.act[:hash_digests][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.hash_digest.dir) + inp << f.place_file.hash_digest.rel + end + if (@opt.act[:share_source][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.src.dir) + inp << f.place_file.src.rel + end + if (@opt.act[:sisupod][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.sisupod.dir) + inp << f.place_file.sisupod.rel + end + if (@opt.act[:pdf][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) + inp <<=(@opt.dir_structure_by == :filename) \ + ? (f.output_path.pdf.rel + '/*.pdf') + : (f.output_path.pdf.rel + '/' + @opt.fnb + '*.pdf') + end + if (@opt.act[:sqlite_discrete][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.sqlite_discrete.dir) + inp << f.place_file.sqlite_discrete.rel + end + if (@opt.act[:qrcode][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.qrcode_md.dir) + inp \ + << f.place_file.qrcode_md.rel \ + << f.place_file.qrcode_title.rel + end + if (@opt.act[:manifest][:set]==:on \ + || @opt.cmd =~/^-[mqvVM]*R[mqvVM]*$/) \ + && FileTest.file?(f.place_file.manifest.dir) + inp << f.place_file.manifest.rel + end + local_gen=if inp.length > 0 + inp.join(' ') + else '' + end + local_css,images,images_system='','','' + images=images_skin=images_system=local_css='' + if @opt.cmd =~/[hwbxX]/ \ + && (defined? @md.ec[:image]) \ + && (@md.ec[:image].length > 0) + images= + f.place_file.images.rel + '/' \ + + @md.ec[:image].join(" #{f.output_path.images.rel}/") + end + if @opt.cmd =~/[yhwbxX]/ \ + && (defined? @md.ec[:image]) \ + && (@md.ec[:image].length > 0) + local_css=f.output_path.css.rel + images_system='_sisu/image_sys' + end + begin + ##create file structure without copying files?: + ##rsync -av -f"+ */" -f"- *" f.output_path.base.dir remote:./path/. + #local_dirs=%{-f"+ */" -f"- *" #{f.output_path.base.dir}/*} + #SiSU_Env::SystemCall.new(local_dirs,remote_gen,@opt.cmd).rsync + local=local_gen + ' ' + images + ' ' + images_skin + ' ' + images_system + ' ' + local_css + SiSU_Env::SystemCall.new(local,remote_rel,@opt.cmd). + rsync('--relative',f.output_path.base.dir) + rescue + p __LINE__.to_s + ':' + __FILE__ + local_dirs=%{--include='*/' --exclude='*' #{f.output_path.base.dir}} + SiSU_Env::SystemCall.new(local_dirs,remote_gen,@opt.cmd).rsync + end + elsif @opt.cmd =~/U/ + puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/ + puts "#{local_gen} -> #{remote_gen}" + if FileTest.file?("#{local_src}/#{src_doc}") \ + or FileTest.file?("#{local_src}/#{src_doc}.txz") + puts "#{local_src}/#{src_doc}* -> #{remote_src}" + end + else + puts 'suspect rsync request, ignored' + puts "#{local_gen} -> #{remote_gen} remote flag: #{@@flag_remote}" + puts "permission not granted #{__FILE__} #{__LINE__}" \ + if @opt.cmd =~/M/ + end + end + end + end + def site_harvest + self.remote_host_base.each do |remote_conn| + local=@source_path_harvest + l_rel="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}" + lng='en' + if @env.output_dir_structure.by? == :language + ldest=lng + '/manifest' + files= + ldest + '/authors.html' + ' ' \ + + ldest + '/topics.html' + elsif @env.output_dir_structure.by? == :filetype + ldest="manifest" + files= + ldest + '/authors.' + lng + '.html' + ' ' \ + + ldest + '/topics.' + lng + '.html' + elsif @env.output_dir_structure.by? == :filename + files= + l_rel + '/authors.' + lng + '.html' + ' ' \ + + l_rel + '/topics.' + lng + '.html' + end + remote="#{remote_conn[:name]}/#{@opt.base_stub}" + if @opt.act[:harvest][:set] \ + && @opt.act[:rsync][:set] + (@env.output_dir_structure.by? == :filename) \ + ? (SiSU_Env::SystemCall.new(files,remote).rsync) + : (SiSU_Env::SystemCall.new(ldest,remote). + rsync('--relative',l_rel)) + elsif @opt.cmd =~/U/ + puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/ + puts "rsync_harvest: #{local} -> #{remote}" + else + puts "permission not granted #{__FILE__} #{__LINE__}" \ + if @opt.cmd =~/M/ + end + end + end + def site_base #base site + ldest='_sisu/*' + l_rel="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}" + image_sys="#{@env.path.webserv}/_sisu/image_sys" + self.remote_host_base.each do |remote_conn| + remote="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}" + remote_conf="#{remote_conn[:name]}/_sisu" + SiSU_Env::SystemCall.new(image_sys,remote_conf).rsync + SiSU_Env::SystemCall.new(ldest,remote).rsync('--relative',l_rel) + end + end + def site_base_sync + self.remote_host_base.each do |remote_conn| + local=@source_path + remote="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/." + if defined? @rc['permission_set']['remote_base_site'] \ + and @rc['permission_set']['remote_base_site'] \ + and @@flag_remote==true \ + and @opt.cmd !~/U/ + delete_extra_files='--delete' # '--delete-after' + puts "begin rsync_base_sync: #{local} -> #{remote}" + SiSU_Env::SystemCall.new("#{local}/_sisu/image_sys/",remote). + rsync(delete_extra_files) + SiSU_Env::SystemCall.new("#{local}/_sisu/image/",remote). + rsync(delete_extra_files) + SiSU_Env::SystemCall.new("#{local}/#{@env.path.style}/",remote). + rsync(delete_extra_files) + elsif @opt.cmd =~/U/ + puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/ + puts "rsync_base_sync: #{local} -> #{remote}" + puts "#{local}/_sisu/image_sys/ -> #{remote}" + puts "#{local}/_sisu/image/ -> #{remote}" + puts "#{local}/#{@env.path.style}/ -> #{remote}" + else + puts "permission not granted #{__FILE__} #{__LINE__}" \ + if @opt.cmd =~/M/ + end + end + end + self + end + def rsync_sitemaps #sitemap directory + self.remote_host_base.each do |remote_conn| + local= + @source_path + '/sitemapindex.xml' + remote="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/." + if @@flag_remote + delete_extra_files='--delete' # '--delete-after' + SiSU_Env::SystemCall.new(local,remote).rsync(delete_extra_files) + elsif @opt.cmd =~/U/ + puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/ + puts "rsync_sitemaps: #{local} -> #{remote}" + else + puts "permission not granted #{__FILE__} #{__LINE__}" \ + if @opt.cmd =~/M/ + end + end + end + end +end +__END__ +#+END_SRC + +** se_standardise_lang.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_standardise_lang.rb" +# <> +@@lang_info=nil +module SiSU_Standardise_Lang + class StandardiseLanguage + require_relative 'i18n' # i18n.rb + def initialize(l='') + @language=(l.nil? || l.empty?) \ + ? SiSU_Env::InfoEnv.new.language_default_set + : l + @r=%{(?:#{Px[:lng_lst_rgx]})} + @lang_info=SiSU_i18n::Languages.new + end + def lang_lst # from i18n + @@lang_info ||=@lang_info.language.list + end + def lang(l='') # from i18n + if l =~/^#{@r}$/ + @lang_info.language.list[l] + elsif @language =~/^#{@r}$/ + @lang_info.language.list[@language] + else nil + end + end + def language + lng={} + case @language + when /^am$|Amharic/i then d,c,l=false,lang_lst['am'][:c], lang_lst['am'][:n] + when /^bg$|Bulgarian/i then d,c,l=false,lang_lst['bg'][:c], lang_lst['bg'][:n] + when /^bn$|Bengali/i then d,c,l=false,lang_lst['bn'][:c], lang_lst['bn'][:n] + when /^br$|Breton/i then d,c,l=false,lang_lst['br'][:c], lang_lst['br'][:n] + when /^ca$|Catalan/i then d,c,l=false,lang_lst['ca'][:c], lang_lst['ca'][:n] + when /^cs$|Czech/i then d,c,l=false,lang_lst['cs'][:c], lang_lst['cs'][:n] + when /^cy$|Welsh/i then d,c,l=false,lang_lst['cy'][:c], lang_lst['cy'][:n] + when /^da$|Danish|Dansk/i then d,c,l=false,lang_lst['da'][:c], lang_lst['da'][:n] + when /^de$|German/i then d,c,l=false,lang_lst['de'][:c], lang_lst['de'][:n] + when /^el$|Greek/i then d,c,l=false,lang_lst['el'][:c], lang_lst['el'][:n] + when /^en$|English/i then d,c,l=false,lang_lst['en'][:c], lang_lst['en'][:n] + when /^eo$|Esperanto/i then d,c,l=false,lang_lst['eo'][:c], lang_lst['eo'][:n] + when /^es$|Spanish|Espanol/i then d,c,l=false,lang_lst['es'][:c], lang_lst['es'][:n] + when /^et$|Estonian/i then d,c,l=false,lang_lst['et'][:c], lang_lst['et'][:n] + when /^eu$|Basque/i then d,c,l=false,lang_lst['eu'][:c], lang_lst['eu'][:n] + when /^fi$|Finnish|Finsk|Suomi/i then d,c,l=false,lang_lst['fi'][:c], lang_lst['fi'][:n] + when /^fr$|French|Francais/i then d,c,l=false,lang_lst['fr'][:c], lang_lst['fr'][:n] + when /^ga$|Irish/i then d,c,l=false,lang_lst['ga'][:c], lang_lst['ga'][:n] + when /^gl$|Galician/i then d,c,l=false,lang_lst['gl'][:c], lang_lst['gl'][:n] + when /^he$|Hebrew/i then d,c,l=false,lang_lst['he'][:c], lang_lst['he'][:n] + when /^hi$|Hindi/i then d,c,l=false,lang_lst['hi'][:c], lang_lst['hi'][:n] + when /^hr$|Croatian/i then d,c,l=false,lang_lst['hr'][:c], lang_lst['hr'][:n] + when /^hy$|Armenian/i then d,c,l=false,lang_lst['hy'][:c], lang_lst['hy'][:n] + when /^ia$|Interlingua/i then d,c,l=false,lang_lst['ia'][:c], lang_lst['ia'][:n] + when /^is$|Icelandic/i then d,c,l=false,lang_lst['is'][:c], lang_lst['is'][:n] + when /^it$|Italian/i then d,c,l=false,lang_lst['it'][:c], lang_lst['it'][:n] + when /^la$|Latin/i then d,c,l=false,lang_lst['la'][:c], lang_lst['la'][:n] + when /^lo$|Lao/i then d,c,l=false,lang_lst['lo'][:c], lang_lst['lo'][:n] + when /^lt$|Lithuanian/i then d,c,l=false,lang_lst['lt'][:c], lang_lst['lt'][:n] + when /^lv$|Latvian/i then d,c,l=false,lang_lst['lv'][:c], lang_lst['lv'][:n] + when /^ml$|Malayalam/i then d,c,l=false,lang_lst['ml'][:c], lang_lst['ml'][:n] + when /^mr$|Marathi/i then d,c,l=false,lang_lst['mr'][:c], lang_lst['mr'][:n] + when /^nl$|Dutch/i then d,c,l=false,lang_lst['nl'][:c], lang_lst['nl'][:n] + when /^no$|Norwegian|Norsk/i then d,c,l=false,lang_lst['no'][:c], lang_lst['no'][:n] + when /^nn$|Norwegian Nynorsk/i then d,c,l=false,lang_lst['nn'][:c], lang_lst['nn'][:n] + when /^oc$|Occitan/i then d,c,l=false,lang_lst['oc'][:c], lang_lst['oc'][:n] + when /^pl$|Polish/i then d,c,l=false,lang_lst['pl'][:c], lang_lst['pl'][:n] + when /^pt$|Portuguese/i then d,c,l=false,lang_lst['pt'][:c], lang_lst['pt'][:n] + when /^pt_BR$|Portuguese Brazil/i then d,c,l=false,lang_lst['pt_BR'][:c], lang_lst['pt_BR'][:n] + when /^ro$|Romanian/i then d,c,l=false,lang_lst['ro'][:c], lang_lst['ro'][:n] + when /^ru$|Russian/i then d,c,l=false,lang_lst['ru'][:c], lang_lst['ru'][:n] + when /^sa$|Sanskrit/i then d,c,l=false,lang_lst['sa'][:c], lang_lst['sa'][:n] + when /^se$|Sami/i then d,c,l=false,lang_lst['se'][:c], lang_lst['se'][:n] + when /^sk$|Slovak/i then d,c,l=false,lang_lst['sk'][:c], lang_lst['sk'][:n] + when /^sl$|Slovenian/i then d,c,l=false,lang_lst['sl'][:c], lang_lst['sl'][:n] + when /^sq$|Albanian/i then d,c,l=false,lang_lst['sq'][:c], lang_lst['sq'][:n] + when /^sr$|Serbian/i then d,c,l=false,lang_lst['sr'][:c], lang_lst['sr'][:n] + when /^sv$|Swedish|Svensk/i then d,c,l=false,lang_lst['sv'][:c], lang_lst['sv'][:n] + when /^ta$|Tamil/i then d,c,l=false,lang_lst['ta'][:c], lang_lst['ta'][:n] + when /^te$|Telugu/i then d,c,l=false,lang_lst['te'][:c], lang_lst['te'][:n] + when /^th$|Thai/i then d,c,l=false,lang_lst['th'][:c], lang_lst['th'][:n] + when /^tk$|Turkmen/i then d,c,l=false,lang_lst['tk'][:c], lang_lst['tk'][:n] + when /^tr$|Turkish/i then d,c,l=false,lang_lst['tr'][:c], lang_lst['tr'][:n] + when /^uk$|Ukranian/i then d,c,l=false,lang_lst['uk'][:c], lang_lst['uk'][:n] + when /^ur$|Urdu/i then d,c,l=false,lang_lst['ur'][:c], lang_lst['ur'][:n] + when /^us|American$|/i then d,c,l=false,lang_lst['en'][:c], lang_lst['en'][:n] + when /^vi$|Vietnamese/i then d,c,l=false,lang_lst['vi'][:c], lang_lst['vi'][:n] + else d,c,l=true, lang_lst['en'][:c], lang_lst['en'][:n] #default + end + lng[:d],lng[:c],lng[:n]=d,c,l + lng + end + def name + language[:n].downcase + end + def title + language[:n] + end + def code + language[:c] + end + def tex_name + language[:xlp] + end + def file_to_language(file) # used, fix and remove + m=/.+?\~(\w{2,3})\.(?:-|ssm\.)?sst$/ + @language=if file =~m ; file[m,1] + else '' + end + language + end + def codes + # Language List po4a + # + # Px[:lng_lst] see constants.rb + # see polyglossia for subset + # + # also note ISO_639-2 + # + # + Px[:lng_lst] # constants.rb + end + end +end +__END__ +#+END_SRC + +** se_version.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/se_version.rb" +# <> +module SiSU_Info_Version + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + require_relative 'se_info_env' # se_info_env.rb + begin + require 'singleton' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('singleton NOT FOUND (LoadError)') + end + class InfoVersion < SiSU_Info_Env::InfoEnv # se_info_env.rb + include Singleton + begin + require 'rbconfig' + require 'yaml' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('rbconfig or yaml NOT FOUND (LoadError)') + end + @@lib_path=nil + def get_version + version={} + @pwd=ENV['PWD'] + lib_path= + @@lib_path \ + ? @@lib_path + : `echo $RUBYLIB`.split(':') + @@lib_path ||=lib_path + if File.exist?(SiSU_is.version_info_path?) + version=YAML::load(File::open(SiSU_is.version_info_path?)) + end + version[:install_method]=if SiSU_is.runtime_type? ==:gem_install + spec = Gem::Specification.find_by_name("sisu") + gem_root = spec.gem_dir + (File.dirname(__FILE__.gsub(/\/lib\/sisu}/,'')) == gem_root) \ + ? ' (ruby gem install)' : '' + else '' + end + @version=version + def version_details_hash + @version + end + def project + version_details_hash[:project] + end + def date + version_details_hash[:date] + end + def date_stamp + version_details_hash[:date_stamp] + end + def version + version_details_hash[:version] + end + def version_major + @version_major=version_details_hash[:version].gsub(/([0-9]+)\.[0-9]+\.[0-9]+/,'\1') + end + def install_method + version_details_hash[:install_method] + end + self + end + def rbversion + %x{ruby -v}.strip + end + end +end +module SiSU_Info_About + require_relative 'constants' # constants.rb + require_relative 'utils' # utils.rb + begin + require 'singleton' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('singleton NOT FOUND (LoadError)') + end + class InfoAbout + def initialize(color='') + @color=color + end + def sisu_version + version=SiSU_Env::InfoVersion.instance.get_version + rb_ver=SiSU_Env::InfoVersion.instance.rbversion + if version.version + opt_cmd=if defined? @color.cmd \ + and @color.cmd =~/[ck]/ + @color.cmd + else '-v' + end + SiSU_Screen::Ansi.new( + opt_cmd, + version.project, + version.version, + version.date_stamp, + version.date, + version.install_method, + rb_ver + ).version + else puts 'SiSU (version information not available)' + end + end + def sisu_about + puts <<-WOK + sisu: documents; markup, structuring, publishing in multiple standard formats, & search + most (not all) useful commands (are made in a directory containing a sisu markup file &) take the form: + sisu [action(s)] [filename(s)] + where filename refers to a valid sisu marked up file, e.g.: + cd /usr/share/doc/sisu/markup-samples/sisu_manual + sisu --html --verbose sisu_commands.sst + sisu --txt --html --epub --odt --pdf --sqlite --manpage --texinfo --concordance --qrcode --verbose sisu.ssm + cd - + See output produced, or see man pages: man sisu + + WOK + end + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + se + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/harvest.org b/org/harvest.org new file mode 100644 index 00000000..ccc55123 --- /dev/null +++ b/org/harvest.org @@ -0,0 +1,1454 @@ +-*- mode: org -*- +#+TITLE: sisu harvest +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:harvest: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* harvest +** html_harvest.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/html_harvest.rb" +# <> +module SiSU_Harvest + @@the_idx_topics,@@the_idx_authors={},{} + class Source + require_relative 'hub_options' # hub_options.rb + require_relative 'html_harvest_topics' # html_harvest_topics.rb + require_relative 'html_harvest_authors' # html_harvest_authors.rb + require_relative 'se' # se.rb + include SiSU_Env + def initialize(opt) + @opt=opt + @env=SiSU_Env::InfoEnv.new + end + def read + begin + harvest_pth=@env.path.webserv + '/' + @opt.base_stub + FileUtils::mkdir_p(harvest_pth) unless FileTest.directory?(harvest_pth) + cases(@opt,@env) + rescue + ensure + SiSU_Env::CreateSite.new(@opt).cp_css + end + end + def help + puts <> +module SiSU_HarvestTopics + require_relative 'html_harvest_author_format' # html_harvest_author_format.rb + require_relative 'html_parts' # html_parts.rb + class Songsheet + @@the_idx_topics={} + def initialize(opt,env) + @opt,@env=opt,env + @file_list=opt.files + end + def songsheet + idx_array={} + @opt.f_pths.each do |y| + lang_hash_file_array={} + 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 + lang_hash_file_array[y[:lng_is]] ||= [] + lang_hash_file_array[y[:lng_is]] << line + elsif line =~/^@\S+?:(?:\s|$)/m \ + or line =~/^(?:\s*\n|\s*$|%+ )/ + else break + end + end + end + lang_hash_file_array.each_pair do |lang,a| + idx_array[lang] ||=[] + idx_array=SiSU_HarvestTopics::Harvest.new( + @opt, + @env, + a, + filename, + name, + idx_array, + lang + ).extract_harvest + end + end + the_hash=SiSU_HarvestTopics::Index.new( + @opt, + @env, + idx_array, + @@the_idx_topics + ).song + SiSU_HarvestTopics::OutputIndex.new( + @opt, + the_hash + ).html_print.html_songsheet + end + end + class Mix + def spaces + Ax[:spaces] + end + end + class Harvest + def initialize(opt,env,data,filename,name,idx_array,lang) + @opt, @env,@data,@filename,@name,@idx_array,@lang= + opt,env, data, filename, name, idx_array, lang + end + def extract_harvest + data, filename, name, idx_array, lang= + @data,@filename,@name,@idx_array,@lang + @idx_lst=@title=@subtitle=@fulltitle=@author=@author_format=nil + rgx={} + rgx[:author]=/^@creator:(?:[ ]+|.+?:author:[ ]+)(.+?)(?:\||\n)/m + rgx[:title]=/^@title:[ ]+(.+)/ + rgx[:subtitle]=/^@title:.+?:subtitle:[ ]+(.+?)\n/m + rgx[:idx]=/^@classify:.+?:topic_register:[ ]+(.+?)(?:\n\n|\n\s+:\S|\n%)/m + data.each do |para| + if para=~ rgx[:idx] + @idx_list=(rgx[:idx].match(para)[1]).split(/\s*\n\s*/).join + end + if para=~ rgx[:title] + @title=rgx[:title].match(para)[1] + end + if para=~ rgx[:subtitle] + @subtitle=rgx[:subtitle].match(para)[1] + end + if para=~ rgx[:author] + @author_format=rgx[:author].match(para)[1] + end + break if @title && @subtitle && @author && @idx_lst + end + @fulltitle=@subtitle ? (@title + ' - ' + @subtitle) : @title + if @title \ + and @author_format \ + and @idx_list + creator=SiSU_FormatAuthor::Author.new(@author_format.strip).author_details + @authors,@authorship=creator[:authors],creator[:authorship] + file=if name=~/~[a-z]{2,3}\.ss[mt]$/ + name.sub(/~[a-z]{2,3}\.ss[mt]$/,'') + else + name.sub(/\.ss[mt]$/,'') + end + page=if @env.output_dir_structure.by? == :language + "#{lang}/sisu_manifest.html" + else + "sisu_manifest.#{lang}.html" + end + idx_array[lang] <<=if @idx_list =~/;/ + g=@idx_list.scan(/[^;]+/) + g.each.map do |i| + i=i.strip + { + filename: filename, + file: file, + rough_idx: i, + title: @fulltitle, + author: creator, + page: page, + lang: lang + } + end + else { + filename: filename, + file: file, + rough_idx: @idx_list, + title: @fulltitle, + author: creator, + page: page, + lang: lang, + } + end + else + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + p "missing required field in #{@filename} - [title]: <#{@title}>; [author]: <#{@author_format}>; [idx]: <#{@idx_list}>" + end + end + idx_array[lang]=idx_array[lang].flatten + idx_array + end + end + class Index < Mix + def initialize(opt,env,idx_array,the_idx) + @opt, @env,@idx_array,@the_idx= + opt,env, idx_array, the_idx + @@the_idx_topics=@the_idx + end + def song + the_idx=construct_book_topic_keys + construct_book_topic_hash(the_idx) + end + def capital(txt) + txt_a=txt.scan(/\S+/) + tx='' + txt_a.each do |t| + tx += t[0].chr.capitalize + t[1,txt.length] + ' ' + end + tx.strip + end + def capital_(txt) + txt[0].chr.capitalize + txt[1,txt.length] + end + def contents(idx,lang) + names='' + idx[:author][:last_first_format_a].each do |n| + s=n.sub(/(.+?)(?:,.+|$)/,'\1').gsub(/\s+/,'_') + names=if @env.output_dir_structure.by? == :language + names += %{#{n}, } + else + names += %{#{n}, } + end + end + { + filename: idx[:filename], + file: idx[:file], + author: names, + title: idx[:title], + page: idx[:page] + } + end + def capital_(txt) + txt[0].chr.capitalize + txt[1,txt.length] + end + def key_create(c,alt) + x=nil + x=if c.length==6 + c[0].to_s + '|' + + capital(c[1][0].to_s) + '|' + + capital(c[2][0].to_s) + '|' + + capital(c[3][0].to_s) + '|' + + capital(alt.to_s) + elsif c.length==5 + c[0].to_s + '|' + + capital(c[1][0].to_s) + '|' + + capital(c[2][0].to_s) + '|' + + capital(alt.to_s) + elsif c.length==4 + c[0].to_s + '|' + + capital(c[1][0].to_s) + '|' + + capital(alt.to_s) + elsif c.length==3 + c[0].to_s + '|' + + capital(alt.to_s) + end + end + def construct_book_topic_keys + idx_array=@idx_array + @idx_a=[] + @the_a=[] + idx_array.each_pair do |lang,idx_arr| + @@the_idx_topics[lang] ||= {} + idx_arr.each do |idx| + if idx[:rough_idx] + idx_lst=idx[:rough_idx].scan(/[^:]+/) + else + puts "no topic register in: << #{idx[:filename]} >>" + next + end + idx_a=[] + idx_lst.each do |c| + idx_a << c.scan(/[^|\n]+/m) + end + idx_a << contents(idx,lang) + @idx_a << [lang] + idx_a + end + end + @idx_a.each do |c| + if c.length > 1 \ + and c.is_a?(Array) + if c[2].is_a?(Hash) + c[1].each do |alt| + v=key_create(c,alt) + @the_a << [v, c[2]] if v + end + end + end + if c.length > 2 \ + and c.is_a?(Array) + if c[3].is_a?(Hash) + c[2].each do |alt| + v=key_create(c,alt) + @the_a << [v, c[3]] if v + end + end + end + if c.length > 3 \ + and c.is_a?(Array) + if c[4].is_a?(Hash) + c[3].each do |alt| + v=key_create(c,alt) + @the_a << [v, c[4]] if v + end + end + end + if c.length > 4 \ + and c.is_a?(Array) + if c[5].is_a?(Hash) + c[4].each do |alt| + v=key_create(c,alt) + @the_a << [v, c[5]] if v + end + end + end + if c.length > 5 \ + and c.is_a?(Array) + if c[6].is_a?(Hash) + c[5].each do |alt| + v=key_create(c,alt) + @the_a << [v, c[6]] if v + end + end + end + end + @the_a.sort_by { |x| x[0] } #; y.each {|z| puts z} + end + def construct_book_topic_hash(t) + @the_h={} + t.each do |z| + x=z[0].scan(/[^|]+/) + depth=x.length + extract=(depth-1) + k=case extract + when 4 + { x[0] => { x[1] => { x[2] => { x[3] => { x[4] => z[1] } } } } } + when 3 + { x[0] => { x[1] => { x[2] => { x[3] => z[1] } } } } + when 2 + { x[0] => { x[1] => { x[2] => z[1] } } } + when 1 + { x[0] => { x[1] => z[1] } } + when 0 + { x[0] => z[1] } + end + if extract >= 0 + k.each_pair do |x0,y0| + if extract == 0 + @the_h[x0] ||={ md: [] } + @the_h[x0][:md] << y0 + else + @the_h[x0] ||={} + end + #puts spaces*0 + x0 + if extract >= 1 + y0.each_pair do |x1,y1| + if extract == 1 + @the_h[x0][x1] ||={ md: [] } + @the_h[x0][x1][:md] << y1 + else + @the_h[x0][x1] ||={} + end + #puts spaces*1 + x1 + if extract >= 2 + y1.each_pair do |x2,y2| + if extract == 2 + @the_h[x0][x1][x2] ||={ md: [] } + @the_h[x0][x1][x2][:md] << y2 + else + @the_h[x0][x1][x2] ||={} + end + #puts spaces*2 + x2 + if extract >= 3 + y2.each_pair do |x3,y3| + if extract == 3 + @the_h[x0][x1][x2][x3] ||={ md: [] } + @the_h[x0][x1][x2][x3][:md] << y3 + else + @the_h[x0][x1][x2][x3] ||={} + end + #puts spaces*3 + x3 + if extract == 4 + y3.each_pair do |x4,y4| + if extract == 4 + @the_h[x0][x1][x2][x3][x4] ||={ md: [] } + @the_h[x0][x1][x2][x3][x4][:md] << y4 + else + @the_h[x0][x1][x2][x3][x4] ||={} + end + #puts spaces*4 + x4 + if extract == 5 + y4.each_pair do |x5,y5| + if extract == 5 + @the_h[x0][x1][x2][x3][x4][x5] ||={ md: [] } + @the_h[x0][x1][x2][x3][x4][x5][:md] << y5 + end + #puts spaces*5 + x5 + end + end + end + end + end + end + end + end + end + end + end + end + end + #@the_h.each_pair { |x,y| p x; p y } + @the_h + end + def traverse_base + @the_h.each_pair do |x0,y0| + puts spaces*0 + x0 if x0.is_a?(String) + if y0.is_a?(Hash) + y0.each_pair do |x1,y1| + puts spaces*1 + x1 if x1.is_a?(String) + if y1.is_a?(Hash) + y1.each_pair do |x2,y2| + puts spaces*2 + x2 if x2.is_a?(String) + if y2.is_a?(Hash) + y2.each_pair do |x3,y3| + puts spaces*3 + x3 if x3.is_a?(String) + if y3.is_a?(Hash) + y3.each_pair do |x4,y4| + puts spaces*4 + x4 if x4.is_a?(String) + if y4.is_a?(Hash) + y4.each_pair do |x5,y5| + puts spaces*5 + x5 if x5.is_a?(String) + end + end + end + end + end + end + end + end + end + end + end + end + def traverse + @the_h.each_pair do |x0,y0| + puts spaces*0 + x0 if x0.is_a?(String) + if y0.is_a?(Hash) + if y0.has_key?(:md) + y0[:md].each { |x| puts spaces*5 + x[:title] } + end + y0.each_pair do |x1,y1| + puts spaces*1 + x1 if x1.is_a?(String) + if y1.is_a?(Hash) + if y1.has_key?(:md) + y1[:md].each { |x| puts spaces*5 + x[:title] } + end + y1.each_pair do |x2,y2| + puts spaces*2 + x2 if x2.is_a?(String) + if y2.is_a?(Hash) + if y2.has_key?(:md) + y2[:md].each { |x| puts spaces*5 + x[:title] } + end + y2.each_pair do |x3,y3| + puts spaces*3 + x3 if x3.is_a?(String) + if y3.is_a?(Hash) + if y3.has_key?(:md) + y3[:md].each { |x| puts spaces*5 + x[:title] } + end + y3.each_pair do |x4,y4| + puts spaces*4 + x4 if x4.is_a?(String) + if y4.is_a?(Hash) + if y4.has_key?(:md) + y4[:md].each { |x| puts spaces*5 + x[:title] } + end + y4.each_pair do |x5,y5| + puts spaces*5 + x4 if x4.is_a?(String) + end + end + end + end + end + end + end + end + end + end + end + end + end + class OutputIndex < Mix + require_relative 'i18n' # i18n.rb + def initialize(opt,the_idx) + @opt,@the_idx=opt,the_idx + @env=SiSU_Env::InfoEnv.new + @rc=SiSU_Env::GetInit.new.sisu_yaml.rc + @alphabet_list=%W[9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z] + @alph=@alphabet_list.dup + @letter=@alph.shift + end + def html_file_open + @the_idx.keys.each do |lng| + @output ||={} + @output[lng] ||={} + harvest_pth,file='','' + if @env.output_dir_structure.by? == :language + harvest_pth=@env.path.webserv + '/' \ + + @opt.base_stub + '/' \ + + lng + '/' \ + + 'manifest' + file=harvest_pth + '/' + 'topics.html' + elsif @env.output_dir_structure.by? == :filetype + harvest_pth=@env.path.webserv + '/' \ + + @opt.base_stub + '/' \ + + 'manifest' + file=harvest_pth + '/' + 'topics.' + lng + '.html' + elsif @env.output_dir_structure.by? == :filename + harvest_pth=@env.path.webserv + '/' \ + + @opt.base_stub + file=harvest_pth + '/' + 'topics.' + lng + '.html' + end + FileUtils::mkdir_p(harvest_pth) \ + unless FileTest.directory?(harvest_pth) + fileinfo=(@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:urls_selected][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? ("file://#{file}") + : '' + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "harvest topics(#{@opt.files.length} files)", + fileinfo + ).dark_grey_title_hi unless @opt.act[:quiet][:set]==:on + @output[lng][:html]=File.new(file,'w') + if @opt.act[:maintenance][:set]==:on + @output[lng][:html_mnt]=File.new("#{@env.path.pwd}/topics.html",'w') + end + end + end + def html_file_close + @the_idx.keys.each do |lng| + @output[lng][:html].close + @output[lng][:html_mnt].close if @output[lng][:html_mnt].is_a?(File) + end + end + def html_print + def html_songsheet + #traverse + html_file_open + html_head + html_alph + html_body_traverse + html_tail + html_file_close + end + def html_body_traverse + @the_idx.each_pair do |x0,y0| + lng=x0 + if x0.is_a?(String) + #do_string_name(lng,'lev0',x0) + #puts spaces*0 + x0 + end + if y0.is_a?(Hash) + if y0.has_key?(:md) + y0[:md].each do |x| + #do_hash(lng,attrib,x) #lv==0 ? + #puts spaces*5 + x[:title] + end + end + y0.each_pair do |x1,y1| + if x1.is_a?(String) + do_string_name(lng,'lev0',x1) + #puts spaces*1 + x1 + end + if y1.is_a?(Hash) + if y1.has_key?(:md) + y1[:md].each do |x| + do_hash(lng,0,x) + #puts spaces*5 + x[:title] + end + end + y1.each_pair do |x2,y2| + if x2.is_a?(String) + do_string(lng,'lev1',x2) + #puts spaces*2 + x2 + end + if y2.is_a?(Hash) + if y2.has_key?(:md) + y2[:md].each do |x| + do_hash(lng,1,x) + #puts spaces*5 + x[:title] + end + end + y2.each_pair do |x3,y3| + if x3.is_a?(String) + do_string(lng,'lev2',x3) + #puts spaces*3 + x3 + end + if y3.is_a?(Hash) + if y3.has_key?(:md) + y3[:md].each do |x| + do_hash(lng,2,x) + #puts spaces*5 + x[:title] + end + end + y3.each_pair do |x4,y4| + if x4.is_a?(String) + do_string(lng,'lev3',x4) + #puts spaces*4 + x4 + end + if y4.is_a?(Hash) + if y4.has_key?(:md) + y4[:md].each do |x| + do_hash(lng,3,x) + #puts spaces*5 + x[:title] + end + end + y4.each_pair do |x5,y5| + if x5.is_a?(String) + do_string(lng,'lev4',x5) + #puts spaces*5 + x5 + end + end + end + end + end + end + end + end + end + end + end + end + end + def html_head_adjust(lng,type='') + css_path,authors='','' + if @env.output_dir_structure.by? == :language + css_path=(type !~/maintenance/) \ + ? '../../_sisu/css/harvest.css' + : 'harvest.css' + authors='authors.html' + elsif @env.output_dir_structure.by? == :filetype + css_path=(type !~/maintenance/) \ + ? '../_sisu/css/harvest.css' + : 'harvest.css' + authors="authors.#{lng}.html" + elsif @env.output_dir_structure.by? == :filename + css_path=(type !~/maintenance/) \ + ? './_sisu/css/harvest.css' + : 'harvest.css' + authors="authors.#{lng}.html" + end + ln=SiSU_i18n::Languages.new.language.list + harvest_languages='' + @the_idx.keys.each do |lg| + if @env.output_dir_structure.by? == :language + harvest_pth="../../#{lg}/manifest" + file=harvest_pth + '/' + 'topics.html' + elsif @env.output_dir_structure.by? == :filetype + harvest_pth='.' + file=harvest_pth + '/' + 'topics.' + lg + '.html' + elsif @env.output_dir_structure.by? == :filename + harvest_pth='.' + file=harvest_pth + '/topics.' + lg + '.html' + end + l=ln[lg][:t] + harvest_languages += + %{#{l}   } + end + sv=SiSU_Env::InfoVersion.instance.get_version + if @env.output_dir_structure.by? == :language + home_pth='../..' + output_structure_by='(output organised by language & filetype)' + elsif @env.output_dir_structure.by? == :filetype + home_pth='..' + output_structure_by='(output organised by filetype)' + elsif @env.output_dir_structure.by? == :filename + home_pth='.' + output_structure_by='(output organised by filename)' + else + home_pth='.' + output_structure_by='(output organised by ?)' + end + < + + + +SiSU Metadata Harvest - Topics + + + + + + + + + + + + +

SiSU Metadata Harvest - Topics #{output_structure_by}

+

[ HOME ] also see SiSU Metadata Harvest - Authors

+

#{@env.widget_static.search_form}

+
+

#{harvest_languages}

+
+WOK + end + def html_head + @the_idx.keys.each do |lng| + @output[lng][:html_mnt] \ + << html_head_adjust(lng,'maintenance') \ + if @opt.act[:maintenance][:set]==:on + @output[lng][:html] << html_head_adjust(lng) + end + end + def html_alph + a=[] + a << '

' + @alph.each do |x| + a << ((x =~/[0-9]/) \ + ? '' + : %{#{x}, }) + end + a=a.join + @the_idx.keys.each do |lng| + @output[lng][:html_mnt] << a \ + if @opt.act[:maintenance][:set]==:on + @output[lng][:html] << a + end + end + def html_tail + a =< + + + + + + +#{SiSU_Proj_HTML::Bits.new.credits_sisu} + + +WOK + @the_idx.keys.each do |lng| + @output[lng][:html_mnt] << a \ + if @output[lng][:html_mnt].is_a?(File) + @output[lng][:html] << a + end + end + def do_html(lng,html) + @output[lng][:html] << html + end + def do_html_maintenance(lng,html) + @output[lng][:html_mnt] << html \ + if @output[lng][:html_mnt].is_a?(File) + end + def do_string(lng,attrib,string) + html=%{

#{string}

} + do_html(lng,html) + do_html_maintenance(lng,html) \ + if @output[lng][:html_mnt].is_a?(File) + end + def do_string_default(lng,attrib,string) + html=%{

#{string}

} + do_html(lng,html) + end + def do_string_maintenance(lng,attrib,string) + html=%{

#{string}

} + do_html_maintenance(lng,html) \ + if @output[lng][:html_mnt].is_a?(File) + end + def do_string_name(lng,attrib,string) + f=/^(\S)/.match(string)[1] + if @lng != lng + @alph=@alphabet_list.dup + @letter=@alph.shift + @lng = lng + end + if @letter < f + while @letter < f + if @alph.length > 0 + @letter=@alph.shift + if @output[lng][:html_mnt].is_a?(File) + @output[lng][:html_mnt] \ + << %{\n

#{@letter}

} + end + @output[lng][:html] \ + << %{\n

#{@letter}

} + else break + end + end + end + name=string.strip.gsub(/\s+/,'_') + html=%{

#{string}

} + do_html(lng,html) + do_html_maintenance(lng,html) \ + if @output[lng][:html_mnt].is_a?(File) + end + def do_array(lng,lv,array) + lv+=1 + array.each do |b| + do_case(lng,lv,b) + end + end + def do_hash_md(lng,attrib,hash) + lang_code_insert=SiSU_Env::FilenameLanguageCodeInsert.new(@opt,lng).language_code_insert + manifest_at=if @env.output_dir_structure.by? == :language + hash[:file] + Sfx[:html] + elsif @env.output_dir_structure.by? == :filetype + hash[:file] + lang_code_insert + Sfx[:html] + elsif @env.output_dir_structure.by? == :filename + "./#{hash[:file]}/#{hash[:page]}" + else '' #error + end + html=%{#{hash[:title]} - #{hash[:author]}} + do_string_default(lng,attrib,html) + end + def do_hash_md_maintenance(lng,attrib,hash) + if @output[lng][:html_mnt].is_a?(File) #should not be run for presentation output + html=%{[src]  #{hash[:title]} - #{hash[:author]}} + do_string_maintenance(lng,attrib,html) + end + end + def do_hash(lng,lv,hash) + lv+=1 + key=[] + hash.each_key do |m| + if m == :md + do_case(lng,lv,hash[m]) + elsif m != :title \ + and m != :author \ + and m != :filename \ + and m != :file \ + and m != :rough_idx \ + and m != :page + key << m + elsif m == :title + do_hash_md(lng,'work',hash) + do_hash_md_maintenance(lng,'work',hash) + end + end + if key.length > 0 + key.sort.each do |m| + attrib="lev#{lv}" + lv==0 ? do_string_name(lng,attrib,m) : do_string(lng,attrib,m) + do_case(lng,lv,hash[m]) + end + end + end + def do_case(lng,lv,a) + case a + when String + attrib="lev#{lv}" + if a=~/S/ + lv==0 ? do_string_name(lng,attrib,a) : do_string(lng,attrib,a) + end + when Array + do_array(lng,lv,a) + when Hash + do_hash(lng,lv,a) + end + end + #def html_body + # the_idx=@the_idx + # the_idx.each_pair do |lng,lng_array| + # lng_array.sort.each do |a| + # do_case(lng,-1,a) + # end + # end + #end + self + end + end +end +__END__ +terms -|_ t{tl1} -|_ {fa}[fa]{filenames and other details} + | |_ {tl2} -|_ {fa}[fa]{filenames and other details} + | | |_{tl3} -|_ {fa}[fa]{filenames and other details} + | | | |_{tl4} - {fa}[fa]{filenames and other details} + | | | | + | | | |_{tl4a} - {fa}[fa]{filenames and other details} + | | | | + | | | |_{tl4b} - {fa}[fa]{filenames and other details} + | | | | + | | | |_ ... + | | | + | | |_{tl3a} - {fa}[fa]{filenames and other details} + | | + | |_{tl2a} - {fa}[fa]{filenames and other details} + | + |_ t{tl1a} -|_ {fa}[fa]{filenames and other details} + |_ ... +#+END_SRC + +** authors +*** html_harvest_authors.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/html_harvest_authors.rb" +# <> +module SiSU_HarvestAuthors + require_relative 'html_harvest_author_format' # html_harvest_author_format.rb + require_relative 'html_parts' # html_parts.rb + class Songsheet + @@the_idx_authors={} + def initialize(opt,env) + @opt,@env=opt,env + @file_list=opt.files + end + def songsheet + idx_array={} + @opt.f_pths.each do |y| + lang_hash_file_array={} + 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 + lang_hash_file_array[y[:lng_is]] ||= [] + lang_hash_file_array[y[:lng_is]] << line + elsif line =~/^@\S+?:(?:\s|$)/m \ + or line =~/^(?:\s*\n|%+ )/ + else break + end + end + end + lang_hash_file_array.each_pair do |lang,a| + idx_array[lang] ||= [] + idx_array=SiSU_HarvestAuthors::Harvest.new( + @opt, + @env, + a, + filename, + name, + idx_array, + lang + ).extract_harvest + end + end + the_idx=SiSU_HarvestAuthors::Index.new( + idx_array, + @@the_idx_authors + ).construct_book_author_index + SiSU_HarvestAuthors::OutputIndex.new( + @opt, + the_idx + ).html_print.html_songsheet + end + end + class Harvest + def initialize(opt,env,data,filename,name,idx_array,lang) + @opt, @env,@data,@filename,@name,@idx_array,@lang= + opt,env, data, filename, name, idx_array, lang + end + def extract_harvest + data, filename, name, idx_array, lang = + @data,@filename,@name,@idx_array,@lang + @title=@subtitle=@fulltitle=@author=@author_format=@date=nil + @authors=[] + rgx={} + rgx[:author]=/^@creator:(?:[ ]+|.+?:author:[ ]+)(.+?)(?:\||\n)/m + rgx[:title]=/^@title:[ ]+(.+)/ + rgx[:subtitle]=/^@title:.+?:subtitle:[ ]+(.+?)\n/m + rgx[:date]=/^@date:(?:[ ]+|.+?:published:[ ]+)(\d{4})/m + data.each do |para| + if para=~ rgx[:title] + @title=rgx[:title].match(para)[1] + end + if para=~ rgx[:subtitle] + @subtitle=rgx[:subtitle].match(para)[1] + end + if para=~ rgx[:author] + @author_format=rgx[:author].match(para)[1] + end + if para=~ rgx[:date] + @date=rgx[:date].match(para)[1] + end + break if @title && @subtitle && @author && @date + end + @fulltitle=@subtitle \ + ? (@title + ' - ' + @subtitle) + : @title + if @title \ + and @author_format + creator=SiSU_FormatAuthor::Author.new(@author_format.strip).author_details + @authors,@authorship=creator[:authors],creator[:authorship] + file=if name=~/~[a-z]{2,3}\.ss[mt]$/ + name.sub(/~[a-z]{2,3}\.ss[mt]$/,'') + else + name.sub(/\.ss[mt]$/,'') + end + page=if @env.output_dir_structure.by? == :language + "#{lang}/sisu_manifest.html" + else + "sisu_manifest.#{lang}.html" + end + idx_array[lang] <<= { + filename: filename, + file: file, + date: @date, + title: @fulltitle, + author: creator, + page: page, + lang: lang + } + else + #p "missing author field: #{@filename} title: #{@title}; author: #{@author_format}" + end + idx_array[lang]=idx_array[lang].flatten + idx_array + end + end + class Index + def initialize(idx_array,the_idx) + @idx_array,@the_idx=idx_array,the_idx + @@the_idx_authors=@the_idx + end + def capital(txt) + txt[0].chr.capitalize + txt[1,txt.length] + end + def construct_book_author_index + idx_array=@idx_array + idx_array.each_pair do |lang,idx_arr| + @@the_idx_authors[lang] ||= {} + idx_arr.each do |idx| + idx[:author][:last_first_format_a].each do |author| + author=author.strip + if @@the_idx_authors[lang][author].is_a?(NilClass) + @@the_idx_authors[lang][author]={ md: [] } + end + @@the_idx_authors[lang][author][:md] << { + filename: idx[:filename], + file: idx[:file], + author: idx[:author], + title: idx[:title], + date: idx[:date], + page: idx[:page], + lang: idx[:lang] + } + end + end + end + @the_idx=@@the_idx_authors + end + end + class OutputIndex + require_relative 'i18n' # i18n.rb + def initialize(opt,the_idx) + @opt,@the_idx=opt,the_idx + @env=SiSU_Env::InfoEnv.new + @rc=SiSU_Env::GetInit.new.sisu_yaml.rc + @alphabet_list=%W[9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z] + @alph=@alphabet_list.dup + @letter=@alph.shift + end + def html_file_open + @the_idx.keys.each do |lng| + @output ||={} + @output[lng] ||={} + harvest_pth,file='','' + if @env.output_dir_structure.by? == :language + harvest_pth=@env.path.webserv + '/' \ + + @opt.base_stub + '/' \ + + lng + '/' \ + + 'manifest' + file="#{harvest_pth}/authors.html" + elsif @env.output_dir_structure.by? == :filetype + harvest_pth=@env.path.webserv + '/' \ + + @opt.base_stub + '/' \ + + 'manifest' + file="#{harvest_pth}/authors.#{lng}.html" + elsif @env.output_dir_structure.by? == :filename + harvest_pth=@env.path.webserv + '/' \ + + @opt.base_stub + file="#{harvest_pth}/authors.#{lng}.html" + end + FileUtils::mkdir_p(harvest_pth) \ + unless FileTest.directory?(harvest_pth) + fileinfo=(@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:urls_selected][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? ("file://#{file}") : '' + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "harvest authors (#{@opt.files.length} files)", + fileinfo + ).dark_grey_title_hi unless @opt.act[:quiet][:set]==:on + @output[lng][:html]=File.new(file,'w') + end + end + def html_file_close + @the_idx.keys.each do |lng| + @output[lng][:html].close + @output[lng][:html_mnt].close \ + if @output[lng][:html_mnt].is_a?(File) + end + end + def html_print + def html_songsheet + html_file_open + html_head + html_alph + html_body + html_tail + html_file_close + end + def html_head_adjust(lng,type='') + css_path,topics='','' + if @env.output_dir_structure.by? == :language + css_path=(type !~/maintenance/) \ + ? '../../_sisu/css/harvest.css' + : 'harvest.css' + topics='topics.html' + elsif @env.output_dir_structure.by? == :filetype + css_path=(type !~/maintenance/) \ + ? '../_sisu/css/harvest.css' + : 'harvest.css' + topics="topics.#{lng}.html" + elsif @env.output_dir_structure.by? == :filename + css_path=(type !~/maintenance/) \ + ? './_sisu/css/harvest.css' + : 'harvest.css' + topics="topics.#{lng}.html" + end + ln=SiSU_i18n::Languages.new.language.list + harvest_languages='' + @the_idx.keys.each do |lg| + if @env.output_dir_structure.by? == :language + harvest_pth="../../#{lg}/manifest" + file="#{harvest_pth}/authors.html" + elsif @env.output_dir_structure.by? == :filetype + harvest_pth='.' + file="#{harvest_pth}/authors.#{lg}.html" + elsif @env.output_dir_structure.by? == :filename + harvest_pth='.' + file="#{harvest_pth}/authors.#{lg}.html" + end + l=ln[lg][:t] + harvest_languages += + %{#{l}   } + end + sv=SiSU_Env::InfoVersion.instance.get_version + if @env.output_dir_structure.by? == :language + home_pth='../..' + output_structure_by= + '(output organised by language & filetype)' + elsif @env.output_dir_structure.by? == :filetype + home_pth='..' + output_structure_by= + '(output organised by filetype)' + elsif @env.output_dir_structure.by? == :filename + home_pth='.' + output_structure_by= + '(output organised by filename)' + else + home_pth='.' + output_structure_by='(output organised by ?)' + end + < + + + +SiSU Metadata Harvest - Authors + + + + + + + + + + + + +

SiSU Metadata Harvest - Authors #{output_structure_by}

+

[ HOME ] also see SiSU Metadata Harvest - Topics

+

#{@env.widget_static.search_form}

+
+

#{harvest_languages}

+
+WOK + end + def html_head + @the_idx.keys.each do |lng| + @output[lng][:html_mnt] \ + << html_head_adjust(lng,'maintenance') \ + if @opt.act[:maintenance][:set]==:on + @output[lng][:html] \ + << html_head_adjust(lng) + end + end + def html_alph + a=[] + a << '

' + @alph.each do |x| + a << ((x =~/[0-9]/) \ + ? '' + : %{#{x}, }) + end + a=a.join + @the_idx.keys.each do |lng| + @output[lng][:html_mnt] << a \ + if @opt.act[:maintenance][:set]==:on + @output[lng][:html] << a + end + end + def html_tail + a =< + + + + + + +#{SiSU_Proj_HTML::Bits.new.credits_sisu} + + +WOK + @the_idx.keys.each do |lng| + @output[lng][:html_mnt] << a \ + if @output[lng][:html_mnt].is_a?(File) + @output[lng][:html] << a + end + end + def do_html(lng,html) + @output[lng][:html_mnt] << html \ + if @output[lng][:html_mnt].is_a?(File) + @output[lng][:html] << html + end + def do_string_name(lng,attrib,string) + f=/^(\S)/.match(string[0])[1] + if @lng != lng + @alph=@alphabet_list.dup + @letter=@alph.shift + @lng = lng + end + if @letter < f + while @letter < f + if @alph.length > 0 + @letter=@alph.shift + if @output[lng][:html_mnt].is_a?(File) + @output[lng][:html_mnt] \ + << %{\n

#{@letter}

} + end + @output[lng][:html] \ + << %{\n

#{@letter}

} + else break + end + end + end + end + def html_body + the_idx=@the_idx + the_idx.each_pair do |lng,lng_array| + lng_array.sort.each do |a| + do_string_name(lng,'',a) + name=a[0].sub(/(.+?)(?:,.+|$)/,'\1').gsub(/\s+/,'_') + x = %{

#{a[0]}

} + if @output[lng][:html_mnt].is_a?(File) + @output[lng][:html_mnt] << x + end + @output[lng][:html] << x + lang_code_insert=SiSU_Env::FilenameLanguageCodeInsert.new(@opt,lng).language_code_insert + works=[] + a[1][:md].each do |i| + manifest_at=if @env.output_dir_structure.by? == :language + i[:file] + Sfx[:html] + elsif @env.output_dir_structure.by? == :filetype + i[:file] + lang_code_insert + Sfx[:html] + elsif @env.output_dir_structure.by? == :filename + './' + i[:file] + '/' + i[:page] + else '' #error + end + work=[ + "#{i[:date]} #{i[:title]}", + %{

#{i[:date]} #{i[:title]}, #{i[:author][:authors_s]}

} + ] + works<<=(@output[lng][:html_mnt].is_a?(File)) \ + ? (work.concat([%{

[src]  #{i[:date]} #{i[:title]}, #{i[:author][:authors_s]} -- [#{i[:file]}.sst]

}])) + : work + end + works.sort_by {|y| y[0]}.each do |z| + @output[lng][:html] << z[1] + @output[lng][:html_mnt] << z[2] \ + if @output[lng][:html_mnt].is_a?(File) + end + end + end + end + self + end + def screen_print + def cycle + the_idx=@the_idx + the_idx.sort.each do |a| + puts a[0] + a[1][:md].each do |x| + puts "\t" + x[:file] + end + end + end + self + end + end +end +__END__ +#+END_SRC + +*** html_harvest_author_format.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/html_harvest_author_format.rb" +# <> +module SiSU_FormatAuthor + class Author + def initialize(author_param) + @author_param=author_param + end + def author_details + @authors,@author_array=[],[] + authors=@author_param.scan(/[^;]+/) + authors.each do |a| + a=a.strip + if a =~/"(.+?)"/ + @authors << { the: $1 } + @author_array << $1.upcase + else #if a =~/,/ + x=a.scan(/[^,]+/) + x[0]=x[0].strip + x[1]=x[1].strip if x[1] + if x.length==1 + @authors << { the: x[0] } + @author_array << x[0].upcase + elsif x.length==2 + @authors << { the: x[0], others: x[1] } + @author_array << "#{x[0].upcase}, #{x[1]}" + else #p x.length + end + end + end + l = @authors.length + authors_string='' + @authors.each_with_index do |a,i| + authors_string += if a[:others] + if (l - i) > 1 + "#{a[:others]} #{a[:the]}, " + else + "#{a[:others]} #{a[:the]}" + end + else + if (l - i) > 2 + "#{a[:the]}, " + else + "#{a[:the]}" + end + end + end + { + last_first_a: authors, + last_first_format_a: @author_array, + authors_h: @authors, + authors_s: authors_string, + authors_param: @author_param + } + end + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + harvest + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/html.org b/org/html.org new file mode 100644 index 00000000..1454226d --- /dev/null +++ b/org/html.org @@ -0,0 +1,5971 @@ +-*- mode: org -*- +#+TITLE: sisu html +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:html: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* html +** part +*** html.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/html.rb" +# <> +module SiSU_HTML + begin + require 'pstore' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('pstore NOT FOUND (LoadError)') + end + require_relative 'se_hub_particulars' # se_hub_particulars.rb + include SiSU_Particulars + require_relative 'html_table' # html_table.rb + require_relative 'html_parts' # html_parts.rb + require_relative 'html_format' # html_format.rb + include SiSU_HTML_Format + require_relative 'html_segments' # html_segments.rb + include SiSU_HTML_Seg + require_relative 'html_scroll' # html_scroll.rb + require_relative 'html_promo' # html_promo.rb + include SiSU_HTML_Promo + require_relative 'html_tune' # html_tune.rb + include SiSU_HTML_Tune + class Source + def initialize(opt) + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + end + def read + begin + songsheet + ensure + SiSU_Env::CreateSite.new(@opt).cp_css + SiSU_Env::CreateSite.new(@opt).cp_base_images + Dir.chdir(@opt.f_pth[:pth]) + end + end + def songsheet + begin + @md=@particulars.md + @fnb=@md.fnb + @env=@particulars.env + primary_output_file=(@opt.act[:html_seg][:set]==:on) \ + ? (@md.file.output_path.html_seg.dir + '/' + @md.file.base_filename.html_segtoc) + : (@md.file.output_path.html_scroll.dir + '/' + @md.file.base_filename.html_scroll) + unless @opt.act[:quiet][:set]==:on + tool=(@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? ("#{@env.program.web_browser} file://#{primary_output_file}") + : ("[#{@opt.f_pth[:lng_is]}] #{@opt.fno}") + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'HTML', + tool + ).green_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'HTML', + tool + ).green_title_hi + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + @opt.fns, + "file://#{primary_output_file}" + ).flow + end + end + data=nil + tuned_file_array=SiSU_HTML::Source::HTML_Environment.new(@particulars).tuned_file_instructions + data=tuned_file_array + if @opt.act[:html_scroll][:set]==:on + scr_endnotes=SiSU_HTML::Source::Endnotes.new(data,@md).scroll + end + toc=SiSU_HTML::Source::Toc.new(@md,data).songsheet + links_guide=SiSU_HTML::Source::LinksGuide.new(data,@md).toc + data=tuned_file_array + scr_toc=SiSU_HTML::Source::ScrollHeadAndSegToc.new(@md,toc,links_guide).in_common #watch + if @opt.act[:html_seg][:set]==:on + SiSU_HTML::Source::Seg.new(@md,data).songsheet + end + data=tuned_file_array + if @opt.act[:html_scroll][:set]==:on + scr=SiSU_HTML::Source::Scroll.new(@md,data,scr_endnotes).songsheet + scroll=SiSU_HTML::Source::ScrollOutput.new( + scr_toc, + scr[:body], + scr[:metadata], + scr[:owner_details], + scr[:tails], + @md + ).publish + SiSU_HTML::Source::Output.new(scroll,@md).scroll + end + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + unless (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + texfiles=Dir["#{@env.processing_path.tune}/#{@opt.fns}*"] + texfiles.each do |f| + if FileTest.file?(f) + File.unlink(f) + end + end + end + SiSU_Env::Clear.new(@opt.selections.str,@opt.fns,@md).param_instantiate + @@flag,@@scr,@@seg,@@seg_endnotes,@@seg_subtoc={},{},{},{},{} + @@tracker=0 + @@seg_name,@@seg_name_x,@@seg_subtoc_array,@@seg_endnotes_array,@@tablefoot=Array.new(5){[]} + @@filename_seg,@@seg_url,@@to_lev4,@@get_hash_to,@@get_hash_fn='','','','','' + end + end + private + class HTML_Environment + def initialize(particulars) + @particulars=particulars + @md,@env=particulars.md,particulars.env + @env,@css=particulars.env,SiSU_Style::CSS.new + end + def tuned_file_instructions + @tell=SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set]) + ao_array=@particulars.ao_array # ao file drawn here + tuned_file_array=SiSU_HTML_Tune::Tune.new(ao_array,@md).songsheet + tuned_file_array + end + end + class LinksGuide + @links_guide_toc=[] + def initialize(data,md) + @data,@md=data,md + @links_guide_=SiSU_Env::CreateSite.new(@md.opt).html_quick_ref? + end + def toc + @links_guide_toc=[] + if @links_guide_ + format_head_toc=SiSU_HTML_Format::HeadToc.new(@md) + guide_type='horzontal' #values: horizontal or vertical + @links_guide_toc << format_head_toc.links_guide_open(guide_type) + if defined? @md.lnk \ + and @md.lnk + @md.lnk.each do |l| + if defined? l[:say] + target=(l[:url] !~/^\.(\.)?\//) \ + ? 'external' + : '_top' + s_lnk_url,s_lnk_lnk=l[:url],l[:say] + txt_obj={ + lnk_url: s_lnk_url, + lnk_txt: s_lnk_lnk, + target: target, + } + lev_dob_ocn=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + @links_guide_toc << lev_dob_ocn.links_guide if s_lnk_lnk + end + end + end + format_head_toc=SiSU_HTML_Format::HeadToc.new(@md) + @links_guide_toc << format_head_toc.links_guide_close #(guide_type) + @links_guide_toc + else '' + end + end + end + class Endnotes + include SiSU_HTML_Format + def initialize(data,md) + @data,@md=data,md + end + def scroll + @scr_endnotes=[] + SiSU_HTML_Format::HeadScroll.new(@md) + @data.each do |dob| + pg=dob.dup + unless pg.is ==:code + if pg.obj =~/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]})[\d*+]+ / + endnote_array=[] + if pg.obj=~/#{Mx[:en_a_o]}[\d*+].+?#{Mx[:en_a_c]}/m + endnote_array = pg.obj.scan(/#{Mx[:en_a_o]}[\d*+]+(.+?)#{Mx[:en_a_c]}/m) + end + if pg.obj=~/#{Mx[:en_b_o]}[\d*]+\s.+?#{Mx[:en_b_c]}/m + endnote_array = pg.obj.scan(/#{Mx[:en_b_o]}[\d*]+(.+?)#{Mx[:en_b_c]}/m) + end + if pg.obj=~/#{Mx[:en_b_o]}[\d+]+\s.+?#{Mx[:en_b_c]}/m + endnote_array = pg.obj.scan(/#{Mx[:en_b_o]}[\d+]+(.+?)#{Mx[:en_b_c]}/m) + end + endnote_array.flatten.each do |note| + txt_obj={ txt: note } + format_scroll=SiSU_HTML_Format::FormatScroll.new(@md,txt_obj) + @scr_endnotes << format_scroll.endnote_body + end + end + end + end + @scr_endnotes + end + end + class Toc ' + minitoc + '' + end + protected + def rss #sort all wrong, disabled but kept + @@toc[:seg] <<< +
+

+(relatively static) RSS feeds for DOCUMENTS:
+RSS feed http://www.jus.uio.no/lm/rssfeed/documents.xml
+RSS feed http://www.jus.uio.no/lm/rssfeed/tradelaw.xml
+RSS feed http://www.jus.uio.no/lm/rssfeed/environmental.xml
+

info@address.com
+

+
+WOK + end +#not used --> + def level_endnotes + if @md.flag_endnotes + format_head_scroll=SiSU_HTML_Format::HeadScroll.new(@md) + @@toc[:scr] << format_head_scroll.toc_endnote + end + end + def level_concordance + format_head_toc=SiSU_HTML_Format::HeadToc.new(@md) + @@toc[:seg_mini] << format_head_toc.mini_seg_concordance + end + def level_metadata + format_head_toc=SiSU_HTML_Format::HeadToc.new(@md) + @@toc[:scr] << format_head_toc.metadata + @@toc[:seg] << format_head_toc.seg_metadata + @@toc[:seg_mini] << format_head_toc.mini_seg_metadata + end + def level_word_index + format_head_toc=SiSU_HTML_Format::HeadToc.new(@d0c) + @@toc[:scr] << format_head_toc.concordance + @@toc[:seg] << format_head_toc.concordance + @@toc[:seg_mini] << format_head_toc.mini_concordance + end +# <-- not used + def level_0 + dob=@data + linkname,link=dob.obj.strip,dob.ocn + if link \ + and link.to_s !~/#/ #% keep eye on link + SiSU_HTML_Format::ParagraphNumber.new(@md,link) + end + title=linkname + toc={} + txt_obj={ txt: title } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc[:seg]=format_toc.lev0 + toc[:seg_mini]=format_toc.mini_lev0 + title=if dob.ocn ==0 then linkname + else + @@toc[:scr] << '
' + %{#{linkname}} + end + txt_obj={ txt: title } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc[:scr]=format_toc.lev0 + toc + end + def level_1 + dob=@data + linkname,link=dob.obj.strip,dob.ocn + if link \ + and link.to_s !~/#/ #% keep eye on link + SiSU_HTML_Format::ParagraphNumber.new(@md,link) + end + title=if dob.obj !~/^Metadata$/ then linkname + else + link='metadata' + %{#{linkname}} + end + toc={} + txt_obj={ txt: title } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc[:seg]=if dob.name =~/^meta/ \ + and dob.obj =~/Document Information/ + format_toc.lev0 + else format_toc.lev1 + end + toc[:seg_mini]=if dob.name =~/^meta/ \ + and dob.obj =~/Document Information/ + @md.concord_make \ + ? format_toc.mini_concord_tail + : format_toc.mini_tail + else format_toc.mini_lev1 + end + title=if dob.ocn ==0 + if dob.name =~/^meta/ \ + and dob.obj =~/Document Information/ + %{#{linkname}} + else linkname + end + else + @@toc[:scr] << '
' + %{#{linkname}} + end + txt_obj={ txt: title } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc[:scr]=if dob.obj =~/^Metadata$/ then '' + elsif txt_obj[:txt] =~// + format_toc.lev1.gsub(/|<\/a>/,'') + else format_toc.lev1 + end + toc + end + def level_2 + dob=@data + linkname,ocn=dob.obj.strip,dob.ocn + p_num=if ocn \ + and ocn.to_s !~/#/ + SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) + else nil + end + txt_obj={ txt: linkname } + format_toc=SiSU_HTML_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}} + txt_obj={ txt: title } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc[:scr]=if txt_obj[:txt] =~// + format_toc.lev2.gsub(/|<\/a>/,'') + else format_toc.lev2 + end + end + toc + end + def level_3 + dob=@data + linkname,ocn=dob.obj.strip,dob.ocn + p_num=if ocn \ + and ocn.to_s !~/#/ + SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) + else nil + end + txt_obj={ txt: linkname } + format_toc=SiSU_HTML_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}} + txt_obj={ txt: title } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc[:scr]=if txt_obj[:txt] =~// + format_toc.lev3.gsub(/|<\/a>/,'') + else format_toc.lev3 + end + end + toc + end + def level_4 + dob=@data + linkname,ocn=dob.obj.strip,dob.ocn + p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) if ocn + if dob.ln ==4 + fnh={ + fn: dob.name, + } + f=@md.file.base_filename.html_seg(fnh) + seg_link=%{ + #{dob.obj} + } + @@seg_url=dob.name + elsif dob.obj =~/\d+.\d+.\d+.\d+|\d+.\d+.\d+|\d+.\d+|\d+/ + fn,hd=/^(\d+.\d+.\d+.\d+|\d+.\d+.\d+|\d+.\d+|\d+)(.*)/.match(dob.obj)[1,2] + fnh={ + fn: fn, + } + f=@md.file.base_filename.html_seg(fnh) + seg_link=%{#{fn} #{hd} } + end + p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) if ocn + @file=SiSU_Env::FileOp.new(@md) if @md + txt_obj=if seg_link=~/sisu_manifest\.html/ + man_link=if @file.output_dir_structure.by_language_code? \ + or @file.output_dir_structure.by_filetype? + seg_link.gsub(/sisu_manifest\.html/,"../../manifest/#{@file.base_filename.manifest}") + else seg_link + end + { txt: man_link } + else { txt: seg_link } + end + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc={} + toc[:seg]=format_toc.lev4 + toc[:seg_mini]=format_toc.mini_lev4 + title=%{#{p_num.goto}#{linkname}} if p_num + txt_obj=if title=~/sisu_manifest.html/ + man_link=title.gsub(/sisu_manifest.html/,"../manifest/#{@file.base_filename.manifest}") + { txt: man_link } + else { txt: title } + end + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc[:scr]=format_toc.lev4 + toc + #end + end + def level_5 + dob=@data + linkname,ocn=dob.obj.strip,dob.ocn + toc={} + if ocn \ + and ocn.to_s !~/#/ + fnh={ + fn: @@seg_url, + } + f=@md.file.base_filename.html_seg(fnh) + p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) + lnk_n_txt=%{ + #{linkname} + } + txt_obj={ txt: lnk_n_txt } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc[:seg]=format_toc.lev5 + toc[:seg_mini]=format_toc.mini_lev5 + title=%{#{p_num.goto}#{linkname}} + txt_obj={ txt: title } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc[:scr]=format_toc.lev5 + end + toc + end + def level_6 + dob=@data + linkname,ocn=dob.obj.strip,dob.ocn + toc={} + if ocn \ + and ocn.to_s !~/#/ + fnh={ + fn: @@seg_url, + } + f=@md.file.base_filename.html_seg(fnh) + p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) + lnk_n_txt=%{ + #{linkname} +} + txt_obj={ txt: lnk_n_txt } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc[:seg]=format_toc.lev6 + toc[:seg_mini]=format_toc.mini_lev6 + title=%{#{p_num.goto}#{linkname}} + txt_obj={ txt: title } + format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj) + toc[:scr]=format_toc.lev6 + end + toc + end + def level_crosslink + dob=@data + dob=if dob !~/^4~!/ + dob.gsub(/^4~!\s+(\S+)\s+(.+)/, + %{ +
+ #{@png.crosslink_ext} +   \\2 + <\/a> +
+}) + else + dob.gsub(/^4~!\s+(\S+)\s+(.+)/, + %{
+ + + #{@png.crosslink} +   \\2 + <\/a> +
+}) + end + end + end + class ScrollHeadAndSegToc < Toc + include SiSU_Parts_HTML + def initialize(md='',toc='',links_guide_toc='') + @md,@toc,@links_guide_toc=md,toc,links_guide_toc + @make=SiSU_Env::ProcessingSettings.new(@md) + end + def in_common + toc_shared=[] + @segtoc=[] + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + 'Scroll & Segtoc' + ).txt_grey + end + format_head_toc=SiSU_HTML_Format::HeadToc.new(@md) + dochead=format_head_toc.head + dochead=dochead.gsub(/toc\.(html)/,'doc.\1') #kludge + toc_shared << dochead + @segtoc << format_head_toc.head + if @make.build.html_top_band? + toc_shared << format_head_toc.scroll_head_navigation_band + end + if defined? @md.rights.all + rights=format_head_toc.rights.all + rights=SiSU_HTML_Tune::CleanHTML.new(rights).clean + end + if @md.prefix_b + prefix_b=format_head_toc.notes.prefix_b + prefix_b=SiSU_HTML_Tune::CleanHTML.new(prefix_b).clean + end + if @make.build.html_top_band? + @segtoc << format_head_toc.seg_head_navigation_band + end + toc_shared << format_head_toc.scroll_head_title_banner_open + @segtoc << format_head_toc.seg_head_title_banner_open + tmp_head=nil + doc_title_endnote=@md.title.full.gsub(/(\*+)/, + '\1') + tmp_head=doc_title_endnote + "\n" + txt_obj={ txt: tmp_head } + format_txt_obj=SiSU_HTML_Format::FormatTextObject.new(@md,txt_obj) + toc_shared << format_txt_obj.center_bold + @segtoc << format_txt_obj.center_bold + if defined? @md.creator.author + creator=SiSU_HTML_Tune::CleanHTML.new(@md.creator.author).clean_for_html + creator_endnote=creator.gsub(/(\*+)/, + %{ \\1}) + tmp_head=creator_endnote + "\n" + txt_obj={ txt: tmp_head } + format_txt_obj=SiSU_HTML_Format::FormatTextObject.new(@md,txt_obj) + toc_shared << format_txt_obj.center_bold + @segtoc << format_txt_obj.center_bold + end + toc_shared << "#{the_table_close*1}\n" + @segtoc << "#{the_table_close*1}\n" + tmp_head=nil + if @md.prefix_a + tmp_head ||= %{

#{@md.prefix_a}\n} + toc_shared << tmp_head.dup + @segtoc << tmp_head.dup + end + tmp_head=nil + toc_shared << @links_guide_toc + if defined? @md.rights.all #and ? @md.rights.all + toc_shared << rights + end + if defined? @md.prefix_b + toc_shared << prefix_b + end + 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 \ + and not @md.rights.all.empty? + @segtoc << rights + end + @segtoc << prefix_b if @md.prefix_b + #Segtoc tail added here + @segtoc << "

\n" #bugfix sort later DEBUGNOW + @segtoc << @seg_toc_band_bottom + @segtoc << format_head_toc.seg_navigation_tail << format_head_toc.html_close + @segtoc=@segtoc.flatten.compact #watch + if @md.opt.act[:html_seg][:set]==:on + SiSU_HTML::Source::Output.new(@segtoc,@md).segtoc + end + @segtoc=[] + @toc[:scr],@toc[:seg]=[],[] + toc_shared + end + end + class Table < SiSU_HTML_Table::TableHTML + end + class Scroll < SiSU_HTML_Scroll::Scroll + end + class ScrollOutput + def initialize(scr_toc,scr_body,scr_metadata,scr_owner_details,scr_tails,md) + @scr_toc,@scr_body,@scr_metadata,@scr_owner_details,@scr_tails,@md=scr_toc,scr_body,scr_metadata,scr_owner_details,scr_tails,md + end + def publish + scroll=[] + scroll << @scr_toc << '
' << @scr_body << @scr_endnotes << @scr_owner_details << '
' << @scr_tails + scroll=scroll.flatten.compact #watch + end + end + class Seg < SiSU_HTML_Seg::Seg + end + class Output + def initialize(data='',md='') + @data,@md=data,md + @file=SiSU_Env::FileOp.new(md) + @o_str ||=SiSU_Env::ProcessingSettings.new(md).output_dir_structure + end + def scroll + if @md.opt.act[:html_scroll][:set]==:on + begin + @filename_html_scroll=@file.write_file.html_scroll + @data.each do |para| + para=para.strip. + gsub(/<:.+?>/,''). + gsub(Xx[:html_relative2],@file.path_rel_links.html_scroll_2). + gsub(Xx[:html_relative1],@file.path_rel_links.html_scroll_1). + #gsub(/#{Xx[:html_relative]}/,@file.path_rel_links.html_scroll). + gsub(/#{Rx[:mx_fa_clean]}/,'') + unless para =~/\A\s*\Z/ + @filename_html_scroll.puts para,"\n" + end + end + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + @filename_html_scroll.close + end + end + end + def segtoc + if @md.opt.act[:html_seg][:set]==:on + begin + @filename_html_segtoc=@file.write_file.html_segtoc + @data.each do |para| + para=para.strip. + gsub(//,''). + gsub(Xx[:html_relative2],@file.path_rel_links.html_seg_2). + gsub(Xx[:html_relative1],@file.path_rel_links.html_seg_1) + unless para =~/\A\s*\Z/ + @filename_html_segtoc.puts para,"\n" + end + end + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + @filename_html_segtoc.close + pwd_set=Dir.pwd + idx_lnk=(@o_str.dump_or_redirect?) \ + ? @file.base_filename.manifest + : @file.base_filename.html_segtoc + mlnk=@file.base_filename.html_seg_index + Dir.chdir(@file.output_path.html_seg.dir) + FileUtils::rm_f(mlnk) + FileUtils::ln_s(idx_lnk,mlnk) + Dir.chdir(pwd_set) + end + end + end + end + end +end +__END__ +#+END_SRC + +*** html_parts.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/html_parts.rb" +# <> +module SiSU_Parts_HTML + require_relative 'generic_parts' # generic_parts.rb + include SiSU_Parts_Generic + def the_line_break + '
' + end + def the_table_close + ' +' + end + def the_table_cellpad_box + '"20"' + end + def the_color + def white + '#ffffff' + end + def black + '#000000' + end + def grey_pale + '#eeeeee' + end + def grey_medium + '#cccccc' + end + def grey + '#999999' + end + def blue_ink + '#003399' + end + def blue_tinge + '#e3ecef' + end + def yellow_light + '#fff3b6' + end + def table1 + 'ffffcc' + end + def table2 + 'c0d0f0' + end + def band1 + %{"#{white}"} + end + def band2 + %{"#{white}"} + end + self + end + def the_url_decoration + #def tex_open #'{\UseTextSymbol{OML}{<}}' + # Dx[:url_o] + #end + #def tex_close #'{\UseTextSymbol{OML}{>}}' + # Dx[:url_c] + #end + def xml_open #'<' + Dx[:url_o] + end + def xml_close #'>' + Dx[:url_c] + end + def txt_open + '<' + end + def txt_close + '>' + end + self + end + def the_width + def table1 + '"100%"' + end + def table2 + '"99%"' + end + def table_txt + '"94%"' + end + def table_txt_r + '"96%"' + end + self + end + def the_png + def _url_path_image_base #used for html image display + "#{Xx[:html_relative2]}_sisu/image" + end + def ico + %{ } + end + def png_home + %{#{the_text.home} -->} + end + def png_home_button + rel=@dir.path_rel_links.html_scroll_2 + %{#{the_text.home} -->} + end + self + end + def the_font + def set_fonts + 'verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman' + #'verdana, arial, georgia, tahoma, sans-serif, helvetica, "times new roman", times, roman' + end + def set_face + %{face="#{set_fonts}"} + end + def set_color + 'color="#000000"' + end + def set_size_endnote + 'size="3"' + end + def set_small + 'size="3"' + end + def set_tiny + 'size="2"' + end + def paragraph_font_tiny + %{} + end + def paragraph_font_small + %{} + end + self + end + def the_nav + def txt_homepage + %{ +  home  + } + end + def txt_toc_link + %{ +   toc  + } + end + def txt_doc_link + %{ +  scroll  + } + end + def txt_manifest + #{png_manifest} document manifest + %{ + [ document manifest ] + } + end + def txt_concordance + %{ +   A-Z  + } + end + self + end + def the_banner + def home_button_only + %{ + #{the_png.png_home_button} + } + end + def banner_band + %{ + +
+ + #{the_png.png_home} + + +#{the_table_close}} + end + def instrument_cover_band_scr + ' +
' + end + def instrument_cover_band_seg + ' +
' + end + self + end + def the_margin + def txt_0 + %{ +
+} + end + def txt_1 + %{ +
} + end + def txt_2 + %{ + +
+} + end + def txt_3 + %{ + + +} + end + def scroll(text) + if @md.fns =~ /\.(?:-|ssm\.)?sst$/ + %{ +} + end + end + def seg(text) + %{ +} + end + def search + 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(page=:seg) + 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}" + else @file.base_filename.manifest + end + if page==:manifest + manifest_lnk="#{@md.file.output_path.manifest.url}/#{@file.base_filename.manifest}" + %{} + else + %{} + end + else '' + end + end + end + class XML + end + class HeadToc < HeadInformation + def initialize(md) + super(md) + @md=md + @o_str ||=SiSU_Env::ProcessingSettings.new(md).output_dir_structure + @make=SiSU_Env::ProcessingSettings.new(@md) + @file=SiSU_Env::FileOp.new(@md) + end + def scroll_head_navigation_band + if @make.build.html_top_band? + < + #{make_scroll_search_form_and_manifest_link} + +WOK + %{
+} + end + def css + ' + + +WOK + end + def credits_sisu + %{
+
' + end + def num + '

' + end + def numless + '' + end + def num_css + ' ' + end + self + end +end +module SiSU_Proj_HTML + require_relative 'se' # se.rb + include SiSU_Env + #require_relative 'css' # css.rb + # include SiSU_Style + class Bits + include SiSU_Parts_HTML + def initialize + @v=SiSU_Env::InfoVersion.instance.get_version + #@dir=SiSU_Env::InfoEnv.new + #@date=SiSU_Env::InfoDate.new #{@date.year} + end + def txt_generator + %{ + } + end + def widget_sisu_text +< + Output generated by + + #{@v.project} + + #{@v.version} #{@v.date} (#{@v.date_stamp}) +

+WOK + end + def credits_sisu_manifest + widget_sisu_text + end + def widget_sisu +< +
+ +#{widget_sisu_text} +
+
+ #{widget_sisu} +
} + '' + end + def widget_promo # Array used to build promo from list.yml and promo.yml + # ['sisu_icon','sisu','sisu_search_libre','open_society','fsf','ruby'] + end + end + class Home + def initialize + @v=SiSU_Env::InfoVersion.instance.get_version + @dir=SiSU_Env::InfoEnv.new + @date=SiSU_Env::InfoDate.new #{@date.year} + end + def redirect + < +SiSU + + + +SiSU informtion provided at www.sisudoc.org/sisu/SiSU

+If your browser supports redirection, you will be escorted there shortly. + + +WOK + end + def homepage + < + + +SiSU information Structuring Universe - Structured information, Serialized Units - software for electronic texts, documents, books, digital libraries in plaintext, HTML, EPUB, XHTML, XML, ODF (OpenDocument), LaTeX, PDF, SQL (PostgreSQL and SQLite), and for search + + + + + + + + + + + + + + + + + +

SiSU

+

+[Manual] +

+

+[Source] +[List Info (sisu@lists.sisudoc.org)] +

+ +

SiSU Markup Samples

+

+[Source] +[Output] +

+ +
+ +

+ Structured information, Serialized Units +    + + <www.sisudoc.org> + +   or   + + <www.jus.uio.no/sisu/> + +software for electronic texts, document collections, books, digital libraries & search, with "atomic search" & text locating system (shared object citation numbering: "ocn"). +Outputs include: plaintext, HTML, EPUB, ODT (OpenDocumentText), (XHTML, XML,) LaTeX, PDF, SQL (PostgreSQL and SQLite). +

+

+ +<sisu@lists.sisudoc.org> + + +<http://lists.sisudoc.org/listinfo/sisu> + +

+

+ +<ralph@amissah.com> + + +<ralph.amissah@gmail.com> + +

+

+#{@v.project} #{@v.version} of #{@v.date_stamp} (#{@v.date}) (n*x and Ruby!), #{@date.year_static}. +

+

+w3 since October 3 1993. +

+ + +WOK + end + def home_toc + ' ' + end + end +end +__END__ +#+END_SRC + +*** html_tune.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/html_tune.rb" +# <> +require_relative 'dp' # dp.rb +module SiSU_HTML_Tune + require_relative 'se' # se.rb + include SiSU_Env; include SiSU_Screen + require_relative 'html_parts' # html_parts.rb + require_relative 'html_format' # html_format.rb #watch + @@line_mode='' + @@endnote_array=[] + @@endnote_call_counter=1 + @@table_align=' + + +
+ \;' + @@table_align_close=' + +   
' + @@counter,@@column,@columns=0,0,0 + class Output + def initialize(data,md) + @data,@md=data,md + @file=SiSU_Env::InfoFile.new(@md.fns) + @cX=SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set]).cX + end + def hard_output + @filename_tune=@file.write_file_processing.html_tune + data=[] + @data.each do |x| + unless x.obj.empty? + x.obj=x.obj.strip + data << x + end + end + data.each do |dob| + @filename_tune.puts dob, "\n" + end + end + def marshal + File.open(@file.marshal.html_tune,'w') {|f| Marshal.dump(@data.to_a,f)} + end + end + class CleanHTML + def initialize(html='') + @html=html + end + def clean_for_html + html=@html + str=if html.is_a?(String) + html + else html.obj + end + str=str.gsub(/#{Mx[:gl_o]}(#[0-9]{3})#{Mx[:gl_c]}/u,'&\1;'). + gsub(/#{Mx[:gl_o]}#([a-z]{2,4})#{Mx[:gl_c]}/u,'&\1;'). + gsub(/[<]/m,'<').gsub(/[>]/m,'>') + end + def clean + html=@html + str=if html.is_a?(String) + html + else html.obj + end + str=str.gsub(/#{Mx[:gl_o]}(#[0-9]{3})#{Mx[:gl_c]}/u,'&\1;'). + gsub(/#{Mx[:gl_o]}#([a-z]{2,4})#{Mx[:gl_c]}/u,'&\1;'). + gsub(/[\\]{2}/m,'
') + end + end + class Tune + include SiSU_Parts_HTML + def initialize(data,md) + @data,@md=data,md + @sys=SiSU_Env::SystemCall.new + @env=SiSU_Env::InfoEnv.new(@md.fns,@md) + end + def songsheet + begin + @cX=SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set]).cX + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set],'Tune').txt_grey + end + songsheet_array(@data) + #data=songsheet_array(@data) + if @md.opt.act[:maintenance][:set]==:on #Hard Output Tune Optional on/off here + SiSU_HTML_Tune::Output.new(@data,@md).hard_output + SiSU_HTML_Tune::Output.new(@data,@md).marshal + end + SiSU_HTML_Tune::Tune.new(@data,@md).output + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def songsheet_array(data) + data_tuned=[] + data.each do |dob| + dob=amp_angle_brackets(dob) + dob=endnotes_html(dob) + dob=url_markup(dob) + dob=markup(dob) + data_tuned << dob + end + data_tuned + end + def urls(data) + @words=data.each.map do |word| + if word=~/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}|image)/ + http_=true + if word =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/ + m,u=/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/.match(word).captures + elsif word =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:rel_o]}:\S+?#{Mx[:rel_c]}/ + #http_=false + m,u=/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:rel_o]}:(\S+?)#{Mx[:rel_c]}/.match(word).captures + u="#{Xx[:html_relative2]}/" + u + elsif word =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/ + http_=false + m,u=/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:rel_o]}(\S+?)#{Mx[:rel_c]}/.match(word).captures + elsif word =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}image/ + m,u=/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}(image)/.match(word).captures + end + case m + when /\.png|\.jpg|\.gif|c=|\s\d+x\d+/ + w,h=/\s(\d+)x(\d+)/.match(m).captures if m =~/\s\d+x\d+/ + w=%{width="#{w}"} if w + h=%{height="#{h}"} if h + c=m[/"(.+?)"/m,1] + caption=%{

#{c}

} if c + png=m.scan(/\S+/)[0] + image_path=@md.file.output_path.html_seg.rel_image + #image_path=(@md.fns =~/\.-ss[tm]$/) \ + #? @env.url.images_external + #: @env.url.images_local + ins=if u \ + and u.strip !~/^image$/ + %{#{caption}} + else %{#{caption}} + end + word=word.gsub(/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)/,ins) + else + link=m[/(.+)/m] + png=m.scan(/\S+/)[0].strip + link=link.strip + u=u.gsub(/(\S+)/,"#{Xx[:segment]}#\\1") if u !~/\// unless http_ #marker: in scroll remove; in seg replace + ins=%{#{link}} + word=word.gsub(/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,ins). + gsub(/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/,ins) + end + word + else word + end + end.join(' ') + end + def url_markup(dob) + unless dob.is==:code + if dob.obj =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}|image)/ + @word_mode=dob.obj.scan(/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}|image)[()\[\]]*[,.;:!?'"]{0,2}|(?:#{Mx[:gl_o]}\S+?#{Mx[:gl_c]})+|[^#{Mx[:lnk_o]}#{Mx[:lnk_c]}]+/mu) + words=urls(@word_mode) + dob.obj=dob.obj.gsub(/.+/m,words) + end #consider change, do a while loop + dob.obj=dob.obj.gsub(/\\copyright/i,%{©}) + if (dob.obj !~/\<:ad\s+\.\.\//) + dob.obj=dob.obj.gsub(/\<:ad\s+(\S+)?\s+(\S+\.png)\s+(.+)?\;\s+(.+)?\;\s*!\>/, + %{\n
\\3
\n}) + else + dob.obj=dob.obj.gsub(/\<:ad\s+(\S+)?\s+(\S+\.png)\s+(.+)?\;\s+(.+)?\;\s*\>/, + %{\n
\\3
\n}) + end + dob.obj=dob.obj.gsub(/!pick/,%{stellar}). + gsub(/!new/,%{ new}). + gsub(/<:h(.{1,7}?)>/,'\1'). + gsub(/<:to(\d{1,7}?)>/,'to { \1 } '). + gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1'). #http ftp matches escaped, no decoration + gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,%{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}). + gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,%{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}) #http ftp matches with decoration + if dob.obj =~/#{Xx[:html_relative2]}\/\S+/ \ + and dob.obj !~/(\"#{Xx[:html_relative2]}\/\S+?\"|>\s*#{Xx[:html_relative2]}\/\S+<)/ + dob.obj=dob.obj.gsub(/(#{Xx[:html_relative2]}\/\S+)/,'\1') + end + if dob.obj =~/..\/\S+/ \ + and dob.obj !~/(\"..\/\S+?\"|>\s*..\/\S+<)/ + dob.obj=dob.obj.gsub(/\.\.(\/\S+)/,%{\1}) + end + dob.obj=dob.obj.gsub(//m,'>') + end + dob + end + def amp_angle_brackets(dob) + dob.obj=dob.obj. + gsub(/&/u,'&'). + gsub(/<([a-z:\/]+)>/,"#{Dx[:lt_xml]}\\1#{Dx[:gt_xml]}"). + gsub(//u,'>') + dob + end + def endnotes_html(dob) + unless dob.is ==:code + dob.obj=dob.obj.gsub(/(#{Mx[:en_a_o]}|#{Mx[:en_b_o]})(\d+)\s+(.+?)(#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/, + %{  \\2  } + + %{\\1\\2  \\2. \\3 \\4}). + gsub(/(#{Mx[:en_b_o]})([*+]\d+)\s+(.+?)(#{Mx[:en_b_c]})/, + %{  \\2  } + + %{\\1\\2  \\2. \\3 \\4}). + gsub(/(#{Mx[:en_a_o]})([*+]+)\s+(.+?)(#{Mx[:en_a_c]})/, + %{  \\2  } + + %{\\1\\2  \\2 \\3 \\4}) + end + dob + end + def markup(dob) + dob.obj=dob.obj.gsub(/#{Mx[:mk_o]}#([a-zA-Z]+)#{Mx[:mk_c]}/,'&\1;'). + gsub(/#{Mx[:mk_o]}(#[0-9]+)#{Mx[:mk_c]}/,'&\1;') + dob.obj=dob.obj.gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}/,'
') unless dob.is==:table + dob.obj=dob.obj.gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'\1'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'\1'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'\1'). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'\1'). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,'\1'). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'\1'). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'\1'). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'\1'). + gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'\1'). # tt, kbd + gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,''). + gsub(/#{Mx[:gl_bullet]}/m,'●  '). + gsub(/#{Mx[:nbsp]}/,' '). + gsub(/<(p|br) \/>/,'<\1>') + dob=SiSU_HTML_Tune::CleanHTML.new(dob).clean + dob + end + def output + data=@data + @tuned_file=data.each.map do |dob| + dob.obj=dob.obj.strip.chomp + dob + end + @tuned_file << "\n" if (@md.fns =~/\.sst0/) #remove + @tuned_file + end + end +end +__END__ +#+END_SRC + +*** html_scroll.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/html_scroll.rb" +# <> +module SiSU_HTML_Scroll + require_relative 'html_shared' # html_shared.rb + require_relative 'html' # html.rb + require_relative 'shared_metadata' # shared_metadata.rb + require_relative 'html_promo' # html_promo.rb + class Scroll + def initialize(md='',data='',endnotes='') + @md,@data,@endnotes=md,data,endnotes + end + def songsheet + begin + scr=SiSU_HTML_Scroll::Scroll.new(@md,@data,@endnotes).markup + scr[:tails]=SiSU_HTML_Scroll::Scroll.new(@md).tails + scr + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + protected + def markup + data=@data + @rcdc=false + @scr={ body: [], metadata: [], owner_details: [] } + data.each do |dob| + dob.obj=dob.obj.gsub(/#{@md.file.output_path.html_seg.rel_image}/m, + @md.file.output_path.html_scroll.rel_image) + if defined? dob.name and dob.name =~/^meta/ \ + and dob.obj =~/Document Information/ + dob.obj=dob.obj. + gsub(/(Document Information(?: \(metadata\))?)/, + '\1') + end + if dob.obj =~/^Metadata$/ \ + and dob.lv =='B' + dob.obj=dob.obj.gsub(/Metadata/,'') #dob.obj='' + end + if defined? dob.name \ + and dob.name =~/^metadata/ \ + and dob.lv =='1' \ + and dob.obj =~/SiSU Metadata, document information/ + @rcdc=true + end + dob.obj=dob.obj.gsub(/href="[a-z0-9._-]+(#\S+?")/m,'href="\1'). # internal document links + gsub(/href="#{Xx[:segment]}/m,'href="') + if dob.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]})/ + unless dob.is ==:code + dob.obj=dob.obj. + gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ') + end + if defined? dob.ocn + @p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,dob.ocn) + end + sto=SiSU_HTML_Format::FormatTextObject.new(@md,dob) + para_html=if dob.is==:heading + x=if dob.ln==0 + sto.heading_body0 + elsif dob.ln==1 + sto.heading_body1 + elsif dob.ln==2 + sto.heading_body2 + elsif dob.ln==3 + sto.heading_body3 + elsif dob.ln==4 + sto.heading_body4 + elsif dob.ln==5 + sto.heading_body5 + elsif dob.ln==6 + sto.heading_body6 + elsif dob.ln==7 + sto.heading_body7 + end + elsif dob.is==:break \ + and dob.from==:markup + '


' + elsif dob.is==:heading_insert + x=if dob.ln==0 + unless dob.obj.empty? + sto.heading_body0 + end + elsif dob.ln==1 + unless dob.obj.empty? + sto.heading_body1 + end + elsif dob.ln==2 + unless dob.obj.empty? + sto.heading_body2 + end + elsif dob.ln==3 + unless dob.obj.empty? + sto.heading_body3 + end + elsif dob.ln==4 \ + and dob.obj !~/^(?:Endnotes|Index|Metadata|Manifest)$/ + unless dob.obj.empty? + sto.heading_body4 + end + elsif dob.ln==4 \ + and dob.obj=='Endnotes' + sto.heading_body4 + @endnotes.join("\n") + elsif dob.ln==4 \ + and dob.obj=='Index' + sto.heading_body4 + book_idx=SiSU_Particulars::CombinedSingleton. + instance.get_idx_html(@md.opt).html_idx + book_idx.each do |y| #takes book index prepared for segments & strips segment identifying info + y.gsub!(/(\1(?:-\d+)?)<\/a>/, + '\2') + end + book_idx.join("\n") + elsif dob.ln==5 + unless dob.obj.empty? + sto.heading_body5 + end + elsif dob.ln==6 + unless dob.obj.empty? + sto.heading_body6 + end + elsif dob.ln==7 + unless dob.obj.empty? + sto.heading_body7 + end + end + elsif dob.is==:para + if dob.indent \ + and dob.hang \ + and dob.indent =~/[0-9]/ \ + and dob.hang =~/[0-9]/ + if dob.bullet_ + (dob.indent =~/[1-9]/) \ + ? sto.format('li',"i#{dob.indent}") + : sto.format('li','bullet') + elsif dob.indent == dob.hang + sto.format('p',"i#{dob.indent}") + elsif dob.indent != dob.hang + sto.format('p',"h#{dob.hang}i#{dob.indent}") + else sto.para + end + else sto.para + end + elsif dob.is==:block + sto.block + elsif dob.is==:group + sto.group + elsif dob.is==:alt + sto.alt + elsif dob.is==:verse + sto.verse + elsif dob.is==:code + sto.code + elsif dob.is==:table + sto.table + elsif dob.is==:break + end + if dob.obj =~// \ + and dob.obj =~/^(?:\^~\d+\s|)/ # hmmm re-adjusted 200507, for alt endnote which should again be matched ^~ ... not in response to problem though + dob.obj='' + end + unless @rcdc + @scr[:body] << para_html unless para_html =~/\A\s*\Z/ + end + end + end + @scr + end + def tails + scr_tail=[] + format_head_scroll=SiSU_HTML_Format::HeadToc.new(@md) + scr_tail \ + << format_head_scroll.scroll_tail \ + << format_head_scroll.html_close + scr_tail + end + end +end +__END__ +#+END_SRC + +*** html_segments.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/html_segments.rb" +# <> +module SiSU_HTML_Seg + require_relative 'html_shared' # html_shared.rb + require_relative 'html' # html.rb + require_relative 'html_persist' # html_persist.rb + require_relative 'html_promo' # html_promo.rb + require_relative 'shared_metadata' # shared_metadata.rb + class Output + def initialize(md,outputfile,per,minitoc,type='') + @md, @output_seg_file,@per,@minitoc,@type= + md,outputfile, per,minitoc, type + @title_banner_=SiSU_Env::CreateSite.new(@md.opt).html_seg_title_banner? + @file=SiSU_Env::FileOp.new(@md) + @make=SiSU_Env::ProcessingSettings.new(@md) + @cl=(@make.build.html_minitoc?) \ + ? 'content' + : 'content0' + end + def output + if @per.title =~/\S/ + filename_seg=[] + if @make.build.html_top_band? + filename_seg \ + << @per.title \ + << @per.tocband_banner + else + filename_seg \ + << @per.title + end + if @type=='endnotes' + @per.headings=[] + format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) + if @title_banner_ + @per.headings \ + << format_head_seg. + title_banner(@md.title.main,@md.title.sub,@author) + end + txt_obj={ txt: 'Endnotes', ocn_display: '' } + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) + @per.headings \ + << format_seg.title_heading1 + filename_seg \ + << @per.heading_endnotes \ + << @minitoc << @per.headings \ + << %{\n
\n} \ + << @per.endnote_all \ + << '
' # << '' + elsif @type=='idx' + @per.headings=[] + format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) + if @title_banner_ + @per.headings \ + << format_head_seg. + title_banner(@md.title.main,@md.title.sub,@author) + end + txt_obj={ txt: 'Index', ocn_display: '' } + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) + @per.headings << format_seg.title_heading1 + filename_seg \ + << @per.heading_idx \ + << @minitoc << @per.headings \ + << %{\n
\n} \ + << @per.idx \ + << '
' # << '' + elsif @type=='metadata' + metadata=SiSU_Metadata::Summary.new(@md).html_display.metadata + @per.headings=[] + format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) + if @title_banner_ + @per.headings \ + << format_head_seg. + title_banner(@md.title.main,@md.title.sub,@author) + end + txt_obj={ txt: 'Metadata', ocn_display: '' } + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) + @per.headings \ + << format_seg.title_heading1 + filename_seg \ + << @per.heading_idx \ + << @minitoc \ + << @per.headings \ + << %{\n
\n} \ + << metadata \ + << '
' # << '' + else + if @make.build.html_top_band? + filename_seg \ + << @minitoc \ + << @per.headings \ + << @per.main \ + << "\n\n" + else + filename_seg \ + << @minitoc \ + << @per.main \ + << "\n\n" + end + end + filename_seg <<=if @make.build.html_top_band? + @per.tail \ + << @per.tocband_bannerless \ + << @per.credits + else + @per.tail \ + << @per.credits + end + filename_seg=filename_seg.flatten.compact #watch + filename_seg.each do |str| + unless str =~/\A\s*\Z/ + str=str.strip. + gsub(Xx[:html_relative2], + @file.path_rel_links.html_seg_2). + gsub(Xx[:html_relative1], + @file.path_rel_links.html_seg_1) + @output_seg_file << str + end + end + @output_seg_file.close + end + end + end + class Seg + @@seg_url='' + @@tracker=0 + @@seg_name=[] + attr_reader :seg_name_x,:seg_name_x_tracker + def initialize(md=nil,data='') + @md,@data=md,data + @per=SiSU_HTML_Persist::Persist.new + @seg_name_x=@per.seg_name_x=(@@seg_name || []) + @seg_name_x_tracker=@per.seg_name_x_tracker=(@@tracker || 0) + @env=SiSU_Env::InfoEnv.new(@md.fns) 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).html_seg_title_banner? + end + end + def songsheet + begin + @minitoc=SiSU_HTML::Source::Toc.new(@md,@data).minitoc + @per=SiSU_HTML_Persist::Persist.new + data=get_subtoc_endnotes(@data,@per) + data=articles(data,@per) + cleanup(@md,@per) # (((( added )))) + #### (((( END )))) #### + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + SiSU_HTML_Persist::Persist.new.persist_init + @@seg_name=@per.seg_name=[] + end + end + protected + def articles(data,per) + @per=per + tracking,newfile=0,0 + printed_endnote_seg='n' + idx_html=nil + if @md.book_idx + #my_make_source_file=SiSU_Env::CreateFile.new(@md.fns) + idx_html=SiSU_Particulars::CombinedSingleton. + instance.get_idx_html(@md.opt).html_idx + idx_html.each do |x| + @per.idx << x + end + @per.heading_idx='' + end + data.each do |dob| + if (dob.is == :heading \ + || dob.is == :heading_insert) \ + && dob.ln == 4 + @@seg_name << dob.name + @per.seg_name = @@seg_name + dob.name + end + end + @per.seg_name_x=@per.seg_name + @per.seg_name.length + testforartnum=@per.seg_name_x + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + @per.seg_name.length + ).segmented + end + map_nametags=SiSU_Particulars::CombinedSingleton. + instance.get_map_nametags(@md).nametags_map #p map_nametags + data.each do |dob| + if defined? dob.obj \ + and dob.obj =~/href="#{Xx[:segment]}#+\S+?"/ + while dob.obj =~/href="#{Xx[:segment]}#+(\S+?)"/ + m=$1 + if map_nametags[m] \ + and map_nametags[m][:segname] + inf=SiSU_Env::FileOp.new(@md) if @md + lng=(inf.output_dir_structure.by_language_code?) \ + ? '' + : '.' + @md.opt.lng + dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/, + %{href="#{map_nametags[m][:segname]}#{lng}#{Sfx[:html]}#\\1"}) + else + p "NOT FOUND name_tags: #{m}" + dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/, + %{href="#\\1"}) # not satisfactory + end + end + end + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==4 + @per.heading4=dob.obj + @per.is4=newfile=1 + end + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==3 + @per.heading3=dob.obj + @per.is4,@per.is3=0,1 + end + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==2 + @per.heading2=dob.obj + @per.is4,@per.is3,@per.is2=0,0,1 + end + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==1 + @per.heading1=dob.obj + @per.is4,@per.is3,@per.is2,@per.is1=0,0,0,1 + end + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==0 + @per.heading0=dob.obj + @per.is4,@per.is3,@per.is2,@per.is1,@per.is0=0,0,0,0,1 + end + if (@per.is1 && !@per.is2 && !@per.is3 && !@per.is4) + if not (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==0 + $_ #; check + end + end + if @per.is4==1 + if newfile==1 \ + or dob.obj =~/^#{Mx[:br_endnotes]}|^#{Mx[:br_eof]}/ + newfile=0 + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==4 + if tracking != 0 + @file=SiSU_Env::FileOp.new(@md) + unless FileTest.directory?(@file.output_path.html_seg.dir) + FileUtils::mkdir_p(@file.output_path.html_seg.dir) \ + if File.writable?("#{@file.output_path.base.dir}/.") + end + tail(@md,@per) + #SiSU_HTML_Seg::Seg.new(@md,@per).tail + fnh={ + fn: @per.seg_name_x[tracking-1], + } + fn=@md.file.base_filename.html_seg(fnh) + segfilename="#{@file.output_path.html_seg.dir}/#{fn}" + output_seg_file=File.new(segfilename,'w') if @per.seg_name_x[tracking-1] + minitoc=(@make.build.html_minitoc?) ? @minitoc : '' + if dob.is==:heading \ + || (@per.seg_name_x[tracking-1] !~/endnotes|book_index|metadata/) + SiSU_HTML_Seg::Output.new(@md,output_seg_file,@per,minitoc).output + elsif dob.is==:heading_insert + if @per.seg_name_x[tracking-1]=='endnotes' + SiSU_HTML_Seg::Output.new(@md,output_seg_file,@per,minitoc,'endnotes').output + elsif @per.seg_name_x[tracking-1]=='book_index' + SiSU_HTML_Seg::Output.new(@md,output_seg_file,@per,minitoc,'idx').output + @per.idx=[] + elsif @per.seg_name_x[tracking-1]=='metadata' + SiSU_HTML_Seg::Output.new(@md,output_seg_file,@per,minitoc,'metadata').output + else puts "#{__FILE__}::#{__LINE__}" + end + else puts "#{__FILE__}::#{__LINE__}" + end + SiSU_HTML_Seg::Seg.new.reinitialise(per) + #per=persist_init + heading_art(dob) + head(dob) + #keep use for last segment, eg if metadata is last segment + if @per.seg_name_x[tracking] =='metadata' # this is for metadata + fnh={ + fn: @per.seg_name_x[tracking], + } + fn=@md.file.base_filename.html_seg(fnh) + segfilename="#{@file.output_path.html_seg.dir}/#{fn}" + output_seg_file=File.new(segfilename,'w') + SiSU_HTML_Seg::Output.new(@md,output_seg_file,@per,minitoc,'metadata').output + #per=persist_init + Seg.new.reinitialise(per) + end + end + if tracking==0 + heading_art(dob) + head(dob) + end + end + tracking=tracking+1 + end + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==4 \ + && dob.name + @per.get_hash_to=dob.name + @per.get_hash_fn=dob.name + end + if dob.obj.is_a?(String) + markup(dob) + elsif dob.obj.is_a?(Array) + dob.obj.each do |pg| + markup(pg) + end + end + if testforartnum[tracking-1] =~/endnote/ + if printed_endnote_seg=='n' + printed_endnote_seg='y' + end + end + end + end + data + end + def heading_art(dob) + format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) + @per.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 =~/^[0-7]/) + x=if @@tracker < @per.seg_name.length-1 + format_head_seg.dot_control_pre_next + else + format_head_seg.dot_control_pre + end + else @per.dot_nav + end + else @per.dot_nav='' + end + ads=SiSU_HTML_Promo::Ad.new(@md) + @per.title=format_head_seg.head_seg << ads.div.major + end + def head(dob) + clean=/|<:.*?>/ + format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) + if @make.build.html_navigation? + if @@tracker < @per.seg_name.length-1 + @per.segtocband=if @@tracker==0 + format_head_seg.toc_next2 + else + format_head_seg.toc_pre_next2 + end + else @per.segtocband=format_head_seg.toc_pre2 + end + else @per.segtocband='' + end + @p_num ||= '' + if @per.is0==1 + @author=%{#{@md.author}\n} if @md.author.to_s =~/\S/ + @per.tocband_banner \ + << format_head_seg.navigation_band(@per.segtocband,@per.dot_nav) + @per.tocband_bannerless \ + << '
' \ + << format_head_seg.navigation_band_bottom(@per.segtocband,@per.dot_nav) + if @title_banner_ + @per.headings \ + << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author).gsub(clean,'') + end + ocn=(@per.heading0[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]) \ + ? $1 + : '' + @p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) + txt_obj={ txt: @per.heading0, ocn_display: @p_num.ocn_display } + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) + @per.headings \ + << format_seg.title_heading0.gsub(clean,'') + @per.heading0=@per.heading0. + gsub(/ 
 [\d*+]+<\/sup> <\/a>/,'') + end + if @per.is1==1 + heading1=@per.heading1 + ocn=(heading1[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]) \ + ? $1 + : '' + @p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) + txt_obj={ txt: heading1, ocn_display: @p_num.ocn_display } + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) + @per.headings \ + << format_seg.title_heading1.gsub(clean,'') + @per.heading1=@per.heading1. + gsub(/  [\d*+]+<\/sup> <\/a>/,'') + end + if @per.is2==1 + heading2=@per.heading2 + ocn=(heading2[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]) \ + ? $1 + : '' + @p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) + txt_obj={ txt: heading2, ocn_display: @p_num.ocn_display } + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) + @per.headings \ + << format_seg.title_heading2.gsub(clean,'') + @per.heading2=@per.heading2. + gsub(/  [\d*+]+<\/sup> <\/a>/,'') + end + if @per.is3==1 + heading3=@per.heading3 + ocn=(heading3[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]) \ + ? $1 + : '' + @p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) + txt_obj={ txt: heading3, ocn_display: @p_num.ocn_display } + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) + @per.headings \ + << format_seg.title_heading3.gsub(clean,'') + @per.heading3=@per.heading3. + gsub(/  [\d*+]+<\/sup> <\/a>/,'') + end + if @per.is4==1 + heading4=@per.heading4 + ocn=(heading4[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]) \ + ? $1 + : '' + @p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) + txt_obj={ txt: heading4, ocn_display: @p_num.ocn_display } + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) + @per.headings \ + << format_seg.title_heading4.gsub(clean,'') + end + @@tracker=@@tracker+1 + end + def markup(dob) + @debug=[] + SiSU_HTML_Format::HeadSeg.new(@md) + if dob.is !=:meta + if dob.is==:heading \ + || dob.is==:heading_insert \ + || dob.is == :para + @p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,dob.ocn) + end + sto=SiSU_HTML_Format::FormatTextObject.new(@md,dob) + dob_html=if dob.is == :heading \ + || dob.is==:heading_insert \ + || dob.is==:para + dob_html=if dob.is==:heading \ + || dob.is==:heading_insert + if dob.ln==4 + sto.seg_heading4 + elsif dob.ln==5 + sto.seg_heading5 + elsif dob.ln==6 + sto.seg_heading6 + elsif dob.ln==7 + sto.seg_heading6 + end + elsif dob.is==:para + if dob.indent \ + and dob.hang \ + and dob.indent =~/[0-9]/ \ + and dob.hang =~/[0-9]/ + if dob.bullet_ + if dob.indent =~/[1-9]/ + sto.format('li',"i#{dob.indent}") + else + sto.format('li','bullet') + end + elsif dob.indent == dob.hang + sto.format('p',"i#{dob.indent}") + elsif dob.indent != dob.hang + sto.format('p',"h#{dob.hang}i#{dob.indent}") + else sto.para + end + else sto.para + end + end + elsif dob.is==:block + sto.block + elsif dob.is==:group + sto.group + elsif dob.is==:alt + sto.alt + elsif dob.is==:verse + sto.verse + elsif dob.is==:code + sto.code + elsif dob.is==:table + sto.table + elsif dob.is==:break \ + and dob.from==:markup + '


' + end + if @md.flag_separate_endnotes + dob.obj=dob.obj.gsub(/"\s+href="#(#{Mx[:note]}\d+)">/,%{" href=\"endnotes#{Sfx[:html]}#\\1">}) #endnote- twice #removed file type + end + if (dob.is==:heading \ + || dob.is==:heading_insert \ + || dob.is==:para) \ + && (not dob.ocn \ + || (dob.ocn.to_s.empty?)) + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,dob) + end + dob.obj=dob.obj.gsub(/\s*(-\{{2}~\d+|<:e[:_]\d+>).*/,'') #potentially dagerous - removes all paragraphs with #?? workpoint + if dob.obj =~/
 / #endnote- note- + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,dob) + dob=format_seg.no_paranum + end + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==4 + @per.main << %{\n
\n} + @per.main << dob_html + if @make.build.segsubtoc? + @per.main << @per.seg_subtoc[@per.get_hash_fn] #% insertion of sub-toc + end + else + @per.main << dob_html #unless @@flag_alt==true + end + end + end + def tail(md,per) + @md,@per=md,per + format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) + if @md.flag_auto_endnotes \ + and @per.seg_endnotes[@per.get_hash_fn] + @per.tail << %{\n
\n
\n} + if @per.seg_endnotes[@per.get_hash_fn].flatten.length > 0 + @per.tail << format_head_seg.endnote_mark + @per.tail << @per.seg_endnotes[@per.get_hash_fn].flatten #endnotes deposited at end of individual segments ||@|EXTRACTION OF ENDNOTES| + end + @per.tail << '
' + @per.tail << '
' #this div closes div class content + end + ads=SiSU_HTML_Promo::Ad.new(@md) + @per.credits \ + << format_head_seg.credit \ + << ads.div.close \ + << ads.display \ + << format_head_seg.html_close + end + def reinitialise(per) + per.title,per.dot_nav,per.tocband_banner,per.tocband_bannerless,per.headings,per.main,per.tail,per.credits=Array.new(8){[]} + @per.segtocband=nil + end + def cleanup(md,per) + #per=persist_init + reinitialise(per) + @@tracker=0 + @per.seg_endnotes,@per.seg_subtoc={},{} + @per.seg_endnotes_array,@per.seg_subtoc_array=[],[] + per.endnote_all=[] + end + def get_subtoc_endnotes(data,per) #get endnotes & sub-table of contents subtoc + @per=per + data.each do |dob| + dob.obj=dob.obj.gsub(/
(.+?)<\/a>/mi,'\1') + if @md.flag_auto_endnotes + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && (dob.ln.to_s =~/^[0-4]/) \ + and not @per.fn.to_s.empty? + @per.seg_endnotes[@per.fn]=[] + @per.seg_endnotes[@per.fn] << @per.seg_endnotes_array + @per.seg_endnotes_array=[] if dob.ln==4 + end + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==4 #% EXTRACTION OF SUB-TOCs & SEGMENT NAME, after EXTRACTION OF ENDNOTES & SUB-TOCs + @per.seg_subtoc[@per.fn]=@per.seg_subtoc_array + @per.seg_subtoc_array=[] + if dob.name \ + and dob.obj + @per.fn=dob.name + else + if dob.name =~/\S+/ + @per.fn=dob.name + else @per.fn='' + end + end + end + end + if dob.is==:heading \ + && (dob.ln.to_s =~/^[5-7]/) + case dob.ln + when 5 + txt_obj={ txt: dob.obj.strip, ocn: dob.ocn } + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) + subtoc=format_seg.subtoc_lev5 #keep and make available, this is the subtoc + when 6 + txt_obj={ txt: dob.obj.strip, ocn: dob.ocn } + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) + subtoc=format_seg.subtoc_lev6 #keep and make available, this is the subtoc + when 7 + txt_obj={ txt: dob.obj.strip, ocn: dob.ocn } + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) + subtoc=format_seg.subtoc_lev7 #keep and make available, this is the subtoc + end + @per.seg_subtoc_array << subtoc + end + if @md.flag_auto_endnotes + if (dob.obj =~/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]})[\d*+]+\s*/) + try.each do |e| + txt_obj={ txt: e } + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) + note_match=if e =~/#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]}/ + format_seg.endnote_body_indent + else format_seg.endnote_body + end + @per.seg_endnotes_array << note_match + end + try.join('
') + #% creation of separate end segment/page of all endnotes referenced back to reference segment + m=/(?:#{Mx[:en_a_o]}[\d*+]+|#{Mx[:en_b_o]}[*+]\d+)\s+(.+?href=")(##{Mx[:note_ref]}[\d*+]+".+)(?:#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/mi + endnote_part_a=note_match_seg[m,1] + endnote_part_b=note_match_seg[m,2] + txt_obj={ endnote_part_a: endnote_part_a, endnote_part_b: endnote_part_b } + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) + note_match_all_seg=format_seg.endnote_seg_body(@per.fn) #BUG WATCH 200408 + @per.endnote_all << note_match_all_seg + end + dob.obj=dob.obj.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ') + end + end + end + end + end +end +__END__ +#+END_SRC + +*** html_format.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/html_format.rb" +# <> +module SiSU_HTML_Format + require_relative 'html_parts' # html_parts.rb + class ParagraphNumber + def initialize(md,ocn) + @md,@ocn=md,ocn.to_s + @ocn ||='' + @make=SiSU_Env::ProcessingSettings.new(@md) + end + def ocn_display + if @make.build.ocn? + if @ocn.to_i==0 \ + or @ocn.empty? + '' + else + %{
#{@ocn}} + end + else + '' + end + end + def name + if @make.build.html_strict? \ + or @ocn==(nil || @ocn.empty?) + '' + else + %{} + end + end + def id #w3c? "tidy" complains about numbers as identifiers ! annoying + (@ocn==nil || @ocn.empty?) \ + ? '' : %{id="#{Mx[:ocn_id_char]}#{@ocn}"} + end + def goto + (@ocn==nil || @ocn.empty?) \ + ? '' : %{} + end + end + class HeadInformation + require_relative 'css' # css.rb + include SiSU_Parts_HTML + require_relative 'xml_shared' # xml_shared.rb + attr_reader :md,:rdf + def initialize(md) + @md=md + # DublinCore 1 - title + @bits=SiSU_Proj_HTML::Bits.new + @per=SiSU_HTML_Persist::Persist.new + @per.seg_name_x=SiSU_HTML::Seg.new.seg_name_x + @per.seg_name_x_tracker=SiSU_HTML::Seg.new.seg_name_x_tracker + @tocband_scroll,@tocband_segtoc=nil,nil + @stylesheet=SiSU_Style::CSS_HeadInfo.new(md).stylesheet + @o_str ||=SiSU_Env::ProcessingSettings.new(md).output_dir_structure + @index,@metalink='index','#metadata' + @toc=@md.file.base_filename.html_segtoc + end + def url_path_image_sys + (@o_str.dump_or_redirect?) \ + ? './image' + : "#{Xx[:html_relative2]}_sisu/image_sys" + end + def icon + def up + 'arrow_up_red.png' + end + def next + 'arrow_next_red.png' + end + def previous + 'arrow_prev_red.png' + end + def dot_clear + 'dot_clear.png' + end + def dot_white + 'dot_white.png' + end + def dot + dot_white + end + self + end + def png_nav + def toc + %{toc} + end + def pre + %{<< previous} + end + def nxt + %{next >>} + end + def dot_toc + %{^} + end + def dot_pre + %{<} + end + def dot_nxt + %{>} + end + self + end + def doc_types(page=:seg) #used in toc & seg_nav_band + wgt=SiSU_HTML_Format::Widget.new(@md) + %{ + + +
+ #{wgt.manifest(page)} + #{wgt.search} +
} + end + def rdf + SiSU_XML_Tags::RDF.new(md) + end + def button_home(page=:seg) + button=%{ \n \n
\n} + if @md.make.home_button_image.is_a?(Hash) + image_path=if page==:manifest + @md.file.output_path.manifest.rel_image + elsif page==:scroll + @md.file.output_path.html_scroll.rel_image + else + @md.file.output_path.html_seg.rel_image + end + SiSU_Env::FileOp.new(@md) + button +=%{

home icon -->

\n} + elsif @md.home_button_links.is_a?(Array) + @md.home_button_links.each do |links| + button +=%{

\n #{links[:say]}\n

\n} + end + end + button +=%{
} + button + end + def html_close #moved + %{ +} + end + end + class Widget < HeadInformation + include SiSU_Parts_HTML + def initialize(md) + super(md) + @md=md + @cf_defaults=SiSU_Env::InfoProcessingFlag.new + @env=SiSU_Env::InfoEnv.new(md.fns) + @file=SiSU_Env::FileOp.new(md) + @o_str ||=SiSU_Env::ProcessingSettings.new(md).output_dir_structure + @make=SiSU_Env::ProcessingSettings.new(md) + end + def home + %{
+ + #{the_nav.txt_homepage} + + + #{text} + + + + #{text} + + + + #{the_url_decoration.xml_open}#{@md.file.output_path.manifest.url}/#{@file.base_filename.manifest}#{the_url_decoration.xml_close} + + + + #{the_nav.txt_manifest} + +
+ + + +
+ #{button_home(:scroll)} + + #{doc_types} + +   +#{the_table_close} +

} + else '' + end + end + def concordance_navigation_band + up_button=if @make.build.html_navigation? + %{

+   + #{png_nav.toc} +   +} + else '' + end + if @make.build.html_top_band? + %{ + + +} + %{
+ #{button_home} + + #{doc_types} +#{up_button} +#{the_table_close} +

} + else '' + end + end + def seg_head_navigation_band(page=:seg) + if @make.build.html_navigation? + if page==:manifest + nxt=(@file.output_dir_structure.by_language_code? \ + || @file.output_dir_structure.by_filetype?) \ + ? "../html/#{@md.fnb}/toc#{@md.lang_code_insert}#{Sfx[:html]}" + : "toc#{@md.lang_code_insert}#{Sfx[:html]}" + firstseg=%{ + #{png_nav.nxt}} + elsif @md.firstseg =~/\S+/ + firstseg=%{ + #{png_nav.nxt}} + end + else '' + end + if @make.build.html_top_band? + %{ + + + +} + %{
+#{button_home(page)} + + #{doc_types(page)} + +  #{firstseg}  +#{the_table_close} +

} + else '' + end + end + def manifest_link(text) +# @file=SiSU_Env::FileOp.new(@md) if @md + %{ + #{text} + } + end + def concordance_link(text) + if @md.concord_make + %{ + + #{text} + + } + else '' + end + end + def make_scroll_search_form_and_manifest_link + wgt=SiSU_HTML_Format::Widget.new(@md) + %{

+ #{the_nav.txt_doc_link} +
+ + #{wgt.manifest} + #{wgt.search} +
} + end + def make_scroll_seg_pdf + seg='' + wgt=SiSU_HTML_Format::Widget.new(@md) + seg=%{

+ #{the_nav.txt_toc_link} +
+ +
+ #{wgt.manifest} + #{wgt.search} +
} + end + def make_concordance + wgt=SiSU_HTML_Format::Widget.new(@md) + %{ + +
+ #{wgt.manifest} + #{wgt.search} +
} + end + def head + rdf=SiSU_XML_Tags::RDF.new(@md) + %{ + + + + + #{@md.title.full} + + +#{rdf.metatag_html} +#{@stylesheet.css_head} + + +} + end + def concordance + if @md.concord_make + %{#{the_margin.css} +

+ + Concordance + +

+#{table_close}} + else + %{#{the_margin.css} +#{table_close}} + end + end + def links_guide_vertical_open +# @file=SiSU_Env::FileOp.new(@md) if @md + %{ +' + end + def gsub_body +#fix + @txt=case @txt + when /^\s*\((i+|iv|v|vi+|ix|x|xi+)\)/ + @txt.gsub(/^\((i+|iv|v|vi+|ix|x|xi+)\)/,'(\1)'). + gsub(/^(#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]})\s*\((i+|iv|v|vi+|ix|x|xi+)\)/,'\1(\2)') + when /^\s*\(?(\d|[a-z])+\)/ + @txt.gsub(/^\((\d+|[a-z])+\)/,'(\1)'). + gsub(/^(#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]})\s*\((\d+|[a-z])+\)/,'\1(\2)') + when /^\s*\d{1,3}\.\s/ + @txt.gsub(/^\s*(\d+\.)/,'\1') + when /^\s*[A-Z]\.\s/ + @txt.gsub(/^\s*([A-Z]\.)/,'\1') + else @txt + end + end + def bold_para + %{#{the_margin.txt_0} +

+ #{@txt} +

+#{the_margin.num_css} +     +#{the_table_close}} + end + def bold_header + @txt=@txt.gsub(/[1-9]~(\S+)/,''). + gsub(/[1-9]~/,'') + %{

+ #{@txt} +

+#{the_margin.num_css} +     +#{the_table_close}} + end + def toc_head_copy_at + %{

#{@txt}

\n} + end + def center + %{

#{@txt}

\n} + end + def bold + %{

#{@txt}

\n} + end + def center_bold + %{

#{@txt}

\n} + end + end +end +__END__ +#+END_SRC + +* json_persist.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/json_persist.rb" +# <> +module SiSU_JSON_Persist + class Persist + @@persist=nil + attr_accessor :head,:toc,:body,:tail,:open,:close,:sc,:endnotes,:book_idx,:metadata + #attr_accessor :head,:body,:tail,:open,:close,:sc +#@@odf={ body: [], head: [], toc: [], metadata: [], tail: [], book_idx: [], endnotes: [] } + def initialize(args=nil) + @@persist=args=(args ? args : (@@persist || persist_init_hash_values)) + @head=args[:head] + @toc=args[:toc] + @body=args[:body] + @tail=args[:tail] + @open=args[:open] + @close=args[:close] + @sc=args[:sc] + @endnotes=args[:endnotes] + @book_idx=args[:book_idx] + @metadata=args[:metadata] + end + def head + @head + end + def toc + @toc + end + def body + @body + end + def tail + @tail + end + def open + @open + end + def close + @close + end + def sc + @sc + end + def endnotes + @endnotes + end + def book_idx + @book_idx + end + def metadata + @metadata + end + def persist_init_hash_values + { + head: [], + toc: [], + body: [], + tail: [], + open: [], + close: [], + sc: [], + endnotes: [], + book_idx: [], + metadata: [], + } + end + def persist_init + @@persist=nil + Persist.new(persist_init_hash_values) + end + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + json + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/manpage.org b/org/manpage.org new file mode 100644 index 00000000..67c3efc9 --- /dev/null +++ b/org/manpage.org @@ -0,0 +1,436 @@ +-*- mode: org -*- +#+TITLE: sisu manpage +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:manpage: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* manpage.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/manpage.rb" +# <> +module SiSU_Manpage + require_relative 'ao' # ao.rb + require_relative 'se' # se.rb + include SiSU_Env + include SiSU_Param + require_relative 'manpage_format' # manpage_format.rb + include SiSU_ManpageFormat + require_relative 'shared_metadata' # shared_metadata.rb + require_relative 'generic_parts' # generic_parts.rb + require_relative 'txt_read' # txt_read.rb + require_relative 'txt_output' # txt_output.rb + require_relative 'txt_shared' # txt_shared.rb + @@alt_id_count,@@alt_id_count=0,0 + @@tablefoot='' + class Source + include SiSU_Txt_Read + def initialize(opt) + @opt=opt + if @opt.fns =~/(.+?)\.(?:-|ssm\.)?sst$/ + @@notes=:end + else + puts "#{sf} not a processed file type" + end + end + def read + begin + md=SiSU_Param::Parameters.new(@opt).get + specific={ + description: 'Manpage', + output_path: md.file.output_path.manpage.dir, + output_file: md.file.base_filename.manpage, + } + read_generic(@opt,specific) + SiSU_Manpage::Source::Scroll.new(md,@ao_array,@wrap_width).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + Dir.chdir(@opt.f_pth[:pth]) + end + end + private + class Scroll appropriately within manpage, consider + n=n.dup.to_s + if n =~/#{Mx[:br_line]}|#{Mx[:br_nl]}/ + fix = n.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/) #watch #added + fix.each do |x| + unless x.empty?; @n << x + end + end + else @n << n + end + end + notes=@n.flatten + notes.each do |e| + util=(e.to_s =~/^\[[\d*+]+\]:/) \ + ? (SiSU_TextUtils::Wrap.new(e.to_s,@wrap_width,4,1)) + : (SiSU_TextUtils::Wrap.new(e.to_s,@wrap_width,0,1)) + wrap=util.line_wrap + wrap=if wrap =~ /^\s*[\d*+]+\s+.+?\s*\Z/m + wrap.gsub(/(^| |#{Mx[:nbsp]}|\s|\*)\\\*/,'\1\\\\\*'). #man page requires + gsub(/\s(.[BI])\s/,' '). + gsub(/\s\.(\S+)/,' \\.\1'). + gsub(/^\s*([\d*+]+)\s+(.+?)\s*\Z/m, < or +.TP +.SH SOURCE + +.TP +.SH AUTHOR + SiSU is written by Ralph Amissah [ralph@amissah.com] +WOK + end + def manpage_structure(dob='',hname='') #% Used to extract the structure of a document + if dob.is==:heading + lv=dob.ln + dob.ln + 2 + else lv=nil + end + wrapped=if dob.is==:para \ + || dob.is==:heading + paragraph=dob.obj + if dob.is==:para + if dob.indent =~/[1-9]/ \ + and dob.indent == dob.hang + util=if dob.bullet_ + SiSU_TextUtils::Wrap.new("* #{paragraph}",@wrap_width,dob.indent.to_i*2) + else SiSU_TextUtils::Wrap.new(paragraph,@wrap_width,dob.indent.to_i*2) + end + elsif dob.hang =~/[0-9]/ \ + and dob.indent != dob.hang # NOT yet implemented + util=SiSU_TextUtils::Wrap.new(paragraph,@wrap_width,dob.indent.to_i*2) + else + util=if dob.bullet_ + SiSU_TextUtils::Wrap.new("* #{paragraph}",@wrap_width,0) + else SiSU_TextUtils::Wrap.new(paragraph,@wrap_width,0) + end + end + else util=SiSU_TextUtils::Wrap.new(paragraph,@wrap_width,0) + end + w=util.line_wrap + w=w.gsub(/^(\\\.)/,' \1') + w + end + if lv + times=wrapped.length + times=@wrap_width if times > @wrap_width + @manpage[:body] << case lv + when 0 then '.SH ' << wrapped.upcase << break_line << break_line + when 1..3 then '.SH ' << wrapped.upcase << break_line << break_line + when 4 then '.SH ' << wrapped.upcase << break_line << break_line + when 5..6 then '.SH ' << wrapped.upcase << break_line << break_line + end + else + @manpage[:body] << if wrapped =~/^\.BI\s/ # main text, contents, body KEEP + '.TP' << break_line << wrapped.gsub(/(^\.B)I\s/,'\1 ') # sleight ... simpler output (check gsub!) + else + break_line + '.BR' + break_line << wrapped + end + end + if @@endnotes[:para] \ + and @@notes==:foot #edit out to switch off endnotes following paragraph to which they belong + @@endnotes[:para].each { |e| @manpage[:body] << e << break_line } + elsif @@endnotes[:para] \ + and @@notes==:end + end + @@endnotes[:para]=[] + end + def markup(data) # Used for major markup instructions + SiSU_Env::InfoEnv.new(@md.fns) + @data_mod,@endnotes,@level,@cont,@copen,@manpage_contents_close=Array.new(6){[]} + (0..6).each { |x| @cont[x]=@level[x]=false } + (4..6).each { |x| @manpage_contents_close[x]='' } + #manpage_tail # stop call + table_message='[table omitted, see other document formats]' + #manpage_metadata + data.each do |dob| + if dob.is==:comment \ + || dob.is==:heading_insert + dob.obj='' + end + dob.obj=dob.obj.gsub(/.+?<-#>/,''). # remove dummy headings (used by html) #check + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'^\1^'). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,'[\1]'). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'++\1++'). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'--\1--'). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'"\1"'). + gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'\1'). + gsub(/\A\s*#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}#{Mx[:br_line]}([,.:!?](?: |$))?/m, + "#{Mx[:br_line]}.I \\1\\2#{Mx[:br_line]}"). + gsub(/\s*#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}([,.:!?](?: |$))?/m, + "#{Mx[:br_line]}.I \\1\\2#{Mx[:br_line]}"). + gsub(/\A\s*#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}([,.:!?](?: |$))?#{Mx[:br_line]}/m, + "\n.BI \\1\\2#{Mx[:br_line]}"). + gsub(/\s*#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}([,.:!?](?: |$))?/m, + "#{Mx[:br_line]}.B \\1\\2#{Mx[:br_line]}"). + gsub(/\s*#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}([,.:!?](?: |$))?/, + "\n.I \\1\\2#{Mx[:br_line]}") + unless dob.is==:code + dob.obj=dob.obj.gsub(/(?:^|\s)#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}([,.:!?](?: |$))?/, + "\\1 #{the_text.url_open}\\2#{the_text.url_close}\\3"). + gsub(/(^|#{Mx[:gl_c]}|\s)#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}([,.:!?](?: |$))?/, + "\\1#{the_text.url_open}\\2#{the_text.url_close}\\3") + @manpage[:endnotes]=extract_endnotes(dob) + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s*(?:.+?)#{Mx[:en_a_c]}/m,'[^\1]'). # endnote marker marked up + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s*(?:.+?)#{Mx[:en_b_c]}/m,'[^\1]'). # endnote marker marked up + gsub(/#{Mx[:gl_o]}#amp#{Mx[:gl_c]}/,'&'). ##{Mx[:gl_o]}#095#{Mx[:gl_c]} + gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!'). + gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#'). + gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*'). + gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-'). + gsub(/#{Mx[:gl_o]}#092#{Mx[:gl_c]}/,'\e'). + gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/'). + gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_'). + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{'). + gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}'). + gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~'). + gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©') + else + dob.obj=dob.obj.gsub(/\\/,'\e'). + gsub(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})\s*/,"\n") # watch + end + dob.obj=dob.obj.gsub(/(^| |#{Mx[:nbsp]}|\s|\*)\\\*/,'\1\\\\\*'). #man page requires + gsub(/┆/,'|'). + gsub(/^(\.\S{3,})/m,' \1') # ^\. used by interpreter, disable when use not intended + dob.obj=dob.obj.gsub(/~/,'~') if dob.obj #manpages use this + if dob.is ==:code + dob.obj=dob.obj.gsub(/(^|[^}])_([<>])/m,'\1\2'). # _> _< + gsub(/(^|[^}])_([<>])/m,'\1\2'). # _<_< + gsub(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})+(\s*)/m,"\n\\1"). # watch + gsub(/\A(.+?)\s*\Z/m,".nf\n\\1\n.fi") + end + dob.obj=dob.obj.gsub(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})+\s*/m,"\n\n") # watch + dob.obj=dob.obj.gsub(/#{Mx[:gl_o]}:name#\S+?#{Mx[:gl_c]}/mi,''). #added + gsub(/#{Mx[:br_page]}\s*|#{Mx[:br_page_new]}|#{Mx[:br_page_line]}/,''). # remove page breaks, you may wish to have a line across the page break instead + gsub(/(^|#{Mx[:gl_c]}|\s)#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1\2'). + gsub(/(.+?)<\/a>/m,'\1'). + gsub(/#{Mx[:mk_o]}name#\S+?#{Mx[:mk_c]}/,''). # remove name links + gsub(/ |#{Mx[:nbsp]}/,' '). # decide on + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}\s*(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,' [ \1 ]'). #"[ #{dir.url.images_local}\/\\1 ]") + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}\s*(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}image/,' [ \1 ]'). #"[ #{dir.url.images_local}\/\\1 ]") + gsub(/^(?:^|[^_\\])#{Mx[:lnk_o]}\s*\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"\s*#{Mx[:lnk_c]}\S+/,'[image: "\1"]') + if dob.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + if dob.obj =~@regx #/.+?<~\d+;\w\d+;\w\d+>.*/ #watch change + paranum=dob.obj[@regx,3] + @p_num=SiSU_ManpageFormat::ParagraphNumber.new(paranum) + end + SiSU_ManpageFormat::FormatTextObject.new(@md,dob) #check + if dob.is==:heading + manpage_structure(dob) + elsif dob.is==:para + manpage_structure(dob) + else + if dob.obj =~/#{table_message}/ + @manpage[:body] << dob.obj << break_line + end + end + if (dob.obj =~// \ + and dob.obj =~/^(-\{{2}~\d+|)/) # -endnote + dob.obj='' + end + if dob.obj + dob.obj=dob.obj.gsub(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})\s*/,"\n\n"). # watch + gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~'). + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{'). + gsub(/#{Mx[:pa_o]}\S+#{Mx[:pa_c]}/,' ') + unless dob.is ==:code + dob.obj=dob.obj.gsub(//,' '). + gsub(/<:\S+>/,' ') + end + end + dob + end + end + @manpage + end + def publish(manpage) + content=[] + date=if defined? @md.date.modified \ + and @md.date.modified + @md.date.modified + elsif defined? @md.date.published \ + and @md.date.published + @md.date.published + else SiSU_Env::InfoDate.new.year #date missing decide on action + end + proj=SiSU_Env::InfoVersion.instance.get_version + manpage[:open] = %{.TH "#{@md.fnb}" "#{@md.make.manpage['section']}" "#{date}" "#{proj.version}" "#{@md.title.main}"#{@md.make.manpage['name']}#{@md.make.manpage['synopsis']}} + content << manpage[:open] + content << manpage[:head] + content << manpage[:body] + content << @@endnotes[:end] if @@notes==:end + content << manpage[:metadata] + content << manpage[:tail] + outputfile=SiSU_Env::FileOp.new(@md).write_file.manpage + Txt_Output::Output.new.document(content,outputfile) + @@endnotes={ para: [], end: [] } + end + end + end +end +__END__ +#+END_SRC + +* manpage_format.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/manpage_format.rb" +# <> +module SiSU_ManpageFormat + require_relative 'dp' # dp.rb + include SiSU_Param + class ParagraphNumber + def initialize(paranum) + @paranum=/(\d+)/m.match(paranum)[1] + end + def display + @paranum.gsub(/(\d+)/,'  \1') + end + def name + @paranum.gsub(/(\d+)/,'') + end + def goto + @paranum.gsub(/(\d+)/,'') + end + end + class FormatTextObject + def initialize(md,dob) + @md,@dob=md,dob + rgx=/#{Mx[:en_a_o]}[\d*+]+\s+(.+?)#{Mx[:en_a_c]}/ + @dob.obj.gsub!(rgx,'\1') if @dob.obj =~rgx + end + def scr_endnote_body + "#{@dob.obj} " + end + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + manpage + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/misc.org b/org/misc.org new file mode 100644 index 00000000..fb212b61 --- /dev/null +++ b/org/misc.org @@ -0,0 +1,4107 @@ +-*- mode: org -*- +#+TITLE: sisu misc +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:misc: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* misc sort +** air.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/air.rb" +# <> +module SiSU_Air + require_relative 'se_hub_particulars' # se_hub_particulars.rb + class Source + @@ao_array=[] + @@fns=nil + def initialize(opt) + @opt=opt + @@fns||@opt.fns + @particulars=SiSU_Particulars::Combined.new(opt) + #@env=@particulars.env + #@md=@particulars.md + #@ao_array=@particulars.ao_array + end + def read + end + protected + def print + puts @particulars.md.inspect + puts @particulars.env.inspect + puts @particulars.ao_array + end + end +end +__END__ +#+END_SRC + +** embedded.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/embedded.rb" +# <> +module SiSU_Embedded + require_relative 'dp' # dp.rb + include SiSU_Param + require_relative 'se' # se.rb + include SiSU_Env + class Source + def initialize(opt) + @opt=opt + @md=SiSU_Param::Parameters.new(@opt).get + @env=SiSU_Env::InfoEnv.new(@md.fns) + @rhost=SiSU_Env::InfoRemote.new(@opt).remote_host_base + @base_src_dir=@opt.f_pth[:pth].sub(/\/#{@opt.f_pth[:lng]}$/,'') + @f=SiSU_Env::FileOp.new(@md) + end + def read + songsheet + end + def songsheet + images + audio + multimedia + begin + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def images + src="#{@base_src_dir}/_sisu/image" + ldest=@env.path.output + img_dir="#{@env.path.output}/_sisu/image" + @rhost.each do |remote_conn| + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on \ + || @md.opt.act[:rsync][:set]==:on) \ + and FileTest.directory?(src) + FileUtils::mkdir_p(img_dir) unless FileTest.directory?(img_dir) + src_ec=@f.place_file.images.rel + '/' + @md.ec[:image].join(" #{@f.output_path.images.rel}/") + unless @opt.fns =~/\.-sst$/ + SiSU_Env::SystemCall.new(src_ec,ldest,'q').rsync('--relative',@opt.base_path) + #if @md.opt.selections.str.inspect =~/R/ #rsync to remote image directory + # SiSU_Env::SystemCall.new(src_ec,remote_rel,'q').rsync('--relative') + #end + end + end + end + end + def audio + #p @md.ec[:audio] + src="#{@base_src_dir}/_sisu/mm/audio" + ldest="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/mm/audio" + @rhost.each do |remote_conn| + rdest="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/_sisu/mm/audio" + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on \ + || @md.opt.act[:rsync][:set]==:on) \ + and FileTest.directory?(src) + FileUtils::mkdir_p(ldest) unless FileTest.directory?(ldest) + src_ec="#{src}/" + @md.ec[:audio].join(" #{src}/") + SiSU_Env::SystemCall.new(src_ec,"#{ldest}/.",'q').rsync + if @md.opt.act[:rsync][:set]==:on #rsync to remote audio directory + SiSU_Env::SystemCall.new(src_ec,"#{rdest}/.",'q').rsync + end + end + end + end + def multimedia + #p @md.ec[:multimedia] + src="#{@base_src_dir}/_sisu/mm/video" + ldest="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/mm/video" + @rhost.each do |remote_conn| + rdest="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/_sisu/mm/video" + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on \ + || @md.opt.act[:rsync][:set]==:on) \ + and FileTest.directory?(src) + FileUtils::mkdir_p(ldest) unless FileTest.directory?(ldest) + src_ec="#{src}/" + @md.ec[:multimedia].join(" #{src}/") + SiSU_Env::SystemCall.new(src_ec,"#{ldest}/.",'q').rsync + if @md.opt.act[:rsync][:set]==:on #rsync to remote video directory + SiSU_Env::SystemCall.new(src_ec,"#{rdest}/.",'q').rsync + end + end + end + end + end +end +__END__ +#+END_SRC + +** errors.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/errors.rb" +# <> +module SiSU_Errors + require_relative 'se' # se.rb + include SiSU_Env; include SiSU_Screen + class Rescued > +module SiSU_Git + require_relative 'dp' # dp.rb + require_relative 'se' # se.rb + require_relative 'ao' # ao.rb + class Source + def initialize(opt,process=:complete) + @opt,@process=opt,process + @env=SiSU_Env::InfoEnv.new + @md=SiSU_Param::Parameters.new(@opt).get + @file=SiSU_Env::FileOp.new(@md) + l=SiSU_Env::StandardiseLanguage.new(@md.opt.lng).language + unless @opt.lng==l[:c] # @md.i18n[0]==l[:c] + p "using: #{@opt.lng} (@make: :language:); filename #{@md.fns} filename language: #{l[:c]}, mismatch" + end + if @env.output_dir_structure.multilingual? + m=/((.+?)(?:\~\w{2,3})?)\.((?:-|ssm\.)?sst|ssm)$/ #watch added match for sss + fnb,fnt=@opt.fns[m,2],@opt.fns[m,3] + else m=/(.+?)\.((?:-|ssm\.)?sst|ssm)$/ + fnb=@fnn=@opt.fns[m,1] + fnt=@opt.fns[m,2] + end + git_path_fnb=@env.processing_path.git + '/' + fnb + lng=(@md.opt.lng) ? (@md.opt.lng) : (@md.i18n[0]) + @git_path={ + fnb: git_path_fnb, + doc: git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:doc] + '/' + lng, + po: git_path_fnb + '/' + Gt[:po] + '/' + lng, + pot: git_path_fnb + '/' + Gt[:pot], + conf: git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:conf], + image: git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:image], + audio: git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:audio], + video: git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:video], + conf: git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:conf] + } + SiSU_AO::Source.new(@opt,nil,@process).read # -m + end + def create_file_structure_git + make_dir_fnb + if program_found? + git_init + end + end + def read + create_file_structure_git + populate.sisusrc_files + #if program_found? + # git_commit + #end + unless @opt.act[:quiet][:set]==:on + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Git path', + @git_path[:fnb] + ).green_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Git path', + @git_path[:fnb] + ).green_title_hi + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "Git path", + "#{@opt.fns} -> #{@git_path[:fnb]}" + ).warn + end + end + end + def program_found? + found=`whereis git` + (found =~/bin\/git\b/) ? true : false + end + def make_dir_fnb + FileUtils::mkdir_p(@git_path[:fnb]) \ + unless FileTest.directory?(@git_path[:fnb]) + FileUtils::mkdir_p(@git_path[:doc]) \ + unless FileTest.directory?(@git_path[:doc]) + FileUtils::mkdir_p(@git_path[:po]) \ + unless FileTest.directory?(@git_path[:po]) + FileUtils::mkdir_p(@git_path[:pot]) \ + unless FileTest.directory?(@git_path[:pot]) + FileUtils::mkdir_p(@git_path[:conf]) \ + unless FileTest.directory?(@git_path[:conf]) + FileUtils::mkdir_p(@git_path[:image]) \ + unless FileTest.directory?(@git_path[:image]) + #FileUtils::mkdir_p(@git_path[:audio]) \ + # unless FileTest.directory?(@git_path[:audio]) + #FileUtils::mkdir_p(@git_path[:video]) \ + # unless FileTest.directory?(@git_path[:video]) + end + def git_init + unless FileTest.directory?("#{@git_path[:fnb]}/.git") + pwd=Dir.pwd + Dir.chdir(@git_path[:fnb]) + system("git init ") + Dir.chdir(pwd) + end + end + def git_commit + if program_found? + if FileTest.directory?("#{@git_path[:fnb]}") + pwd=Dir.pwd + Dir.chdir(@git_path[:fnb]) + system(" + git add . \ + && git commit -a + ") + Dir.chdir(pwd) + end + end + end + def populate + def identify_language_versions + print __FILE__ + ':' + p __LINE__ + end + def copy_src_head + if @opt.f_pth[:lng] \ + and File.exist?("#{@env.path.pwd}/#{@opt.f_pth[:lng]}/#{@opt.fns}") + FileUtils::cp_r( + "#{@env.path.pwd}/#{@opt.f_pth[:lng]}/#{@opt.fns}", + @git_path[:doc] + ) + elsif @opt.fns =~/\.ssm\.sst/ + ssm=@opt.fns.gsub(/\.ssm\.sst/,'.ssm') + FileUtils::cp_r( + "#{@env.path.pwd}/#{ssm}", + @git_path[:doc] + ) + elsif File.exist?("#{@env.path.pwd}/#{@opt.fns}") + FileUtils::cp_r( + "#{@env.path.pwd}/#{@opt.fns}", + @git_path[:doc] + ) + end + end + def copy_related_sst_ssi + doc_import=[] + @rgx_doc_import=/^<<\s(\S+?\.ss[ti])/ + file_array=IO.readlines(@opt.fns,'') + file_array.each do |f| + if f =~@rgx_doc_import + doc_import = doc_import \ + + f.scan(@rgx_doc_import).uniq.flatten + end + end + doc_import.each do |f| + if @opt.f_pth[:lng] + FileUtils::cp_r( + "#{@env.path.pwd}/#{@opt.f_pth[:lng]}/#{f}", + @git_path[:doc] + ) + else + FileUtils::cp_r( + "#{@env.path.pwd}/#{f}", + @git_path[:doc] + ) + end + end + end + def locate_parse_file + composite_src=@opt.fns=~/\.ssm$/ ? true : false + if composite_src \ + and not @opt.act[:ao][:set]==:on + ##SiSU_Assemble::Composite.new(@opt).read + #SiSU_AO::Source.new(@opt).read # -m + @env.processing_path.composite_file \ + + '/' \ + + @opt.fnb \ + + '.ssm.sst' + elsif composite_src + @env.processing_path.composite_file \ + + '/' \ + + @opt.fnb \ + + '.ssm.sst' + else + @env.path.pwd + + '/' \ + + @opt.fns + end + end + def read_composite + #print __FILE__ + ':' + #p __LINE__ + end + def sisuyaml_rc + sisurc=@env.path.sisurc_path + if FileTest.file?(sisurc) + FileUtils::cp_r(sisurc,@git_path[:conf]) + end + end + def read_src + print __FILE__ + ':' + p __LINE__ + end + def composite_src? + @opt.fns=~/\.ssm$/ ? true : false + end + def sisusrc_files + populate.copy_src_head + if composite_src? + populate.copy_related_sst_ssi + end + #parse_file_name=locate_parse_file + #parse_file=IO.readlines(parse_file_name,'') + populate.sisuyaml_rc #(parse_file) + #populate.extract_composite_source + #populate.read_composite # or read_each_composite + populate.identify_language_versions + end + self + end + end +end +__END__ +@file.output_path.sisugit +#+END_SRC + +** qrcode.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/qrcode.rb" +# <> +module SiSU_QRcode + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'prog_text_translation' # prog_text_translation.rb + require_relative 'se_hub_particulars' # se_hub_particulars.rb + include SiSU_Particulars + require_relative 'html' # html.rb + require_relative 'dp' # dp.rb + include SiSU_Param + require_relative 'generic_parts' # generic_parts.rb + require_relative 'i18n' # i18n.rb + class Source + def initialize(opt) + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + l=SiSU_Env::StandardiseLanguage.new(@opt.lng).language + @doc_language=l[:n] + end + def read + begin + @env=SiSU_Env::InfoEnv.new(@opt.fns,@opt) + @md=SiSU_Param::Parameters.new(@opt).get + xbrowser=@env.program.web_browser + browser=@env.program.console_web_browser + unless @opt.act[:quiet][:set]==:on + url_html="file://#{@md.file.output_path.manifest.dir}/#{@md.file.base_filename.manifest}" + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'QR code', + "#{xbrowser} #{url_html}" + ).green_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'QR code', + "[#{@opt.f_pth[:lng_is]}] #{@opt.fns}" + ).green_title_hi + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "#{browser} #{url_html}" + ).grey_tab + end + end + data=SiSU_HTML::Source::HTML_Environment.new(@particulars).tuned_file_instructions + OutputInfo.new(@md).check_output(data) + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + private + class OutputInfo 0 + @manifest[:txt] << %{#{@translate.topic_register}:\n} + @md.topic_register_array.each do |t| + t.each_with_index do |st,i| + if st.is_a?(Array) + st.each do |v| + @manifest[:txt] << %{#{spaces*i}#{v}\n} + end + else @manifest[:txt] << %{#{spaces*i}#{st}\n} + end + end + end + end + if @md.fns + id,info=@translate.sourcefile,@md.fns + metadata(id,info) + end + if @md.en[:mismatch] > 0 + id,info='WARNING document error in endnote markup, number mismatch',"endnotes: #{@md.en[:note]} != endnote reference marks: #{@md.en[:mark]} (difference = #{@md.en[:mismatch]})" + metadata(id,info) + end + if @md.wc_words + id,info=@translate.word_count,@md.wc_words + metadata(id,info) + end + if @md.dgst + id,info="#{@translate.sourcefile_digest} (#{@dg})",@md.dgst[1] + metadata(id,info) + end + if @md.sc_number + id,info=@translate.sc_number,@md.sc_number + metadata(id,info) + end + if @md.sc_date + id,info=@translate.sc_date,"#{@md.sc_date} at #{@md.sc_time}" + metadata(id,info) + end + end + def check_output(data) + begin + @f=SiSU_Env::FileOp.new(@md) #.base_filename + url=@f.output_path.base.url + @en_manifest=if @env.output_dir_structure.by_language_code? + "#{url}/en/manifest/#{@md.fnb}.html" + elsif @env.output_dir_structure.by_filetype? + "#{url}/manifest/#{@md.fnb}.#{@md.opt.lng}.html" + else + "#{url}/sisu_manifest.#{@md.opt.lng}.html" + end + @manifest[:txt] <<<> +module SiSU_Relaxng + require_relative 'se' # se.rb + class RelaxNG + def gpl3_or_later + @gpl3_or_later =< + [http://www.gnu.org/licenses/gpl.html] + + + * SiSU uses: + * Standard SiSU markup syntax, + * Standard SiSU meta-markup syntax, and the + * Standard SiSU object citation numbering and system + + * Homepages: + [http://www.jus.uio.no/sisu] + [http://www.sisudoc.org] + + * Ralph Amissah + [ralph@amissah.com] + [ralph.amissah@gmail.com] + +=end +RELAXNG + end + def rnc_name + def output_sax + 'sisu_sax.rnc' + end + def output_dom + 'sisu_dom.rnc' + end + def output_xhtml + 'sisu_xhtml.rnc' + end + def input_sax + 'sisu_sax.rnc' + end + def input_dom + 'sisu_dom.rnc' + end + def input_node + 'sisu_node.rnc' + end + self + end + def rng_name + def output_sax + 'sisu_sax.rng' + end + def output_dom + 'sisu_dom.rng' + end + def output_xhtml + 'sisu_xhtml.rng' + end + def input_sax + 'sisu_sax.rng' + end + def input_dom + 'sisu_dom.rng' + end + def input_node + 'sisu_node.rng' + end + self + end + def xsd_name + def output_sax + 'sisu_sax.xsd' + end + def output_dom + 'sisu_dom.xsd' + end + def output_xhtml + 'sisu_xhtml.xsd' + end + def input_sax + 'sisu_sax.xsd' + end + def input_dom + 'sisu_dom.xsd' + end + def input_node + 'sisu_node.xsd' + end + self + end + def rnc_sisu_object_input + @relaxng =< etc. +element-txt = + element txt { + text* + & element b { text }* + & element i { text }* + & element u { text }* + & element ins { text }* + & element del { text }* + } +element-endnote = + element endnote { + element number { text }, + element note { element-txt }+ + }+ +element-para = + element para { + # attribute paragraph_format { text }, + element-txt+ + & element-endnote? + } +element-external_space = + element external_space { + # ignored by sisu, provide program needs + element program { + # e.g. kdissert + element name { text }, + element xpos { text }, + element ypos { text }, + element font { text }, + element outline_color { text }, + element text_color { text }, + element comment { text } + }* + }*, +#%% structure + element document { + # document head: + element-head, + # document body: + element body { + # object, a unit of text, usually a paragraph with any associated endnotes + element node { + element structure { + # structure document using either node:heading levels or node:heading relationships: + # (i) sisu default uses node:heading levels (1-6 or A-C,1-3) to build document structure + element level { text }?, + # (ii) sisu alternatively could use node:heading relationship information to build document structure + element node.id { text }, + element node.parent { text }, + element node.child { text }* + }, + element node.objects { + element object.heading { + # nametag used only in headings, especially important for segmented html + element nametag { text }, + element-para + }, + element object.para { + element-para + }* + }+, + element-external_space + }+ + } + } +RELAXNG + end + def rnc_sisu_object_ao + @relaxng =< etc. +element-txt = + element txt { + text* + & element b { text }* + & element i { text }* + & element u { text }* + & element ins { text }* + & element del { text }* + } +element-checksum.endnote = element checksum.clean { text } +element-endnote = + element endnote { + element number { text }, + element note { element-txt }+, + element-checksum.endnote + }+ +element-checksum.para = + element checksum.para { + element checksum.clean { text }, + element checksum.marked { text } + } +element-para = + element para { + # attribute paragraph_format { text }, + element-txt+ + & element-endnote? + } +element-object = + element object { + element-para, + element-checksum.para + } +# object citation number, unique sequential number for objects: +element-ocn = element ocn { text } +element-object_structure_summary = + element-ocn, + # type: heading level value 1 -6, or normal text + element type { text }, + # type number: sequential number for designated type + element type_number { text }, + # type category: sequential number for designated category, e.g. sequentially counting all headers + element category_number { text } +element-external_space = + element external_space { + # ignored by sisu, provide program needs + element program { + # e.g. kdissert + element name { text }, + element xpos { text }, + element ypos { text }, + element font { text }, + element outline_color { text }, + element text_color { text }, + element comment { text } + }* + }*, +#%% structure + element document { + # document head: + element-head, + # document body: + element body { + # object, a unit of text, usually a paragraph with any associated endnotes + element node { + element structure { + # structure document using either node:heading levels or node:heading relationships: + # (i) sisu default uses node:heading levels (1-6 or A-C,1-3) to build document structure + element level { text }?, + # (ii) sisu alternatively could use node:heading relationship information to build document structure + element node.id { text }, + element node.parent { text }, + element node.child { text }* + }, + element node.objects { + element object.heading { + element-object_structure_summary, + # nametag used only in headings, especially important for segmented html + element nametag { text }, + element-object + }, + element object.para { + element-object_structure_summary, + element-object + }* + }+, + element-external_space + }+ + } + } +RELAXNG + end + def rnc_model_output_sax + @relaxng =<> +module SiSU_Remote + require_relative 'se' # se.rb + include SiSU_Env + class Put + def initialize(opt) + @opt=opt + @dir=SiSU_Env::InfoEnv.new(@opt.fns) + @put=(@opt.fns =~/\.ssm\.sst$/) \ + ? opt.fns.gsub(/(.+)?\.ssm\.sst$/,'\1.ssm') + : opt.fns + @remote=SiSU_Env::InfoRemote.new(opt) + end + def rsync + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Remote placement ->', + @put + ).dark_grey_title_hi unless @opt.act[:quiet][:set]==:on + @remote.rsync.document + end + def rsync_base + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Remote placement ->', + 'rsync' + ).dark_grey_title_hi unless @opt.act[:quiet][:set]==:on + @remote.rsync.site_base + end + def rsync_base_sync + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Remote placement ->', + 'rsync and sync' + ).dark_grey_title_hi unless @opt.act[:quiet][:set]==:on + @remote.rsync.site_base_sync + end + def rsync_sitemaps + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Remote placement sitemaps ->', + 'rsync' + ).dark_grey_title_hi unless @opt.act[:quiet][:set]==:on + @remote.rsync_sitemaps + end + def rsync_harvest + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Remote placement metadata harvest ->', + 'rsync_harvest' + ).dark_grey_title_hi unless @opt.act[:quiet][:set]==:on + @remote.rsync.site_harvest + end + def scp + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Remote placement ->', + @put + ).dark_grey_title_hi unless @opt.act[:quiet][:set]==:on + @remote.scp.document + end + def scp_base + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Remote placement of base site ->', + 'excluding images' + ).dark_grey_title_hi unless @opt.act[:quiet][:set]==:on + @remote.scp.site_base + end + def scp_base_all + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Remote placement ->', + 'complete' + ).dark_grey_title_hi unless @opt.act[:quiet][:set]==:on + @remote.scp.site_base_all + end + end + class Get + def initialize(opt,get_s) + @opt,@get_s=opt,get_s + @msg,@msgs='',nil + @tell=lambda { + SiSU_Screen::Ansi.new(@opt.act[:color_state][:set], + @msg, + "#{@msgs.inspect if @msgs}") + } + end + def fns + begin + require 'open-uri' + require 'pp' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('open-uri or pp NOT FOUND (LoadError)') + end + require_relative 'ao_composite' # ao_composite.rb + @rgx_image=/(?:^|[^_\\])\{\s*(\S+?\.(?:png|jpg|gif))/ + threads=[] + for requested_page in @get_s + re_fnb=/((?:https?|file):\/\/[^\/ ]+?\/[^\/ ]+?)\/\S+?\/([^\/]+?)\.ss(t)/ #revisit and remove DO + threads << Thread.new(requested_page) do |url| + open(url) do |f| + raise "#{url} not found" unless f + base_uri,fnb=re_fnb.match(url)[1..2] if re_fnb + imagedir=base_uri + '/_sisu/image' #check on + downloaded_file=File.new("#{fnb}.-sst",'w+') + image_download_url=SiSU_Assemble::RemoteImage.new.image(imagedir) + images=[] + f.collect.each do |r| # work area + unless r =~/^%+\s/ + if r !~/^%+\s/ \ + and r =~@rgx_image + images << r.scan(@rgx_image).uniq + end + end + downloaded_file << r + end + if images \ + and images.length > 1 + images=images.flatten.uniq + images.delete_if {|x| x =~/https?:\/\// } + images=images.sort + @msg,@msgs='downloading images:', [ images.join(',') ] + @tell.call.warn unless @opt.act[:quiet][:set]==:on + image_info=image_download_url + images + SiSU_Assemble::RemoteImage.new.download_images(image_info) + #SiSU_Assemble::RemoteImage.new.download_images(image_download_url,images) + @msg,@msgs='downloading done',nil + @tell.call.warn unless @opt.act[:quiet][:set]==:on + end + downloaded_file.close + end + end + end + threads.each {|thr| thr.join} if threads #and threads.length > 0 + end + def sisupod + get_p=@get_s + if get_p.length > 0 #% remote sisupod + begin + require 'net/http' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('net/http NOT FOUND (LoadError)') + end + for requested_pod in get_p + pod_info=RemoteDownload.new(requested_pod) + Net::HTTP.start(pod_info.pod.site) do |http| + resp=http.get("#{pod_info.pod.path}/#{pod_info.pod.name_source}") + open(pod_info.pod.name,'wb') do |file| + file.write(resp.body) + end + end + end + end + end + end + class RemoteDownload + def initialize(requested_file) + @requested_file=requested_file + end + def pod + re_p_div=/https?:\/\/([^\/]+)(\/\S+)\/(sisupod\.(?:txz|zip)|\S+?(?:\.ss[mt]\.(?:txz|zip))?|[^\/]+?\.ssp)$/ + re_p=/(sisupod\.(?:txz|zip)|\S+?\.ss[mt]\.(?:txz|zip)?|[^\/]+?\.ssp)$/ + if @requested_file =~ re_p_div + @site,@pth,@pod= re_p_div.match(@requested_file).captures + elsif @requested_file =~ re_p + @pod=re_p.match(@requested_file).captures.join + end + def site + @site + end + def path + @pth + end + def dir_stub + re_p_stub=/.+?([^\/]+)$/ + re_p_stub.match(path).captures.join if path + end + def name_source + @pod + end + def name + name_source + end + self + end + end +end +__END__ +#+END_SRC + +** rexml.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/rexml.rb" +# <> +module SiSU_Rexml + # load XML file for REXML parsing + begin + require 'rexml/document' \ + if FileTest.directory?("#{RbConfig::CONFIG['rubylibdir']}/rexml") #RbConfig::CONFIG['sitedir'] + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('rexml/document NOT FOUND (LoadError)') + end + require_relative 'dp' # dp.rb + include SiSU_Param + require_relative 'se' # se.rb + include SiSU_Env + class Rexml + begin + require 'rexml/document' \ + if FileTest.directory?("#{RbConfig::CONFIG['rubylibdir']}/rexml") #RbConfig::CONFIG['sitedir'] + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('rexml/document NOT FOUND (LoadError)') + end + def initialize(md,fno) + @md,@fno=md,fno + @env=SiSU_Env::InfoEnv.new(@md.fns) + @prog=SiSU_Env::InfoProgram.new #(md.fns) #if md + if File.file?(@fno) + @fnap=@fno #index.xml causes problems with index.html in server config + end + @e_head='/document/head' + @e_title='/document/head/title' + @e_object='/document/body/object' + @e_ocn='/document/body/object/ocn' + @e_text='/document/body/object/text' + @e_endnote='/document/body/object/endnote' + end + def xml + begin + if FileTest.file?(@fnap) + if @prog.rexml !=false \ + and FileTest.directory?('/usr/lib/ruby/1.8/rexml/') #note values can be other than true + xmlfile=IO.readlines(@fnap,'').join + begin + @xmldoc=REXML::Document.new xmlfile + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + 'invert', + 'REXML', + "XML document #{@fnap} loaded" + ).colorize unless @md.opt.act[:quiet][:set]==:on + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on) + @xmldoc.elements.each(@e_head) do |e| + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + 'brown', + e + ).colorize unless @md.opt.act[:quiet][:set]==:on + end + end + rescue REXML::ParseException + puts 'broken XML' + end + end + else + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + 'fuchsia', + "File Not Found #{xmlfile}", + 'requested XML processing skipped' + ).colorize unless @md.opt.act[:quiet][:set]==:on + exit + end + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + end +end +__END__ + misc +e.each do |element| + element.each do |child| + if child.is_a?(REXML::Text) + puts "Text: #{child.to_s.inspect}" + else + puts "SubElement: #{child.name}" + end + end +end +#+END_SRC + +** sitemaps.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/sitemaps.rb" +# <> +module SiSU_Sitemaps + require_relative 'dp' # dp.rb + include SiSU_Param + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'xml_shared' # xml_shared.rb + include SiSU_XML_Munge + class Source + def initialize(opt) + @opt=opt + end + def read + songsheet + end + def songsheet + begin + @sys=SiSU_Env::SystemCall.new + fn_set_lang=SiSU_Env::StandardiseLanguage.new(@opt.lng).language + @fn=SiSU_Env::EnvCall.new(@opt.fns).lang(fn_set_lang[:c]) + if @opt.act[:sitemap][:set]==:on + @md=SiSU_Param::Parameters.new(@opt).get + @trans=SiSU_XML_Munge::Trans.new(@md) #check @md is required + @env=SiSU_Env::InfoEnv.new(@md.fns) +# @file=SiSU_Env::FileOp.new(@md) + @rdf=SiSU_XML_Tags::RDF.new(@md) + @fnb_utf8_xml=@md.fnb.dup + @trans.char_enc.utf8(@fnb_utf8_xml) \ + if @sys.locale =~/utf-?8/i + output_map(sitemap) + elsif @opt.selections.str =~/--sitemaps/ + @sitemap_idx_fn='sitemapindex.xml' + @env=SiSU_Env::InfoEnv.new + output_idx(sitemap_index) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'sitemap index:', + "#{@env.path.output}/#{@sitemap_idx_fn}" + ).result unless @opt.act[:quiet][:set]==:on + end + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def make_file(path,filename) + (File.writable?("#{path}/.")) \ + ? (File.new("#{path}/#{filename}",'w+')) + : (SiSU_Screen::Ansi.new( + '', + "is the file or directory writable?, could not create #{filename}" + ).warn) + end + def output_map(sitemap) + path=@md.file.output_path.sitemaps.dir + filename=@fn[:sitemap] + touch_path=@md.file.output_path.sitemaps.dir + touch_filename=@fn[:sitemap_touch] + SiSU_Env::FileOp.new(@md).make_path(path) + file=SiSU_Env::FileOp.new(@md).make_file(path,filename) + file << sitemap + if FileTest.file?("#{touch_path}/#{touch_filename}") + FileUtils::rm("#{touch_path}/#{touch_filename}") + end + end + def output_idx(sitemap) + path=@env.path.output + filename=@sitemap_idx_fn + make_path(path) + file=make_file(path,filename) + file << sitemap + end + def sitemap_index + sitemap_files=Dir.glob("#{@env.path.sitemaps}/sitemap_*.xml") + sitemap_idx=[] + sitemap_idx << < + +WOK + sitemap_files.each do |s| + f=s.gsub(/.+?\/sitemap_([^\/]+?)\.xml$/,'\1') + @trans.char_enc.utf8(f) \ + if @sys.locale =~/utf-?8/i +sitemap_idx << < + #{@env.path.url.remote}/#{f}/sitemap.xml + +WOK + end + sitemap_idx << < +WOK + sitemap_idx.join + end + def sitemap + if defined? @md.date.modified \ + and @md.date.modified=~/\d{4}-\d{2}-\d{2}/ + sitemap_date_modified + else sitemap_no_date + end + end + def sitemap_date_modified +< + +#{@rdf.comment_xml} + + #{@env.path.url.remote}/#{@fnb_utf8_xml}/#{@fn[:toc]} + #{@md.date.modified} + monthly + 0.7 + + + #{@env.path.url.remote}/#{@fnb_utf8_xml}/#{@fn[:doc]} + #{@md.date.modified} + 0.5 + + + #{@env.path.url.remote}/#{@fnb_utf8_xml}/#{@fn[:manifest]} + #{@md.date.modified} + 0.5 + + +WOK + end + def sitemap_no_date +< + +#{@rdf.comment_xml} + + #{@env.path.url.remote}/#{@fnb_utf8_xml}/#{@fn[:toc]} + monthly + 0.7 + + + #{@env.path.url.remote}/#{@fnb_utf8_xml}/#{@fn[:doc]} + 0.5 + + + #{@env.path.url.remote}/#{@fnb_utf8_xml}/#{@fn[:manifest]} + 0.5 + + +WOK + end + end +end +__END__ +,* sanitize xml, pass through filter to ensure is valid - done but needs testing +,* remote placement of sitemaps --sitemaps -R (probably makes more sense than doing against -Y [filename/wildcard]) - done but needs testing +,* gzip sitemaps - not before testing / after testing +,* issue with master documnts, naming and mapping, check multilingual + + +#+END_SRC + +** termsheet.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/termsheet.rb" +# <> +require_relative 'se' # se.rb +require_relative 'dp' # dp.rb + include SiSU_Param +@do,@done,@used,@html_output,@txt_input,@txt_output,@@report=Array.new(7){[]} +@@info=nil +@c=0 +@cX=SiSU_Screen::Ansi.new('yes').cX +@done << "\n#{@cX.blue_hi}#{@cX.black}Summary#{@cX.off*2}" +def talent(termsheet,flag) + @@info=nil + @@info=termsheet.gsub(/(.+?)\.termsheet\.rb/,'../facility_data/\1.html') + @env=SiSU_Env::InfoEnv.new + @dir_fd="#{@env.path.output}/facility_data" + FileUtils::mkdir_p(@dir_fd) unless FileTest.directory?(@dir_fd)==true + html_output=[] + case termsheet + when /.+?\.(termsheet)\.rb$/ + @basename=termsheet[/(.+?)\.termsheet\.rb/, 1] + @standard_form={} + require termsheet + include Termsheet + @standard_form=Termsheet::StandardForms.new.standardforms + puts %{\n#{@@cX.yellow_hi}#{@@cX.black}From#{@@cX.off*2}: #{@@cX.grey_hi}#{@@cX.black}#{@basename}.termsheet.rb#{@@cX.off*3}\n\n} + @standard_form.each do |k,v| + @c+=1 + require v + puts %{\n#{@@cX.blue_hi}#{@@cX.black}Producing the following#{@@cX.off*2}: #{@@cX.green}#{@basename}.#{k}#{@@cX.off}\n\n} + @done << %{\n\t#{@@cX.grey}Documents generated#{@@cX.off}: #{@@cX.cyan}#{@basename}.#{k}#{@@cX.off}\n} + @used << %{\n\t#{@@cX.grey}Using#{@@cX.off}: #{@@cX.ruby}#{v}#{@@cX.off}\n} + html_output=< +pdf landscape  + +pdf portrait  +#{@basename}.#{k}.sisu_manifest.html +WOK + @html_output << html_output + @txt_input << %{\n\tForm #{@c}: \n\t |#{Dir.pwd}/#{v}|@|^|\n} + @txt_output << %{\n\t#{k}: |../#{@basename}.#{k}/sisu_manifest.html|@|^|\n} + @report_file_i=File.new("#{@dir_fd}/#{@basename}.txt",'w+') + @report_file_o=File.new("#{@dir_fd}/#{@basename}.html",'w+') + @filename_new=File.new("#{@basename}.#{k}.sst",'w+') + @do << %{#{k}} + @filename_new << @document + # "require v" pulls in the composite @document + # "termsheet" having all the variables required to complete the standard form @document + @filename_new.close + end + @do.each do |x| + system %{sisu -Nhwpo #{@basename}.#{x}.sst\n} + end + else print "not processed --> ", termsheet, "\n" + end + @done << %{\n\t#{@@cX.green}Summary:#{@@cX.off} #{@@cX.blue}#{@env.path.output}/facility_data/#{@basename}.html#{@@cX.off}\n} + @done << %{\n\t#{@@cX.grey}From details provided in#{@@cX.off}: #{@@cX.green}#{termsheet}#{@@cX.off}\n} + terms=%{\nTermsheet: \n |#{Dir.pwd}/#{termsheet}|@|^|\n} + @report_file_i << "\n|all.txt|@|^|\n" << terms << "\nForms:\n" << @txt_input << "\nOutput Files\n" << @txt_output + @report_file_o << %{^
\n} << @html_output + @@report << @done << @used << "\n" + @done,@used=[],[] +end +require_relative 'dp' # dp.rb +@argv=$* +@proc="#{@argv[0].to_s}" +if @proc =~ /^-?[wft]/ + @argv.shift + @argv.each do |termsheet| + talent(termsheet,@proc) + end +end +@env=SiSU_Env::InfoEnv.new +@dir_fd="#{@env.path.output}/facility_data" +@url="#{@env.url.webserv}/facility_data" +@@report << %{\n#{@@cX.grey}See#{@@cX.off}: #{@@cX.blue}#{@dir_fd}/all.txt\t#{@dir_fd}/toc.html\t#{@dir_fd}/#{@@cX.off}\n\n#{@@cX.grey}See#{@@cX.off}: #{@@cX.blue}#{@url}/all.txt\t#{@url}/toc.html\t#{@url}/#{@@cX.off}\n\n} +puts @@report +File.unlink("#{@dir_fd}/all.txt") if FileTest.file?("#{@dir_fd}/all.txt") +File.unlink("#{@dir_fd}/toc.html") if FileTest.file?("#{@dir_fd}/toc.html") +summary_file=File.new("#{@dir_fd}/all.txt",'w+') +summary_html=File.new("#{@dir_fd}/toc.html",'w+') +ls_txt=%x{ls #{@dir_fd}/*.txt} +report_thlnk=[] +ls_txt.scan(/.+/) +ls_txt.each {|x| report_thlnk << x.gsub!(/#{@dir_fd}\/(.+)/,"\n|\\1|@|^|")} +report_thlnk.join("\n") +ls_html=%x{ls #{@dir_fd}/*.html} +report_html=[] +ls_html.split(/.+/) +ls_html.each {|x| report_html << x.gsub!(/#{@dir_fd}\/(.+)/,'\1
')} +report_html.join("\n") +summary_file << "#{report_thlnk}" +summary_html << "#{report_html}" +__END__ +,** NOTE wrapper makes little sense without additional components, additional + sample files must be provided - (saved till later as may confuse) +,*** bits +sisu -t x_bank.and.* +e.g. sisu -t x_bank.and.*.termsheet.rb +e.g. sisu_termsheet.rb -t x_bank.and.c*.termsheet.rb +program calls upon termsheet file with extension termsheet.rb +termsheet.rb calls upon relevant standard form files (to be used) with extension .sForm.rb +there is also a standard_terms.rb file - with terms/details that are constant +the file produced is named after the termsheet.rb with that extension replaced with .er30 +from there scribbler.rb is called upon its usual metaVerse html and pdf creation +! :-) +to test run +termsheet.rb -f dev.export.import.trade.facility.termsheet.rb +the term sheet calls the standard form or template that is to be run against it. +#+END_SRC + +** update.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/update.rb" +# <> +module SiSU_UpdateControlFlag + require_relative 'se' # se.rb + include SiSU_Env + include SiSU_Param + class Check + def initialize(opt) + @opt=opt + @md=SiSU_Param::Parameters.new(@opt).get + end + def read + begin + @env=SiSU_Env::InfoEnv.new(@md.fns) + out=@env.path.output + base_path="#{out}/#{@md.fnb}" + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + 'Checking previous output', + base_path + ).green_hi_blue unless @md.opt.act[:quiet][:set]==:on + SetCF.new(@md).set_flags + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + private + class SetCF + def initialize(md) + @md=md + @env=SiSU_Env::InfoEnv.new(@md.fns) + out=@env.path.output + @base_path="#{out}/#{@md.fnb}" + @pdf_fn=SiSU_Env::FileOp.new(@md).base_filename + end + def set_flags #-mNhwpoabxXyv + flag='-v' + if FileTest.file?("#{@md.file.output_path.txt.dir}/#{@md.file.base_filename.txt}")==true + flag=flag + 'a' + end + if FileTest.file?("#{@md.file.output_path.html_seg.dir}/#{@md.file.base_filename.html_seg}")==true \ + or FileTest.file?("#{@md.file.output_path.html_scroll.dir}/#{@md.file.base_filename.html_scroll}")==true + flag=flag + 'h' + end + if FileTest.file?("#{@md.file.output_path.xhtml.dir}/#{@md.file.base_filename.xhtml}")==true + flag=flag + 'b' + end + if FileTest.file?("#{@md.file.output_path.xml_sax.dir}/#{@md.file.base_filename.xml_sax}")==true + flag=flag + 'x' + end + if FileTest.file?("#{@md.file.output_path.xml_dom.dir}/#{@md.file.base_filename.xml_dom}")==true + flag=flag + 'X' + end + if FileTest.file?("#{@md.file.output_path.epub.dir}/#{@md.file.base_filename.epub}")==true + flag=flag + 'e' + end + if FileTest.file?("#{@md.file.output_path.odt.dir}/#{@md.file.base_filename.odt}")==true + flag=flag + 'o' + end + if FileTest.file?("#{@md.file.output_path.pdf.dir}/#{@pdf_fn.pdf_p_a4}")==true \ + or FileTest.file?("#{@md.file.output_path.pdf.dir}/#{@pdf_fn.pdf_l_a4}")==true \ + or FileTest.file?("#{@md.file.output_path.pdf.dir}/#{@pdf_fn.pdf_p_letter}")==true \ + or FileTest.file?("#{@md.file.output_path.pdf.dir}/#{@pdf_fn.pdf_l_letter}")==true + flag=flag + 'p' + end + if FileTest.file?("#{@md.file.output_path.html_concordance.dir}/#{@md.file.base_filename.html_concordance}")==true + flag=flag + 'w' + end + if FileTest.file?("#{@md.file.output_path.digest.dir}/#{@md.file.base_filename.digest}")==true + flag=flag + 'N' + end + if FileTest.file?("#{@md.file.output_path.src.dir}/#{@md.file.base_filename.src}")==true + flag=flag + 's' + end + if FileTest.file?("#{@md.file.output_path.sisupod.dir}/#{@md.file.base_filename.sisupod}")==true + flag=flag + 'S' + end + puts flag + flag + end + end + end +end +__END__ +#+END_SRC + +** urls.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/urls.rb" +# <> +module SiSU_Urls + require_relative 'se_hub_particulars' # se_hub_particulars.rb + include SiSU_Particulars + require_relative 'se' # se.rb + include SiSU_Env; include SiSU_Screen + class Source + attr_reader :opt + def initialize(opt) + @opt=opt + end + def read + begin + SiSU_Urls::OutputUrls.new(@opt).songsheet if @opt.fnb + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + end + class OutputUrls + attr_reader :fns,:fnb,:act,:dir,:m_regular,:u + def initialize(opt) + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_env_md(opt) + if @particulars.is_a?(NilClass) + if @opt.act[:verbose_plus][:set]==:on \ + or @opt.act[:maintenance][:set]==:on + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + mark("@particulars is NilClass, acceptable e.g. for --harvest") + end + exit + end + @selections=@opt.selections.str + @act=@opt.act + @md=@particulars.md + @env=@particulars.env + @fnb=@env.fnb + fn_set_lang=SiSU_Env::StandardiseLanguage.new(@opt.lng).language + @fnl=@env.i18n.lang_filename(fn_set_lang[:c]) + @fn=SiSU_Env::EnvCall.new(@opt.fns).lang(fn_set_lang[:c]) + @m_regular=/(.+?)\.(?:(?:-|ssm\.)?sst|ssm)$/ + @prog=@env.program + end + def songsheet + begin + (@opt.act[:urls_all][:set]==:on) \ + ? urls_all \ + : (urls_select unless @opt.act[:quiet][:set]==:on) + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def show + def report(x) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "[#{@opt.f_pth[:lng_is]}]", + x[:cmd], + x[:viewer] + ' ' \ + + x[:f_pth] + ).result + end + def maintenance(x) + if @opt.act[:maintenance][:set]==:on + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "[#{@opt.f_pth[:lng_is]}]", + x[:cmd], + x[:p_pth] + ).maintenance + end + end + self + end + def report_info + def dal + { + cmd: '--ao', + p_pth: @env.processing_path.ao + '/' \ + + @opt.fns + '.meta', + fn: 'ao', + } + end + def hash_digests + { + cmd: '--hash-digests (sha512/sha256/md5)', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.hash_digest.dir + '/' \ + + @md.file.base_filename.hash_digest, + fn: @fn[:digest], + } + end + def text + def txt + { + cmd: '--txt', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.txt.dir + '/' \ + + @md.file.base_filename.txt, + fn: @fn[:plain], + } + end + def asciidoc + { + cmd: '--asciidoc', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.asciidoc.dir + '/' \ + + @md.file.base_filename.asciidoc, + fn: @fn[:txt_asciidoc], + } + end + def markdown + { + cmd: '--markdown', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.markdown.dir + '/' \ + + @md.file.base_filename.markdown, + fn: @fn[:txt_markdown], + } + end + def rst + { + cmd: '--rst', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.rst.dir + '/' \ + + @md.file.base_filename.rst, + fn: @fn[:txt_rst], + } + end + def textile + { + cmd: '--textile', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.textile.dir + '/' \ + + @md.file.base_filename.textile, + fn: @fn[:txt_textile], + } + end + def orgmode + { + cmd: '--orgmode', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.orgmode.dir + '/' \ + + @md.file.base_filename.orgmode, + fn: @fn[:txt_orgmode], + } + end + self + end + def html + def seg + { + cmd: '--html-seg', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.html_seg.dir + '/' \ + + @md.file.base_filename.html_segtoc, + p_pth: @env.processing_path.tune + '/' \ + + @md.fns + '.tune', + fn: @fn[:toc], + } + end + def scroll + { + cmd: '--html-scroll', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.html_scroll.dir + '/' \ + + @md.file.base_filename.html_scroll, + p_pth: @env.processing_path.tune + '/' \ + + @md.fns + '.tune', + fn: @fn[:doc], + } + end + def concordance + { + cmd: '--concordance', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.html_concordance.dir + '/' \ + + @md.file.base_filename.html_concordance, + fn: @fn[:concordance], + } + end + self + end + def xhtml + def xhtml + { + cmd: '--xhtml', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.xhtml.dir + '/' \ + + @md.file.base_filename.xhtml, + p_pth: @env.processing_path.tune + '/' \ + + @md.fns + '.tune', + fn: @fn[:xhtml], + } + end + def epub + { + cmd: '--epub', + viewer: @prog.epub_viewer, + f_pth: @md.file.output_path.epub.dir + '/' \ + + @md.file.base_filename.epub, + p_pth: @env.processing_path.epub + '/' \ + + Ep[:d_oebps] + '/' \ + + 'index.xhtml', + fn: @fn[:epub], + } + end + self + end + def xml + def odt + { + cmd: '--odt (ODF:ODT)', + viewer: @prog.odf_viewer, + f_pth: @md.file.output_path.odt.dir + '/' \ + + @md.file.base_filename.odt, + p_pth: @env.processing_path.odf + '/' \ + + @opt.fns + '/' \ + + 'odt/content.xml', + fn: @fn[:odf], + } + end + def docbook + { + cmd: '--docbook', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.xml_docbook_book.dir + '/' \ + + @md.file.base_filename.xml_docbook_book, + fn: @fn[:xml_docbook_book], + } + end + def fictionbook + { + cmd: '--fictionbook', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.xml_fictionbook.dir + '/' \ + + @md.file.base_filename.xml_fictionbook, + fn: @fn[:xml_fictionbook], + } + end + def sax + { + cmd: '--xml-sax', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.xml_sax.dir + '/' \ + + @md.file.base_filename.xml_sax, + fn: @fn[:sax], + } + end + def dom + { + cmd: '--xml-dom', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.xml_dom.dir + '/' \ + + @md.file.base_filename.xml_dom, + fn: @fn[:dom], + } + end + def scaffold_sisu + { + cmd: '--xml-scaffold-sisu', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.xml_scaffold_structure_sisu.dir + '/' \ + + @md.file.base_filename.xml_scaffold_structure_sisu, + fn: @fn[:xml_scaffold_structure_sisu], + } + end + def scaffold_collapse + { + cmd: '--xml-scaffold-collapse', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.xml_scaffold_structure_collapse.dir + '/' \ + + @md.file.base_filename.xml_scaffold_structure_collapse, + fn: @fn[:xml_scaffold_structure_collapse], + } + end + self + end + def json + { + cmd: '--js (json)', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.json.dir + '/' \ + + @md.file.base_filename.json, + fn: @fn[:json], + } + end + def pdf + def landscape + { + cmd: '--pdf (landscape)', + viewer: @prog.pdf_viewer, + f_pth: @md.file.output_path.pdf.dir + '/' \ + + @md.file.base_filename.pdf_l \ + + @md.papersize_array[0] + '.pdf', + p_pth: @env.processing_path.tex + '/' \ + + @opt.fns.gsub(/~/,'-') + '.' \ + + @md.papersize_array[0] \ + + '.landscape.tex', + fn: @fn[:pdf_l], + } + end + def portrait + { + cmd: '--pdf (portrait)', + viewer: @prog.pdf_viewer, + f_pth: @md.file.output_path.pdf.dir + '/' \ + + @md.file.base_filename.pdf_p \ + + @md.papersize_array[0] + '.pdf', + p_pth: @env.processing_path.tex + '/' \ + + @opt.fns.gsub(/~/,'-') + '.' \ + + @md.papersize_array[0] \ + + '.tex', + fn: @fn[:pdf_p], + } + end + self + end + def manpage + { + cmd: '--manpage', + viewer: @prog.manpage_viewer, + f_pth: @md.file.output_path.manpage.dir + '/' \ + + @md.file.base_filename.manpage, + fn: 'manpage', + } + end + def texinfo + { + cmd: '--texinfo', + viewer: '', + f_pth: 'cd ' \ + + @md.file.output_path.texinfo.dir + ' && ' \ + + @env.program.texinfo + ' ' \ + + @md.file.base_filename.info \ + + '; cd -', + fn: 'info', + } + end + def db + def psql + { + cmd: '--psql --update/--import', + viewer: '', + f_pth: @pwd_stub + '::' \ + + @opt.fns \ + + 'dbi psql', + p_pth: @env.processing_path.postgresql + '/' \ + + @md.fns \ + + '.sql', + fn: 'dbi psql', + } + end + def sqlite + { + cmd: '--sqlite --update/--import', + viewer: 'sqlite3 ', + f_pth: @env.path.webserv + '/' \ + + @md.opt.f_pth[:pth_stub] + '/' \ + + 'sisu_sqlite.db', + p_pth: @env.processing_path.sqlite + '/' \ + + @md.fns \ + + '.sql', + fn: 'dbi sqlite3', + } + end + def sqlite_discrete + { + cmd: '--sqlite', + viewer: 'sqlite3 ', + f_pth: @md.file.output_path.sqlite_discrete.dir + '/' \ + + @md.file.base_filename.sqlite_discrete, + p_pth: @env.processing_path.sqlite + '/' \ + + @md.fns \ + + '.sql', + fn: 'dbi sqlite3', + } + end + self + end + def po4a + def po + { + cmd: '--po4a/--pot', + viewer: @prog.web_browser, + f_pth: @prog.text_editor + ' ' \ + + @md.file.output_path.po.dir \ + + '/' + y, + fn: @fn[:pot], + } + end + def pot + { + cmd: '--po4a/--pot', + viewer: @prog.web_browser, + f_pth: @prog.text_editor + ' ' \ + + @md.file.output_path.pot.dir \ + + '/' + y, + fn: @fn[:pot], + } + end + self + end + def source + { + cmd: '--source (sisu markup)', + viewer: @prog.text_editor, + f_pth: @md.file.output_path.src.dir + '/' \ + + @opt.fno, + p_pth: @md.file.output_path.src.dir + '/' \ + + @opt.fno, + fn: @opt.fno, + } + end + def sisupod + { + cmd: '--sisupod', + viewer: '', + f_pth: @md.file.output_path.sisupod.dir + '/' \ + + @opt.fno \ + + '.txz', + p_pth: @md.file.output_path.sisupod.dir + '/' \ + + @opt.fno + '/' \ + + 'sisupod/', + fn: @fn[:sisupod], + } + end + def ruby_profile + { + cmd: '--profile (ruby profiler)', + fn: 'profile', + } + end + def qrcode + { + cmd: '--qrcode', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.manifest.dir + '/' \ + + @md.file.base_filename.manifest, + fn: @fn[:qrcode], + } + end + def manifest + { + cmd: '--manifest', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.manifest.dir + '/' \ + + @md.file.base_filename.manifest, + fn: @fn[:manifest], + } + end + def sitemap + { + cmd: '--sitemap', + viewer: @prog.web_browser, + f_pth: @md.file.output_path.sitemaps.dir + '/' \ + + @md.file.base_filename.sitemap, + fn: @fn[:sitemap], + } + end + self + end + def urls_select + unless @opt.act[:quiet][:set]==:on + i1='[' + @opt.f_pth[:lng_is] + ']' + i2='file://' \ + + @md.file.output_path.manifest.dir + '/' \ + + @md.file.base_filename.manifest + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'URLs' + ).green_title_hi + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'URL (output manifest)', + i1, i2 + ).grey_title_grey_blue + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + i1, i2, + ).flow + end + end + m=/.+\/(?:src\/)?(\S+)/im + @pwd_stub="#{@env.url.output_tell}"[m,1] + unless @opt.act[:quiet][:set]==:on + if @opt.fns =~ @m_regular + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + if @opt.act[:txt][:set]==:on + show.report(report_info.text.txt) + #show.maintenance(report_info.text.txt) + end + if @opt.act[:txt_textile][:set]==:on + show.report(report_info.text.textile) + #show.maintenance(report_info.text.textile) + end + if @opt.act[:txt_asciidoc][:set]==:on + show.report(report_info.text.asciidoc) + #show.maintenance(report_info.text.asciidoc) + end + if @opt.act[:txt_markdown][:set]==:on + show.report(report_info.text.markdown) + #show.maintenance(report_info.text.markdown) + end + if @opt.act[:txt_rst][:set]==:on + show.report(report_info.text.rst) + #show.maintenance(report_info.text.rst) + end + if @opt.act[:txt_orgmode][:set]==:on + show.report(report_info.text.orgmode) + #show.maintenance(report_info.text.orgmode) + end + if (@opt.act[:html][:set]==:on \ + or @opt.act[:html_scroll][:set]==:on \ + or @opt.act[:html_seg][:set]==:on) + if @opt.act[:html_scroll][:set]==:on + show.report(report_info.html.scroll) + show.maintenance(report_info.html.scroll) + end + if @opt.act[:html_seg][:set]==:on + show.report(report_info.html.seg) + show.maintenance(report_info.html.seg) + end + end + if @opt.act[:concordance][:set]==:on + show.report(report_info.html.concordance) + #show.maintenance(report_info.html.concordance) + end + if @opt.act[:xhtml][:set]==:on + show.report(report_info.xhtml.xhtml) + show.maintenance(report_info.xhtml.xhtml) + end + if @opt.act[:epub][:set]==:on + show.report(report_info.xhtml.epub) + show.maintenance(report_info.xhtml.epub) + end + if @opt.act[:odt][:set]==:on + show.report(report_info.xml.odt) + show.maintenance(report_info.xml.odt) + end + if @opt.act[:xml_dom][:set]==:on + show.report(report_info.xml.dom) + #show.maintenance(report_info.xml.dom) + end + if @opt.act[:xml_sax][:set]==:on + show.report(report_info.xml.sax) + #show.maintenance(report_info.xml.sax) + end + if @opt.act[:xml_docbook_book][:set]==:on + show.report(report_info.xml.docbook) + #show.maintenance(report_info.xml.docbook) + end + if @opt.act[:xml_fictionbook][:set]==:on + show.report(report_info.xml.fictionbook) + #show.maintenance(report_info.xml.fictionbook) + end + if @opt.act[:xml_scaffold_structure_sisu][:set]==:on + show.report(report_info.xml.scaffold_structure_sisu) + #show.maintenance(report_info.xml.scaffold_structure_sisu) + end + if @opt.act[:xml_scaffold_structure_collapse][:set]==:on + show.report(report_info.xml.scaffold_collapse) + #show.maintenance(report_info.xml.scaffold_collapse) + end + if @opt.act[:json][:set]==:on + show.report(report_info.json) + #show.maintenance(report_info.json) + end + if (@opt.act[:pdf][:set]==:on \ + or @opt.act[:pdf_p][:set]==:on \ + or @opt.act[:pdf_l][:set]==:on) + if @opt.act[:pdf_p][:set]==:on + show.report(report_info.pdf.portrait) + show.maintenance(report_info.pdf.portrait) + end + if @opt.act[:pdf_l][:set]==:on + show.report(report_info.pdf.landscape) + show.maintenance(report_info.pdf.landscape) + end + end + if @opt.act[:psql][:set]==:on + show.report(report_info.db.psql) + show.maintenance(report_info.db.psql) + end + if @opt.act[:sqlite_discrete][:set]==:on + show.report(report_info.db.sqlite_discrete) + show.maintenance(report_info.db.sqlite_discrete) + end + if @opt.act[:sqlite][:set]==:on + show.report(report_info.db.sqlite) + show.maintenance(report_info.db.sqlite) + end + if @opt.act[:texinfo][:set]==:on + show.report(report_info.texinfo) + #show.maintenance(report_info.texinfo) + end + if @opt.act[:manpage][:set]==:on + show.report(report_info.manpage) + #show.maintenance(report_info.manpage) + end + if @opt.act[:hash_digests][:set]==:on + show.report(report_info.hash_digests) + #show.maintenance(report_info.hash_digests) + end + if @opt.act[:po4a_shelf][:set]==:on + #if @opt.fns =~/\S+?~\S{2}(?:_\S{2})?\.ss[mt]/ + #else + #end + end + if @opt.act[:share_source][:set]==:on + show.report(report_info.source) + show.maintenance(report_info.source) + end + if @opt.act[:sisupod][:set]==:on + show.report(report_info.sisupod) + show.maintenance(report_info.sisupod) + end + if @opt.act[:qrcode][:set]==:on + show.report(report_info.qrcode) + #show.maintenance(report_info.qrcode) + end + if @opt.act[:manifest][:set]==:on + show.report(report_info.manifest) + show.maintenance(report_info.manifest) + end + end + end + end + end + def urls_all + i="(output manifest) [#{@opt.f_pth[:lng_is]}] #{@env.url.output_tell}/#{@fnb}/sisu_manifest.html" + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'URLs', + i + ).grey_title_hi + end + end +end +__END__ +#+END_SRC + +** webrick.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/webrick.rb" +# <> +module SiSU_Webserv + class WebrickStart + begin + require 'time' + require 'webrick' + include WEBrick + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('time or webrick NOT FOUND (LoadError)') + end + require_relative 'se' # se.rb + include SiSU_Env + include SiSU_Screen + def initialize + @cX=SiSU_Screen::Ansi.new('yes').cX + @env=SiSU_Env::InfoEnv.new + port=SiSU_Env::InfoPort.new + @host=@env.url.webrick + @port=port.webrick + @serve=[] + Dir.foreach(@env.path.webserv) do |x| + if x !~/^\./ \ + and FileTest.directory?("#{@env.path.webserv}/#{x}") + @serve << x + end + end + @mount=[] + @serve.each {|x| @mount << ["/#{x}", "#{@env.path.webserv}/#{x}"]} + @pwd=Dir.pwd + @week=Time.now.strftime(%{%Yw%W}) + puts "\n" + @mount.each { |x,y| + puts " * #{@cX.blue}#{@host}:#{@port}#{x}/#{@cX.off}" + } + get=Dir.pwd + brick(@port,get) + end + def brick(port,get='') + cgidir=if get=~/pwd/ then Dir.pwd + else '/usr/lib/cgi-bin' + end + port=SiSU_Env::InfoPort.new.webrick + begin + s=HTTPServer.new( + Port: port, + DocumentRoot: Dir::pwd + '/htdocs', + CGIPathEnv: ENV['PATH'] + ) + cgi_dir=File.expand_path(cgidir) + @mount.each { |x,y| # mount subdirectories + s.mount(x, HTTPServlet::FileHandler, y, true) + } + s.mount('/cgi-bin', HTTPServlet::FileHandler, cgi_dir, { FancyIndexing: true }) + trap("INT"){ s.shutdown } + s.start + rescue + SiSU_Errors::Rescued.new($!,$@,'-W',nil).location do #fix + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def wb_cgi + begin #% + wb_s2='' + #% writes file wb.cgi to shared directories ... + #% wb_top + wb_top=%q(#!/usr/bin/env ruby + # * arch-tag: webrick info on environment, mounted directories, and contents of pwd + begin + require 'time' + require 'cgi' + require 'fcgi' + rescue LoadError + puts 'time, cgi or fcgi NOT FOUND (LoadError)' + end + ls=Dir.entries('./') + dir_contents=[] + ls.each { |x| dir_contents << "#{x}
" unless x =~/^(\.)+$/ } + dir_contents=dir_contents.sort.join(' ') + #host=ENV['HOSTNAME'] + #host=%x{echo $HOSTNAME} + ) + wb_s1=<<-WOK + + page=CGI.new "html3" + page.out { + page.html { + page.head { page.title {"#{@host} Webrick Report"} } + + page.body { + page.h1 {"Webrick #{@host}"} + + page.p {"Webrick is Ruby's built in webserver."} + + page.center {"Host name: " + page.b{"#{@host} "} + "(#{@host}) port: " + page.b{"#{@port}"}} + + page.center {"#{Time.now}"} + + page.center {"#{Time.now.strftime(%{%Yw%W})}"} + + page.p {''} + + page.p {''} + + page.p {page.b{"Webrick Served Directories: "}} + + WOK + #% wb_s2 (mounts) + @mount.each do |x,y| wb_s2 += <<-WOK + page.p {%{#{x} } + + %{#{@host}:#{@port}#{x} (mounts: #{y}/) info (wb.cgi)}} + + WOK + end + #% wb_end + wb_end=<<-WOK + page.p {page.b{"Contents of PWD (see URL): "}} + + page.p {"#\{dir_contents}"} + } + } + } + WOK + @mount.each { |x,y| #% wb puts + puts y + filename=File.new("#{y}/wb.cgi",'w') + filename << wb_top + filename << wb_s1 + filename << wb_s2 + filename << wb_end + filename.close + FileUtils::chmod(0755,"#{y}/wb.cgi &") if FileTest.file?("#{y}/wb.cgi &") + } + rescue + SiSU_Errors::Rescued.new($!,$@,'-W',nil).location do #fix + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + end +ensure +end +__END__ +#+END_SRC + +** wikispeak.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/wikispeak.rb" +# <> +module SiSU_Wikispeak + require_relative 'ao' # ao.rb + require_relative 'se' # se.rb + include SiSU_Env + include SiSU_Param + require_relative 'plaintext_format' # plaintext_format.rb + include Format + require_relative 'html_parts' # html_parts.rb + require_relative 'txt_shared' + @@alt_id_count,@@alt_id_count=0,0 + @@tablefoot='' + class Source + def initialize(opt) + @opt=opt + @@dostype='msdos footnotes' + end + def read + begin + @md=SiSU_Param::Parameters.new(@opt).get + @env=SiSU_Env::InfoEnv.new(@opt.fns) + path=@env.path.output_tell + tool=(@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? "#{@env.program.text_editor} #{path}/#{@md.fnb}/#{@md.fn[:wiki]}" + : '' + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Wikispeak', + tool + ).green_hi_blue unless @opt.act[:quiet][:set]==:on + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + @opt.fns, + "#{@env.path.output_tell}/#{@md.fnb}/#{@md.fn[:wiki]}" + ).flow + end + @ao_array=SiSU_AO::Source.new(@opt).get # ao file drawn here + SiSU_Wikispeak::Source::Scroll.new(@ao_array,@md).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + private + class SplitTextObject ).+?#{Mx[:id_o]}~(\d+);(?:\w|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/ + if /^(([1-6])~(\S+))\s+(\S.+?)#{Mx[:id_o]}~(\d+);(?:\w|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/m.match(@para) + @format,@lev,segname,@text,@ocn=$1,$2,$3,$4,$5 + elsif /^(([1-6])~)\s+(\S.+?)#{Mx[:id_o]}~(\d+);(?:\w|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/m.match(@para) + @format,@lev,@text,@ocn=$1,$2,$3,$4 + elsif /<:(.+?)>\s*(\S.+?)#{Mx[:id_o]}~(\d+);(?:\w|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/m.match(@para) + @format,@text,@ocn=$1,$2,$3 + elsif /^(([1-6])~(\S+))\s+(\S.+?)#{Mx[:id_o]}~(\d+);(?:\w|[0-6]:)\d+;[um]\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/m.match(@para) + @@alt_id_count+=1 + @format,@lev,segname,@text,@ocn=$1,$2,$3,$4,"x#{@@alt_id_count}" + elsif /^(([1-6])~)\s+(\S.+?)#{Mx[:id_o]}~(\d+);[um]\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/m.match(@para) + @@alt_id_count+=1 + @format,@lev,@text,@ocn=$1,$2,$3,"x#{@@alt_id_count}" + end + else + if /(.+?)#{Mx[:id_o]}~(\d+);(?:\w|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/m.match(@para) + @text,@ocn=$1,$2 + end + if @para !~/#{Mx[:id_o]}~(\d+);(?:\w|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$|^$/ #added 2002w06 + @text=/(.+?)/m.match(@para)[1] + end + if /^((\d)~(?:~\S+)?)\s+(.+)/m.match(@para) + @format,@lev,@text=$1,$2,$3 + end + end + format=@format.dup + @lev_para_ocn=if @para =~/.+#{Mx[:id_o]}~\d+;(?:\w|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/ + Format::FormatTextObject.new(format,@text,@ocn) + else + Format::FormatTextObject.new(format,@text,"#{Mx[:id_o]}~(\d+);[um]\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}") + end + self + end + end + class Scroll \1') # endnote marker marked up + para.gsub!(/^#{Rx[:lv]}\S*\s+/,'') # endnote marker marked up + para.gsub!(/<\S+?>#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}/,'') # endnote marker marked up + if lv + @@wiki[:body] << case lv + when 1 then '='*2 << para.strip << @br*2 + when 2..3 then '='*2 << para.strip << @br*2 + when 4 then '='*4 << para.strip << @br*2 + when 5..6 then '='*4 << para.strip << @br*2 + end + else @@wiki[:body] << para << @br*2 # main text, contents, body KEEP + end + end + def markup # Used for major markup instructions + data=@data + SiSU_Env::InfoEnv.new(@md.fns) + @data_mod,@endnotes,@level,@cont,@copen,@wiki_contents_close=Array.new(6){[]} + (0..6).each { |x| @cont[x]=@level[x]=false } + (4..6).each { |x| @wiki_contents_close[x]='' } + wiki_tail + table_message='[table omitted, see other document formats]' + data.each do |para| + para.gsub!(/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}.+/um,"#{@br}#{table_message}") #fix + para.gsub!(/.+?<-#>/,'') # remove dummy headings (used by html) #check + para.gsub!(/_\*\s+/,'* ') # bullet markup, marked down + para.gsub!(/©/,'©') # bullet markup, marked down + para.gsub!(/&/,'&') # bullet markup, marked down + para.gsub!(/(.+?)<\/sup>/,'^\1^') + para.gsub!(/(.+?)<\/sub>/,'[\1]') + para.gsub!(/(.+?)<\/i>/,"''\\1''") + para.gsub!(/(.+?)<\/b>/,"'''\\1'''") + para.gsub!(/(.+?)<\/u>/,'_\1_') + para.gsub!(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'[\2 \1]') + para.gsub!(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'[\1]') + para.gsub!(/<:(?:block|group|verse|alt|code)(?:-end)?>(?:\s+#{Mx[:id_o]}~(\d+);(?:\w|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]})?/,'') + para.gsub!(/<:p[bn]>/,'') # remove page breaks + para.gsub!(/^\s*#{Mx[:id_o]}~\d+;(?:\w|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/,'') # remove empty lines - check + para.gsub!(/(.+?)<\/a>/m,'\1') + para.gsub!(/<:name#\S+?>/,'') # remove name links + para.gsub!(/ |#{Mx[:nbsp]}/,' ') # decide on + para.gsub!(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)/,' [ \1 ]') #"[ #{dir.url.images_local}\/\\1 ]") + para.gsub!(/(?:^|[^_\\])#{Mx[:lnk_o]}\s*\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"\s*#{Mx[:lnk_c]}\S+/,'[image: "\1"]') + if para =~/^@(\S+?):\s+(.+?)\Z/m # for headers + d_meta=SiSU_TextUtils::HeaderScan.new(@md,para).meta + if d_meta; wiki_metadata(d_meta) + end + end + if para !~/(^@\S+?:|#{Mx[:br_endnotes]}|#{Mx[:br_eof]})/ + if para =~@regx #/.+?<~\d+;\w\d+;\w\d+>.*/ #watch change + paranum=para[@regx,3] + @p_num=Format::ParagraphNumber.new(paranum) + end + @sto=SplitTextObject.new(para).lev_segname_para_ocn + ### problem in scroll, it appears tables are getting paragraph numbers + m=/#{Mx[:id_o]}~(\d+);(?:\w|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/ + if para =~m \ + and para=~/\S+/ + para=case @sto.format + when /^(1)~(?:(\S+))?/ + wiki_structure(para,$1,@sto.ocn,$2) + @sto.lev_para_ocn.heading_body1 + when /^(2)~(?:(\S+))?/ + wiki_structure(para,$1,@sto.ocn,$2) + @sto.lev_para_ocn.heading_body2 + when /^(3)~(?:(\S+))?/ + wiki_structure(para,$1,@sto.ocn,$2) + @sto.lev_para_ocn.heading_body3 + when /^(4)~(\S+)/ # work on see SiSU_text_parts::SplitTextObject + wiki_structure(para,$1,@sto.ocn,$2) + @sto.lev_para_ocn.heading_body4 + when /^(5)~(?:(\S+))?/ + wiki_structure(para,$1,@sto.ocn,$2) + @sto.lev_para_ocn.heading_body5 + when /^(6)~(?:(\S+))?/ + wiki_structure(para,$1,@sto.ocn,$2) + @sto.lev_para_ocn.heading_body6 + else + wiki_structure(para,nil,nil,nil) #watch may be problematic + para + end + elsif para =~/#{table_message}/ + @@wiki[:body] << para << @br + elsif para =~/(Note|Endnotes?)/ \ + and para !~/#{Mx[:id_o]}~\d+;(?:\w|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/ + elsif para =~/(MetaData)/ \ + and para =~/#{Mx[:id_o]}~(\d+);[um]\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/ #debug 2003w46 add rc info ####suspect visit + elsif para.include? 'Owner Details' \ + and para !~/#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/ + elsif para =~/(#{Mx[:tc_p]}|#{Mx[:gr_o]}Th?)/u #tables ! #fix + elsif para =~/(.*)(.*)/ + one,two=$1,$2 + format_text=FormatTextObject.new(one,two) + para=format_text.seg_no_paranum + end + if (para =~// \ + and para =~/^(-\{{2}~\d+|)/) # -endnote + para='' + end + case para + when /<:i1>/ + if para =~/.*<:#>.*$/ + format_text=FormatTextObject.new(para,'') + para=format_text.scr_indent_one_no_paranum + end + when /<:i2>/ + if para =~/.*<:#>.*$/ + format_text=FormatTextObject.new(para,'') + para=format_text.scr_indent_one_no_paranum + end + end + if para !~/#{the_margin.txt_0}|#{the_margin.txt_1}|#{the_margin.txt_2}/ + # i don't get the condition for no paranum + end + if para =~/<:center>/ + one,two=/(.*)<:center>(.*)/.match(para)[1,2] + format_text=FormatTextObject.new(one,two) + para=format_text.center + end + para.gsub!(//,' ') if para ## Clean Prepared Text + para.gsub!(/<:\S+>/,' ') if para ## Clean Prepared Text + end + end + end + def publish + content=[] + content << @@wiki[:open] + content << @@wiki[:head] + content << @@wiki[:body] + Output.new(content.join,@md).wiki + @@wiki[:head],@@wiki[:body],@@wiki[:tail],@@wiki[:metadata]=[],[],[],[] + end + end + class Output > +module SiSU_Zap + require_relative 'se' # se.rb + include SiSU_Env + class Source + def initialize(opt) + @opt=opt + @env=SiSU_Env::InfoEnv.new(opt.fns) + end + def read + zap_path="#{@env.path.output}/#{@env.fnb}" + z=SiSU_Env::CleanOutput.new(@opt) + if SiSU_Env::InfoSettings.new.permission?('zap') + unless @opt.act[:quiet][:set]==:on + tell=SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "Clean files related to processing #{@opt.selections.str} ->", + "#{@opt.fns} -> #{zap_path}" + ) + tell.warn + end + z.zap.remove_output + else + unless @opt.act[:quiet][:set]==:on + tell=SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'use of -Z (zap) has not enabled in sisurc.yml' + ) + tell.warn + end + end + end + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/object_munge.org b/org/object_munge.org new file mode 100644 index 00000000..7e3f95e5 --- /dev/null +++ b/org/object_munge.org @@ -0,0 +1,331 @@ +-*- mode: org -*- +#+TITLE: sisu object munge +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:munge:objects: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* object_munge.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/object_munge.rb" +# <> +module SiSU_Object_Munge + def i_src_o_strip_markup(txtobj) + txtobj=txtobj. + gsub(/#{Mx[:srcrgx_bold_o]}(.+?)#{Mx[:srcrgx_bold_c]}/m,'\1'). + gsub(/#{Mx[:srcrgx_italics_o]}(.+?)#{Mx[:srcrgx_italics_c]}/m,'\1'). + gsub(/#{Mx[:srcrgx_underscore_o]}(.+?)#{Mx[:srcrgx_underscore_c]}/m,'\1'). + gsub(/#{Mx[:srcrgx_cite_o]}(.+?)#{Mx[:srcrgx_cite_c]}/m,'\1'). + gsub(/#{Mx[:srcrgx_insert_o]}(.+?)#{Mx[:srcrgx_insert_c]}/m,'\1'). + gsub(/#{Mx[:srcrgx_strike_o]}(.+?)#{Mx[:srcrgx_strike_c]}/m,'\1'). + gsub(/#{Mx[:srcrgx_superscript_o]}(\d+)#{Mx[:srcrgx_superscript_c]}/m,'[\1]'). + gsub(/#{Mx[:srcrgx_superscript_o]}(.+?)#{Mx[:srcrgx_superscript_c]}/m,'\1'). + gsub(/#{Mx[:srcrgx_subscript_o]}(.+?)#{Mx[:srcrgx_subscript_c]}/m,'\1'). + gsub(/#{Mx[:srcrgx_hilite_o]}(.+?)#{Mx[:srcrgx_hilite_c]}/m,'\1'). + gsub(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/i,'~'). + gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/m,''). # endnote removed + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/m,''). # endnote removed + gsub(/(?:#{Mx[:nbsp]})+/,' '). + gsub(/(?:#{Mx[:br_nl]})+/,"\n"). + gsub(/(?:#{Mx[:br_paragraph]})+/,"\n"). + gsub(/(?:#{Mx[:br_line]})+/,"\n"). + gsub(/#{Mx[:gl_o]}(?:#lt|#060)#{Mx[:gl_c]}/,'<'). + gsub(/#{Mx[:gl_o]}(?:#gt|#062)#{Mx[:gl_c]}/,'>'). + gsub(/#{Mx[:gl_o]}#(?:038|amp)#{Mx[:gl_c]}/,'&'). + gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!'). + gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#'). + gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*'). + gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-'). + gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/'). + gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_'). + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{'). + gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}'). + gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~'). + gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©'). + gsub(/[ ][ ]s+/,' '). + strip +if txtobj =~/Reading this/ + puts txtobj + if txtobj =~ /#{Mx[:srcrgx_italics_o]}(.+?)#{Mx[:srcrgx_italics_c]}/ + puts __LINE__ + puts Mx[:srcrgx_italics_o] + puts txtobj + end +end +; txtobj + end + def i_ao_o_strip_markup(txtobj) + txtobj=txtobj.gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'\1'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'\1'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'\1'). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'\1'). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'\1'). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'\1'). + gsub(/#{Mx[:fa_superscript_o]}(\d+)#{Mx[:fa_superscript_c]}/,'[\1]'). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'\1'). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,'\1'). + gsub(/#{Mx[:fa_hilite_o]}(.+?)#{Mx[:fa_hilite_c]}/,'\1'). + gsub(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/i,'~'). + gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,''). # endnote removed + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,''). # endnote removed + gsub(/(?:#{Mx[:nbsp]})+/,' '). + gsub(/(?:#{Mx[:br_nl]})+/,"\n"). + gsub(/(?:#{Mx[:br_paragraph]})+/,"\n"). + gsub(/(?:#{Mx[:br_line]})+/,"\n"). + gsub(/#{Mx[:gl_o]}(?:#lt|#060)#{Mx[:gl_c]}/,'<'). + gsub(/#{Mx[:gl_o]}(?:#gt|#062)#{Mx[:gl_c]}/,'>'). + gsub(/#{Mx[:gl_o]}#(?:038|amp)#{Mx[:gl_c]}/,'&'). + gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!'). + gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#'). + gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*'). + gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-'). + gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/'). + gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_'). + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{'). + gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}'). + gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~'). + gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©'). + gsub(/[ ][ ]s+/,' '). + strip + end + def i_ao_o_src_markup_restore(txtobj) + @txtobj=txtobj + def textface_marks + @txtobj.gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'*{\1}*'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'/{\1}/'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'_{\1}_'). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'"{\1}"'). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'+{\1}+'). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'-{\1}-'). + gsub(/#{Mx[:fa_superscript_o]}(\d+)#{Mx[:fa_superscript_c]}/,'^{[\1]}^'). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'^{\1}^'). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,',{\1},'). + gsub(/#{Mx[:fa_hilite_o]}(.+?)#{Mx[:fa_hilite_c]}/,'\1'). + gsub(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/i,'~'). + gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'~{\1 \2}~'). + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,''). # endnote removed + gsub(/(?:#{Mx[:nbsp]})+/,' '). + gsub(/(?:#{Mx[:br_nl]})+/,"\n"). + gsub(/(?:#{Mx[:br_paragraph]})+/,"\n"). + gsub(/(?:#{Mx[:br_line]})+/,"\n"). + gsub(/#{Mx[:gl_o]}(?:#lt|#060)#{Mx[:gl_c]}/,'<'). + gsub(/#{Mx[:gl_o]}(?:#gt|#062)#{Mx[:gl_c]}/,'>'). + gsub(/#{Mx[:gl_o]}#(?:038|amp)#{Mx[:gl_c]}/,'&'). + gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!'). + gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#'). + gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*'). + gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-'). + gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/'). + gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_'). + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{'). + gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}'). + gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~'). + gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©'). + gsub(/[ ][ ]s+/,' '). + strip + end + def object_marks + @txtobj + end + self + end + def clean_text(txtobj,markup=:ao) + if txtobj.class==String + txtobj=if markup ==:ao + i_ao_o_strip_markup(txtobj) + elsif markup ==:src + i_src_o_strip_markup(txtobj) + else p __FILE__; p __LINE__ + end + elsif txtobj.class.inspect=~/^SiSU_AO_DocumentStructure::/ + txtobj.obj=i_ao_o_strip_markup(txtobj.obj) + else p 'error' + end + txtobj + end + def footnotes_inline(txtobj) + end + def footnotes_ref_and_note(txtobj) + end + def src_markup(txtobj) + txtobj + end + def extract_endnotes(doc_obj_txt,endnotes_) #% used for extraction of endnotes from paragraphs + if endnotes_ ==:separate + notes_a=doc_obj_txt.scan(/#{Mx[:en_a_o]}([\d]+\s+.+?)#{Mx[:en_a_c]}/) + ##notes_a=doc_obj_txt.scan(/#{Mx[:en_a_o]}([\d*+]+\s+.+?)#{Mx[:en_a_c]}/) + #notes_b=doc_obj_txt.scan(/#{Mx[:en_b_o]}([\d*+]+\s+.+?)#{Mx[:en_b_c]}/) + n=[] + notes_a.flatten.each do |note| #high cost to deal with
appropriately within plaintext, consider + note=note.dup.to_s + note=note.gsub(/^([\d]+)\s+/,'^~\1 '). + gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}/, + ' \\\\\\ ') + n << note + end + notes_a=n.flatten + doc_obj_txt=doc_obj_txt. + gsub(/#{Mx[:en_a_o]}([\d]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'~^') # endnote marker marked up + else + doc_obj_txt=doc_obj_txt. + gsub(/#{Mx[:en_b_o]}[\d]+\s+(.+?)#{Mx[:en_b_c]}/, + '~[ \1 ]~'). # inline endnote with marker marked up + gsub(/#{Mx[:en_a_o]}([*+]+)\s+(.+?)#{Mx[:en_a_c]}/, + '~{\1 \2 }~'). # inline endnote with marker marked up + gsub(/#{Mx[:en_b_o]}([*+]+)\s+(.+?)#{Mx[:en_b_c]}/, + '~[\1 \2 ]~') # inline endnote with marker marked up + end + [doc_obj_txt,notes_a] + end + def objects #def i_ao_o_src_markup_restore(txtobj) + def code_(dob) + if dob.is==:code + dob.obj=dob.obj.gsub(/(^|[^}])_([<>])/m,'\1\2'). # _> _< + gsub(/(^|[^}])_([<>])/m,'\1\2') # _<_< + end + dob + end + def block_(dob) + dob.obj=if dob.of==:block # watch + dob.obj.gsub(/#{Mx[:gl_o]}●#{Mx[:gl_c]}/,"* "). + gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}/,"\n") + else dob.obj.gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}/,"\n\n") + end + dob + end + def textface_marks_po4a(dob,endnotes_=:inline) + notes='' + dob.obj=dob.obj. + gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/, + Mx[:src_bold_o] + '\1' + Mx[:src_bold_c]). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/, + Mx[:src_italics_o] + '\1' + Mx[:src_italics_c]). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/, + Mx[:src_underscore_o] + '\1' + Mx[:src_underscore_c]). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/, + Mx[:src_subscript_o] + '\1' + Mx[:src_subscript_c]). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/, + Mx[:src_superscript_o] + '\1' + Mx[:src_superscript_c]). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/, + Mx[:src_insert_o] + '\1' + Mx[:src_insert_c]). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/, + Mx[:src_cite_o] + '\1' + Mx[:src_cite_c]). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/, + Mx[:src_strike_o] + '\1' + Mx[:src_strike_c]). + gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/, + Mx[:src_monospace_o] + '\1' + Mx[:src_monospace_c]) + unless dob.is==:code + dob.obj=dob.obj. + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/,'\1'). + gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1'). + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, + '\1 [link: <\2>]'). + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}image/, + '\1 [link: local image]'). + gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1') + dob.obj,notes=extract_endnotes(dob.obj,endnotes_) + dob.obj=dob.obj. + gsub(/#{Mx[:gl_o]}(?:#lt|#060)#{Mx[:gl_c]}/,'<'). + gsub(/#{Mx[:gl_o]}(?:#gt|#062)#{Mx[:gl_c]}/,'>'). + gsub(/#{Mx[:gl_o]}#(?:038|amp)#{Mx[:gl_c]}/,'&'). + gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!'). + gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#'). + gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*'). + gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-'). + gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/'). + gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_'). + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{'). + gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}'). + gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~'). + gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©') + end + dob=block_(dob) + dob=code_(dob) + dob.obj=dob.obj.gsub(/#{Mx[:br_page]}\s*|#{Mx[:br_page_new]}/,''). # remove page breaks + gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1'). + gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,''). # remove name links + gsub(/ |#{Mx[:nbsp]}/,' '). # decide on + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/, + ' [ \1 ]'). #"[ #{dir.url.images_local}\/\\1 ]") + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}image/, + ' [ \1 ]'). #"[ #{dir.url.images_local}\/\\1 ]") + gsub(/(?:^|[^_\\])\{\s*\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"\s*\}\S+/, + '[image: "\1"]') + [dob,notes] + end + def object_marks + @txtobj + end + self + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + object_munge + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/param.org b/org/param.org new file mode 100644 index 00000000..20dbdf49 --- /dev/null +++ b/org/param.org @@ -0,0 +1,2363 @@ +-*- mode: org -*- +#+TITLE: sisu param +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:param: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* dp.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/dp.rb" +# <> +module SiSU_Param + begin + require 'uri' + require 'pstore' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('uri or pstore NOT FOUND (LoadError)') + end + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'dp_make' # dp_make.rb + require_relative 'dp_identify_markup' # dp_identify_markup.rb + @@date=SiSU_Env::InfoDate.new + @doc={ + initialise: nil, + markup: '', + lnks: '', + stmp: '', + req: {}, + } + @@trigger=nil + @@lv,@@flag={},{} + @@tex_backslash="\\\\" + class Parameters + @@publisher='SiSU scribe' + @@md=@@fns=@@pth=nil + def initialize(opt) + @opt=opt + @cX||=SiSU_Screen::Ansi.new(@opt.act[:color_state][:set]) + @fns=if @opt.act[:psql][:set] == [:on] #revisit CHECK + opt.fns + else opt.fns.gsub(/\.ssm$/,'.ssm.sst') + end + SiSU_Param::Instantiate.new.param_instantiate + @env=SiSU_Env::InfoEnv.new(@fns) + @pstorefile="#{@env.processing_path.ao}/#{@fns}.pstore" + end + def get + if @opt.f_pth \ + and @opt.f_pth[:pth] != Dir.pwd #BUG check + # you may need to change Dir.pwd to @opt.f_pth[:pth] where the latter + # has a path value that is different, however, f_pth is not always set! + Dir.chdir(@opt.f_pth[:pth]) + end + if @@fns !=@fns \ + or @@pth !=Dir.pwd #@opt.f_pth[:pth] + @@fns,@@pth=@fns,Dir.pwd #@opt.f_pth[:pth] + @@md=nil + end + if @@md.nil? \ + or @opt.act[:maintenance][:set]==:on #not particularly helpful, as current cycle is through output types, with files changing, only helpful if deal with a file all output types before going to next file + if File.exist?(@pstorefile) + param_msg='Parameters from pstore' + store=PStore.new(@pstorefile) + store.transaction do + @md=store['md'] + end + @md + else + param_msg='Parameters extracted' + fns_array=@env.read_source_file(@opt.fns) + @md=SiSU_Param::Parameters::Instructions.new(fns_array,@opt).extract + @md + end + if defined? @md.title.main # on removal check problems with -U + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + param_msg, + @md.title.main + ).txt_grey + end + end + @@md=@md + else @@md + end + begin + @@md.opt=@opt + @@md + rescue + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + mark('has an existing option been selected?') + exit + end + end + class MdDefault + def rights(author,date) + @author,@date=author,date + def assignment(author) + 'copyright not explicitly stated, ' \ + + 'program "assigning" copyright to author: ' \ + + author + end + def all + s=nil + if @author + #puts assignment(@author) + s ||=((@date =~/((?:1[4-9]|2[01])\d{2})/ ) \ + ? ("Copyright (C) #{$1} #{@author}") + : ('Copyright (C)' + @author)) #matches years 1400 through 21\d\d + end + s + end + def copyright_and_license + s=nil + if @author + #puts assignment(@author) + s ||=((@date =~/((?:1[4-9]|2[01])\d{2})/ ) \ + ? ("Copyright (C) #{$1} #{@author}") + : ('Copyright (C)' + @author)) #matches years 1400 through 21\d\d + end + s + end + def text + all + end + def copyright + def all + s=nil + if @author + s ||=((@date =~/((?:1[4-9]|2[01])\d{2})/ ) \ + ? ("Copyright (C) #{$1} #{@author}") + : ('Copyright (C)' + @author)) #matches years 1400 through 21\d\d + end + s + end + def text + all + end + self + end + self + end + end + class MdMake < SiSU_Param_Make::MdMake + end + class Md + def initialize(str,opt,env) + @s,@opt,@env=str,opt,env + end + def validate_length(s,l,n) + #s=(s.length <= l) ? s : nil + s=if s.is_a?(String) \ + and s.length <= l + s + elsif s.is_a?(NilClass) + nil + elsif s.class !=String + STDERR.puts "#{n} is #{s.class}: programming error, String expected #{__FILE__}:#{__LINE__}" + s + else + SiSU_Screen::Ansi.new( + 'v', + "*WARN* #{n} length #{s.length} exceeds set db field length #{l}, metadata dropped", + @opt.fns + ).warn unless @opt.act[:quiet][:set]==:on + nil + end + end + def name_format(name) + if name + name=name.strip + @name_a_h=[] + authors=name.scan(/[^;]+/) + authors.each_with_index do |a,i| + b=((a =~/\s*\|\s*/) ? (a.split(/\|/)) : [a]) + if b[0] =~/"(.+?)"/ + @name_a_h << { the: $1 } + else + x=b[0].scan(/[^,]+/) + if x.length==1 + @name_a_h << { the: x[0].strip } + elsif x.length==2 + @name_a_h << { the: x[0].strip, others: x[1].strip } + else #p x.length + end + end + b.delete_at(0) + b.each do |d| + k,c=nil + k,c=/^(\S+)\s+(.*)/.match(d)[1,2] if d + @name_a_h[i][:hon]=c.strip if k=='hon' + @name_a_h[i][:affiliation]=c.strip if k=='affiliation' + @name_a_h[i][:nationality]=c.strip if k=='nationality' + end + end + l=@name_a_h.length + name_str='' + @name_a_h.each_with_index do |a,i| + name_str += if a[:others] + z=(((l - i) > 1) ? ', ' : '') + "#{a[:others].strip} #{a[:the].strip}" + z + else + z=(((l - i) > 2) ? ', ' : '') + "#{a[:the].strip}" + z + end + end + { name_a_h: @name_a_h, name_str: name_str } + else nil + end + end + def build_hash(arr) + @h={} + arr.each_with_index do |x,i| + a,b=nil,nil + if x =~/^%\s/ #ignore comment + elsif x =~/:(\S+?):\s+(.+)/ + a,b=/:(\S+?):\s+(.+)\Z/m.match(x)[1,2] + b=b.gsub(/\s*\s*/,' \\\\\\ ') + b=if b =~/\n/m + (b =~/;\n/m) \ + ? (b.split(/;\s*\n\s*/).join(';')) + : (b.split(/\s*\n\s*/).join(' ')) + else + b + end + elsif i == 0 + a='main' + b=x + else + end + @h[a]=b + end + @h + end + def title + a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) + @h=build_hash(a) + def main + s=@h['main'] + l,n=Db[:col_title_part],'title.main' + validate_length(s,l,n) + end + def sub + s=@h['subtitle'] + l,n=Db[:col_title_part],'title.subtitle' + validate_length(s,l,n) + end + def edition + s=@h['edition'] + l,n=Db[:col_title_edition],'title.edition' + validate_length(s,l,n) + end + def note + s=@h['note'] + l,n=Db[:col_info_note],'title.note' + validate_length(s,l,n) + end + def short + s=@h['short'] \ + ? @h['short'] + : @h['main'] + l,n=Db[:col_title_part],'title.short' + validate_length(s,l,n) + end + def full + s=@h['subtitle'] \ + ? (@h['main'] + ' - ' + @h['subtitle']) + : @h['main'] + l,n=Db[:col_title],'title.full' + validate_length(s,l,n) + end + def language + s=@h['language'] + l,n=Db[:col_language],'title.language' + validate_length(s,l,n) + end + def language_char # look into, this must be set, from 1 directory stub (.fi), 2 filename (~fi), [3 (not used) document header (@title:\n :language_char: fi)] + s=@h['language_char'] + l,n=Db[:col_language_char],'title.language_char' + validate_length(s,l,n) + end + self + end + def creator #there are sub categories that need to be catered for and sometimes more than one author etc.; implement array.to_s.length validation test later, current test on string approximate as string is not used + a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) + @h=build_hash(a) + def author + @h['author']=(@h['author'] \ + ? @h['author'] + : @h['main']) + names=name_format(@h['author']) + s=names[:name_str] + l,n=Db[:col_name],'creator.author' + validate_length(s,l,n) + end + def author_detail + s=@h['author'] \ + ? @h['author'] + : @h['main'] + names=name_format(s) + names[:name_a_h] + end + def email #revisit + s=@h['email'] + end + def editor + names=@h['editor'] \ + ? name_format(@h['editor']) + : nil + s=(names.is_a?(Hash)) \ + ? names[:name_str] + : nil + s=if s + l,n=Db[:col_name],'creator.editor' + validate_length(s,l,n) + else nil + end + end + def editor_detail + names=@h['editor'] \ + ? name_format(@h['editor']) + : nil + (names.is_a?(Hash)) \ + ? names[:name_a_h] + : nil + end + def contributor + names=@h['contributor'] \ + ? name_format(@h['contributor']) + : nil + s=(names.is_a?(Hash)) \ + ? names[:name_str] + : nil + s=if s + l,n=Db[:col_name],'creator.author' + validate_length(s,l,n) + else nil + end + end + def contributor_detail + names=@h['contributor'] \ + ? name_format(@h['contributor']) + : nil + (names.is_a?(Hash)) \ + ? names[:name_a_h] + : nil + end + def illustrator + names=@h['illustrator'] \ + ? name_format(@h['illustrator']) + : nil + s=(names.is_a?(Hash)) \ + ? names[:name_str] + : nil + s=if s + l,n=Db[:col_name],'creator.illustrator' + validate_length(s,l,n) + else nil + end + end + def illustrator_detail + names=@h['illustrator'] \ + ? name_format(@h['illustrator']) + : nil + (names.is_a?(Hash)) \ + ? names[:name_a_h] + : nil + end + def photographer + names=@h['photographer'] \ + ? name_format(@h['photographer']) + : nil + s=(names.is_a?(Hash)) \ + ? names[:name_str] + : nil + s=if s + l,n=Db[:col_name],'creator.photographer' + validate_length(s,l,n) + else nil + end + end + def photographer_detail + names=@h['photographer'] \ + ? name_format(@h['photographer']) + : nil + (names.is_a?(Hash)) \ + ? names[:name_a_h] + : nil + end + def translator + names=@h['translator'] \ + ? name_format(@h['translator']) + : nil + s=(names.is_a?(Hash)) \ + ? names[:name_str] + : nil + s=if s + l,n=Db[:col_name],'creator.translator' + validate_length(s,l,n) + else nil + end + end + def translator_detail + names=@h['translator'] \ + ? name_format(@h['translator']) + : nil + (names.is_a?(Hash)) \ + ? names[:name_a_h] + : nil + end + def audio + names=@h['audio'] \ + ? name_format(@h['audio']) + : nil + s=(names.is_a?(Hash)) \ + ? names[:name_str] + : nil + s=if s + l,n=Db[:col_name],'creator.audio' + validate_length(s,l,n) + else nil + end + end + def audio_detail + names=@h['audio'] \ + ? name_format(@h['audio']) + : nil + (names.is_a?(Hash)) \ + ? names[:name_a_h] + : nil + end + def digitized_by + names=@h['digitized_by'] \ + ? name_format(@h['digitized_by']) + : nil + s=(names.is_a?(Hash)) \ + ? names[:name_str] + : nil + s=if s + l,n=Db[:col_name],'creator.digitized_by' + validate_length(s,l,n) + else nil + end + end + def digitized_by_detail + names=@h['digitized_by'] \ + ? name_format(@h['digitized_by']) + : nil + (names.is_a?(Hash)) \ + ? names[:name_a_h] + : nil + end + def prepared_by + names=@h['prepared_by'] \ + ? name_format(@h['prepared_by']) + : nil + s=(names.is_a?(Hash)) \ + ? names[:name_str] + : nil + s=if s + l,n=Db[:col_name],'creator.prepared_by' + validate_length(s,l,n) + else nil + end + end + def prepared_by_detail + names=@h['prepared_by'] \ + ? name_format(@h['prepared_by']) + : nil + names=name_format(@h['prepared_by']) + (names.is_a?(Hash)) \ + ? names[:name_a_h] + : nil + end + self + end + def rights + a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) + @h=build_hash(a) + def copyright + def text #you may wish to expand to take from all + s=if @h['copyright'] then @h['copyright'] + elsif @h['text'] then @h['text'] + elsif @h['main'] then @h['main'] + else + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'WARNING Document Copyright missing; provide @rights: :copyright:' + ).warn if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + '' + end + l,n=Db[:col_info_note],'rights.copyright.text' + validate_length(s,l,n) + end + def translation + s=@h['translation'] \ + ? @h['translation'] + : nil + l,n=Db[:col_info_note],'rights.copyright.translation' + validate_length(s,l,n) + end + def illustrations + s=@h['illustrations'] \ + ? @h['illustrations'] + : nil + l,n=Db[:col_info_note],'rights.copyright.illustrations' + validate_length(s,l,n) + end + def photographs + s=@h['photographs'] \ + ? @h['photographs'] + : nil + l,n=Db[:col_info_note],'rights.copyright.photographs' + validate_length(s,l,n) + end + def digitization + s=@h['digitization'] \ + ? @h['digitization'] + : nil + l,n=Db[:col_info_note],'rights.copyright.digitization' + validate_length(s,l,n) + end + def audio + s=@h['audio'] \ + ? @h['audio'] + : nil + l,n=Db[:col_info_note],'rights.copyright.audio' + validate_length(s,l,n) + end + self + end + def license + s=@h['license'] \ + ? @h['license'] + : nil + l,n=Db[:col_info_note],'rights.license' + validate_length(s,l,n) + end + def sep(str) + ' \\\\ ' + end + def copyright_and_license + s=if @h['copyright_and_license'] then @h['copyright_and_license'] + else + s='' + if defined? copyright.text \ + and copyright.text \ + and not copyright.text.empty? + v=sep(copyright.text) + s +=copyright.text + v + end + if defined? copyright.license \ + and copyright.license \ + and not copyright.license.empty? + s +=copyright.license + end + if s.empty? + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'WARNING Document Rights information missing; provide @rights: :copyright:' + ).warn if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + else + l,n=Db[:col_info_note],'rights.all' + validate_length(s,l,n) + end + s=s.gsub(/ [\\]+\s+$/,'') + end + s + end + def all + s=if @h['all'] then @h['all'] + else + s='' + if defined? copyright.text \ + and copyright.text \ + and not copyright.text.empty? + v=sep(copyright.text) + s +='Copyright: ' + copyright.text + v + end + if defined? copyright.translation \ + and copyright.translation \ + and not copyright.translation.empty? + v=sep(copyright.translation) + s +='translation: ' + copyright.translation + v + end + if defined? copyright.illustrations \ + and copyright.illustrations \ + and not copyright.illustrations.empty? + v=sep(copyright.illustrations) + s +='illustrations: ' + copyright.illustrations + v + end + if defined? copyright.photographs \ + and copyright.photographs \ + and not copyright.photographs.empty? + v=sep(copyright.photographs) + s +='photographs: ' + copyright.photographs + v + end + if defined? copyright.digitization \ + and copyright.digitization \ + and not copyright.digitization.empty? + v=sep(copyright.digitization) + s +='digitization: ' + copyright.digitization + v + end + if defined? copyright.audio \ + and copyright.audio \ + and not copyright.audio.empty? + v=sep(copyright.audio) + s +='audio: ' + copyright.audio + v + end + if defined? copyright.license \ + and copyright.license \ + and not copyright.license.empty? + s +='License: ' + copyright.license + end + if s.empty? + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'WARNING Document Rights information missing; provide @rights: :copyright:' + ).warn if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + else + l,n=Db[:col_info_note],'rights.all' + validate_length(s,l,n) + end + s=s.gsub(/ [\\]+\s+$/,'') + end + s + end + self + end + def identifier + a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) + @h=build_hash(a) + def oclc + s=@h['oclc'] + l,n=Db[:col_library],'identifier.oclc' + validate_length(s,l,n) + end + def isbn + s=@h['isbn'] + l,n=Db[:col_small],'identifier.isbn' + validate_length(s,l,n) + end + def pg + s=@h['pg'] + l,n=Db[:col_small],'identifier.pg' + validate_length(s,l,n) + end + self + end + def classify + a=@s.split(/(\n%\s.+?$|[ ]*)(?:\n[ ]*(?=:)|\Z)/m) + @h=build_hash(a) + def topic_register + s=@h['topic_register'] + l,n=Db[:col_info_note],'classify.topic_register' + validate_length(s,l,n) + end + def subject + s=@h['subject'] + l,n=Db[:col_txt_long],'classify.subject' + validate_length(s,l,n) + end + def keywords + s=@h['keywords'] + l,n=Db[:col_txt_long],'classify.keywords' + validate_length(s,l,n) + end + def loc + s=@h['loc'] + l,n=Db[:col_library],'classify.loc' + validate_length(s,l,n) + end + def dewey + s=@h['dewey'] + l,n=Db[:col_library],'classify.dewey' + validate_length(s,l,n) + end + self + end + def publisher + a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) + @h=build_hash(a) + s=@h['main'] + l,n=Db[:col_name],'publisher' + validate_length(s,l,n) + end + def date + a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) + @h=build_hash(a) + def added_to_site + s=@h['added_to_site'] + l,n=Db[:col_date_text],'date.added_to_site' + validate_length(s,l,n) + end + def available + s=@h['available'] + l,n=Db[:col_date_text],'date.available' + validate_length(s,l,n) + end + def created + s=@h['created'] + l,n=Db[:col_date_text],'date.created' + validate_length(s,l,n) + end + def issued + s=@h['issued'] + l,n=Db[:col_date_text],'date.issued' + validate_length(s,l,n) + end + def modified + s=@h['modified'] + l,n=Db[:col_date_text],'date.modified' + validate_length(s,l,n) + end + def published + s=@h['published']=(@h['published'] ? @h['published'] : @h['main']) + l,n=Db[:col_date_text],'date.published' + validate_length(s,l,n) + end + def valid + s=@h['valid'] + l,n=Db[:col_date_text],'date.valid' + validate_length(s,l,n) + end + self + end + #def language # as things stand this should really be populated from title.language and original.language, resolve + # a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) + # @h=build_hash(a) + # def document + # s=@h['document']=(@h['document'] ? @h['document'] : @h['main']) + # l,n=Db[:col_language],'language.document' + # validate_length(s,l,n) + # end + # def document_char + # s=@h['document_char']=(@h['document_char'] ? @h['document_char'] : nil) + # l,n=Db[:col_language_char],'language.document_char' + # validate_length(s,l,n) + # end + # def original + # s=@h['original'] + # l,n=Db[:col_language],'language.original' + # validate_length(s,l,n) + # end + # def original_char + # s=@h['original_char'] + # l,n=Db[:col_language_char],'language.original_char' + # validate_length(s,l,n) + # end + # self + #end + def current_publisher + @s + end + def original + a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) + @h=build_hash(a) + def publisher + s=@h['publisher'] + l,n=Db[:col_name],'original.publisher' + validate_length(s,l,n) + end + def language + s=@h['language'] + l,n=Db[:col_language],'original.language' + validate_length(s,l,n) + end + def language_char + s=@h['language_char'] + l,n=Db[:col_language_char],'original.language_char' + validate_length(s,l,n) + end + def source + s=@h['source'] + l,n=Db[:col_name],'original.source' + validate_length(s,l,n) + end + def institution + s=@h['institution'] + l,n=Db[:col_name],'original.institution' + validate_length(s,l,n) + end + def nationality + s=@h['nationality'] + l,n=Db[:col_language],'original.nationality' + validate_length(s,l,n) + end + self + end + def notes + a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) + @h=build_hash(a) + def description + s=@h['description'] + l,n=Db[:col_info_note],'notes.description' + validate_length(s,l,n) + end + def abstract + s=@h['abstract'] + l,n=Db[:col_info_note],'notes.abstract' + validate_length(s,l,n) + end + def comment + s=@h['comment'] + l,n=Db[:col_info_note],'notes.comment' + validate_length(s,l,n) + end + def coverage + s=@h['coverage'] + l,n=Db[:col_info_note],'notes.coverage' + validate_length(s,l,n) + end + def relation + s=@h['relation'] + l,n=Db[:col_info_note],'notes.relation' + validate_length(s,l,n) + end + def source + s=@h['source'] + l,n=Db[:col_txt_long],'notes.source' + validate_length(s,l,n) + end + def history + s=@h['history'] + l,n=Db[:col_txt_long],'notes.history' + validate_length(s,l,n) + end + def type + s=@h['type'] + l,n=Db[:col_txt_long],'notes.relation' + validate_length(s,l,n) + end + def format + s=@h['format'] + l,n=Db[:col_txt_short],'notes.format' + validate_length(s,l,n) + end + def prefix + @h['prefix'] + end + self + end + end + class Instructions + @doc={ lv: [] } + @doc[:fns],@doc[:fnb],@doc[:scr_suffix]='','','' + @@publisher='SiSU scribe' + attr_accessor :make,:env,:path,:file,:fn,:fns,:fno,:fnb,:fnn,:fnt,:fnl,:flv,:fnz,:fnstex,:ocn,:sfx_src,:pdf,:file_type,:dir_out,:dir_tex,:dir_lout,:txt_path,:sisu,:project_details,:ruby_version,:title,:subtitle,:full_title,:html_title,:subtitle_tex,:creator,:classify,:author_home,:author,:email,:author_title,:author_nationality,:authors,:authorship,:translator,:illustrator,:prepared_by,:digitized_by,:subject,:description,:publisher,:current_publisher,:contributor,:date,:date_created,:date_issued,:date_available,:date_valid,:date_modified,:date_translated,:date_added_to_site,:date_scheme,:date_created_scheme,:date_issued_scheme,:date_available_scheme,:date_valid_scheme,:date_modified_scheme,:type,:format,:identifier,:source,:language,:language_original,:relation,:coverage,:rights,:keywords,:comments,:abstract,:cls_loc,:cls_dewey,:cls_pg,:cls_isbn,:papersize,:papersize_array,:toc,:lv0,:lv1,:lv2,:lv3,:lv4,:lv5,:lv6,:lvs,:pagenew,:pagebreak,:pageline,:num_top,:bold_match_list,:italics_match_list,:substitution_match_list,:emphasis_set_to,:toc_lev_limit,:flag_biblio,:flag_auto_biblio,:flag_endnotes,:flag_auto_endnotes,:flag_glossary,:flag_separate_endnotes,:flag_separate_endnotes_make,:markup,:markup_instruction,:flag_tables,:vocabulary,:doc_css,:yaml,:lnk,:links,:prefix_a,:prefix_b,:suffix,:information,:contact,:icon,:image,:ad_url,:ad_png,:ad_alt,:ad_began,:flag_promo,:promo,:ad_home,:stmp,:stmpd,:sc_filename,:sc_number,:sc_date,:sc_time,:sc_info,:yamladdr,:locale,:wc_lines,:wc_words,:wc_bytes,:file_encoding,:filesize,:user,:home,:hostname,:pwd,:firstseg,:programs,:author_copymark,:i18n,:lang,:lang_code_insert,:en,:notes,:dgst,:generated,:tags,:tag_array,:concord_make,:seg_names,:seg_autoname_safe,:set_header_title,:set_heading_top,:set_heading_seg,:heading_seg_first,:heading_seg_first_flag,:base_program,:ec,:opt,:sem_tag,:book_idx,:topic_register,:topic_register_array,:original,:writing_focus,:audio,:daisy,:home_button_image,:home_button_links,:footer_links,:cover_image,:man_section + def initialize(fns_array,opt) + @env=@path,@file=@fn=@fns=@fno=@fnb=@fnn=@fnt=@fnl=@flv=@fnz=@fnstex=@ocn=@sfx_src=@pdf=@file_type=@dir_out=@dir_tex=@dir_lout=@txt_path=@make=@flag_biblio=@flag_auto_biblio=@flag_endnotes=@flag_auto_endnotes=@flag_glossary=@flag_separate_endnotes=@flag_separate_endnotes_make=@sisu=@project_details=@ruby_version=@title=@subtitle=@full_title=@html_title=@subtitle_tex=@creator=@classify=@author_home=@author=@email=@author_title=@author_nationality=@translator=@illustrator=@prepared_by=@digitized_by=@subject=@description=@publisher=@current_publisher=@contributor=@date=@date_created=@date_issued=@date_available=@date_valid=@date_modified=@date_translated=@date_added_to_site=@date_scheme=@date_created_scheme=@date_issued_scheme=@date_available_scheme=@date_valid_scheme=@date_modified_scheme=@type=@format=@identifier=@source=@language=@language_original=@relation=@coverage=@rights=@keywords=@comments=@abstract=@cls_loc=@cls_dewey=@cls_pg=@cls_isbn=@papersize=@toc=@lv0=@lv1=@lv2=@lv3=@lv4=@lv5=@lv6=@pagenew=@pagebreak=@pageline=@num_top=@bold_match_list=@italics_match_list=@substitution_match_list=@emphasis_set_to=@toc_lev_limit=@flag_tables=@vocabulary=@doc_css=@yaml=@lnk=@links=@prefix_a=@prefix_b=@suffix=@information=@contact=@icon=@ad_url=@ad_png=@ad_alt=@ad_began=@promo=@ad_home=@stmp=@stmpd=@sc_filename=@sc_number=@sc_date=@sc_time=@sc_info=@yamladdr=@locale=@wc_lines=@wc_words=@wc_bytes=@file_encoding=@filesize=@firstseg=@programs=@author_copymark=@i18n=@lang=@lang_code_insert=@en=@notes=@dgst=@generated=@heading_seg_first=@base_program=@topic_register=@original=@writing_focus=@audio=@home_button_image=@home_button_links=@cover_image=@man_section=nil + @data, @path, @fns, @fno, @opt= + fns_array,opt.pth,opt.fns,opt.fno,opt #@data used as data + @flag_tables,@set_header_title,@set_heading_top,@set_heading_seg,@heading_seg_first_flag,@flag_promo,@book_idx= + false, false, false, false, false, false, false + @seg_autoname_safe=true + @daisy,@sem_tag=false,false + @authorship,@markup_instruction,@image='','','','' #check which other values should be set to empty rather than nil + @markup=@markup_instruction #use @markup_instruction + @doc,@fn,@make_italic,@tag_hash,@ec={},{},{},{},{},{} + @flv,@lang,@seg_names,@tags,@tag_array,@tag_a,@ec[:image],@ec[:audio],@ec[:multimedia]=Array.new(9){[]} + @authors,@topic_register_array,@papersize_array=[],[],[] + @lvs=[nil,0,0,0,0,0,0] + @emphasis_set_to='bold' + @lang_code_insert=SiSU_Env::FilenameLanguageCodeInsert.new(@opt).language_code_insert + @footer_links= { left: { say: '', url: '' }, center: { say: '', url: '' } } + @rgx_image=/(?:^|[^_\\])\{(?:\s*|\~\^\s+)(\S+?\.(?:png|jpg|gif)\b)/m + @rgx_audio=/\{\s*(\S+?\.(?:mp3|ogg))/ + @rgx_mm=/\{\s*(\S+?\.(?:ogg|mpeg))/ #expand and distinguish ogg + Dir.chdir(@opt.f_pth[:pth]) + begin + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + @header_make_links_append=:no + common_makes=(defined? @opt.make_instructions_pod) \ + && @opt.make_instructions_pod !=nil \ + && @opt.make_instructions_pod[:makeset]==true \ + ? @opt.make_instructions_pod + : @opt.make_instructions + if common_makes[:makeset] + @pagenew=common_makes[:pagenew] + @pagebreak=common_makes[:pagebreak] + @pageline=common_makes[:pageline] + @toc=common_makes[:toc] + @lv0=common_makes[:lv0] + @lv1=common_makes[:lv1] + @lv2=common_makes[:lv2] + @lv3=common_makes[:lv3] + @lv4=common_makes[:lv4] + @lv5=common_makes[:lv5] + @lv6=common_makes[:lv6] + @num_top=common_makes[:num_top] + @i18n=common_makes[:i18n] + @man_section=common_makes[:man_section] + @emphasis_set_to=common_makes[:emphasis_set_to] + @bold_match_list=common_makes[:bold_match_list] + @italics_match_list=common_makes[:italics_match_list] + @substitution_match_list=common_makes[:substitution_match_list] + @footer_links=common_makes[:footer_links] + @home_button_links=common_makes[:home_button_links] + @home_button_image=common_makes[:home_button_image] + @cover_image=common_makes[:cover_image] + @lnk=@links=common_makes[:links] + @header_make_links_append=common_makes[:links_append] + end + end + #protected + def extract + begin + @user,@home,@hostname,@pwd=ENV['USER'],ENV['HOME'],ENV['HOSTNAME'],ENV['PWD'] + @programs,@wc,@language,@language_original={},{},{},{} + @en={ sum: 0, mark: 0, note: 0, mismatch: 0 } + @prog=SiSU_Env::InfoSettings.new + @sys=SiSU_Env::SystemCall.new + @env=SiSU_Env::InfoEnv.new(@fns) #watch + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + puts 'system locale: ' + @sys.locale + end + if @prog.wc \ + and @sys.wc + wc=%x{wc #{fns}} + wca=wc.scan(/\d+/) + @wc_lines,@wc_words,@wc_bytes=wca[0].to_i,wca[1].to_i,wca[2].to_i + else + fns_a=@data.dup + tmp=fns_a.join + fns_a=tmp.scan(/\S+/) + @wc_words=fns_a.length + fns_a=tmp=nil + end + @concord_make=(@wc_words > @env.concord_max) ? false : true + @locale=@sys.locale + @file_encoding=@sys.file_encoding(fns,@opt.act) + # programs set here for things that affect output appearance only + @programs[:pdf]=SiSU_Env::SystemCall.new.program_found?('pdflatex') + if @opt.act[:psql][:set] == [:ok] + m=/((.+?)(?:\~\w\w(?:_\w\w)?)?)\.((?:-|ssm\.)?sst|ssm|ssi)$/ #watch added match for sss + @fnn,@fnb,@fnt=@fns[m,1],@fns[m,2],@fns[m,3] + @flv=@env.document_language_versions_found[:f] + else + m=/((.+?)(?:\~\w\w(?:_\w\w)?)?)\.((?:-|ssm\.)?sst|ssm)$/ #watch added match for sss + @fnn,@fnb,@fnt=@fns[m,1],@fns[m,2],@fns[m,3] + @flv=@env.document_language_versions_found[:f] + @fnz=(@fns =~/\.(?:ssm\.sst|ssm)$/) ? (@fnn + '.ssm.txz') : (@fnn + '.sst.txz') + end + @papersize=@env.papersize #'A4' #default size #get first from SiSU_Env:: # @env is probably no longer most appropriate name! as default info is more general + @sfx_src=@fns[m,2] + if @fns =~ /(?:-|ssm\.)?sst$/ \ + and not @opt.act[:psql][:set] == [:ok] + @env_out_root=@env.path.output + @dir_out="#{@env.path.output}/#{@fnb}" + @dir_tex=@env.processing_path.tex + @dir_lout=@env.processing_path.lout + @@publisher='SiSU http://www.jus.uio.no/sisu' + end + @txt_path=@txt_path ||= @env.path.output + @stmp=%{#{@fns}}[/^(.+?)\..*/m,1] + @fnstex=@fns.gsub(/_/,'\_\-').gsub(/\./,'.\-') + @flag_endnotes,@flag_auto_endnotes,@flag_separate_endnotes=false,false,false + @flag_separate_endnotes_make=true + @flag_glossary=false + @flag_biblio,@flag_auto_biblio=false,false + ver=SiSU_Env::InfoVersion.instance + @project_details=ver.get_version + @ruby_version=ver.rbversion + @generated=Time.now + fns_array=@data.dup + skip unless fns_array # consider + @code_flag=false + flag_code_curly=:not_code_curly + flag_code_tics=:not_code_tics + fns_array.each do |para| #% scan document + if para !~/^%+\s/ \ + and para =~/|

|
|
)\s*/,' '). + gsub(/~\{.+?\}~/,'') + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Document Parameters', + %{#{title}#{creator}} + ).txt_grey if @opt.act[:verbose][:set]==:on + end + unless @code_flag + if para =~/^1~!biblio(?:graphy)?/ + @flag_auto_biblio,@flag_biblio=false,true + #@flag_biblio=true + elsif @flag_biblio ==true \ + and @flag_auto_biblio ==false \ + and para =~/^(?:au|author):/m + @flag_auto_biblio =true + end + if para =~/^1~!glossary/ + @flag_glossary=true + end + end + if not @book_idx \ + and para =~/^=\{(.+?)\}[\s`]*\Z/m + @book_idx=true + end + unless @code_flag + case para + when /~\{\s+.+?\}~/m #% processing + en=para.scan(/~\{.+?\}~/m) + en.each { |e| @en[:sum] +=1 } + when /~\^(?:\s|$)/m #% processing + mk=para.scan(/~\^(?:\s|$)/) + mk.each { |e| @en[:mark] +=1 } + when /^\^~\s+\S/ then @en[:note] +=1 #% processing + end + end + if para =~/~\{|\^~ |~\^|\{.+?\[[1-6]\]\}\S+?\.ss[tm]/m + @flag_auto_endnotes,@flag_endnotes=true,true + end + if para =~/^(?:table\{|\{table)/i + @flag_tables=true + end + end + if para =~/^:?A~/ + @set_heading_top=true + end + if para =~/^1~/ + m=nil + if para =~/^1~(\S+)\s+(.+)$/ + m,t=$1,$2 + elsif para =~/^1~\s+(.+)$/ + t=$1 + end + unless @heading_seg_first_flag # extract first segment name + @heading_seg_first=t + @heading_seg_first_flag=true + end + if m # list all segment names + @seg_names << m + @set_heading_seg=true + if m=~/^\d{1,3}/ \ + and m !~/^0/ + @seg_autoname_safe=false + end + end + end + para=para.gsub(/<:=(\S+?)>/,'{ c_\1.png 14x14 }image') # embedded symbol (image) + if para !~/^%+\s/ \ + and para =~@rgx_image + @ec[:image] << para.scan(@rgx_image).uniq + end + @ec[:audio] << para.scan(@rgx_audio).uniq if para =~@rgx_audio #embedded content + @ec[:multimedia] << para.scan(@rgx_mm).uniq if para =~@rgx_mm #embedded content + unless @sem_tag + @sem_tag=true if para=~/[:;]\{.+?\}[:;][a-z+]/ #refix later + end + end #% here endeth the document loop + unless @make + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + '@make:', + 'header absent' + ).warn + end + @make=SiSU_Param::Parameters::MdMake.new('@make: ',@opt,@env).make + end + if @cover_image \ + and @cover_image.is_a?(Hash) \ + and (@cover_image[:cover] =~@rgx_image \ + or @cover_image[:cover] =~/\S+?.(?:jpg|png|gif)/) + @ec[:image] << @cover_image[:cover] + end + if @home_button_image \ + and @home_button_image.is_a?(Hash) \ + and (@home_button_image[:home] =~@rgx_image \ + or @home_button_image[:home] =~/\S+?\.(?:jpg|png|gif)/) + @ec[:image] << @home_button_image + end + if @ec[:image].length > 0 + @ec[:image]=@ec[:image].flatten.uniq + @ec[:image].delete_if {|x| x =~/https?:\/\// } + @ec[:image]=@ec[:image].sort + end + @ec[:audio]=@ec[:audio].uniq.flatten.sort + @ec[:multimedia]=@ec[:multimedia].uniq.flatten.sort + unless @rights + if defined? @creator.author \ + and @creator.author.is_a?(String) \ + and defined? @date.published \ + and @date.published.is_a?(String) + @rights=SiSU_Param::Parameters::MdDefault.new.rights(@creator.author,@date.published) + elsif defined? @creator.author \ + and @creator.author.is_a?(String) + @rights=SiSU_Param::Parameters::MdDefault.new.rights("[#{@creator.author}]",'') + end + end + if defined? @classify.topic_register \ + and @classify.topic_register.is_a?(String) \ + and @classify.topic_register.length >3 + topic_register=@classify.topic_register + u=topic_register.scan(/[^;]+/m).sort + v=[] + u.each do |l| + v << l.scan(/[^:]+/m) + end + v.each do |s| + s[-1]=s[-1].scan(/[^|]+/m) if s[-1] =~/[|]/m + @topic_register_array << s + end + @topic_register_array + end + if @i18n + @i18n=@i18n.uniq + @i18n << 'en' unless @i18n.find_index("en") + else + @i18n=[ 'en' ] + end + translated=[] + translate_list=[@pagenew,@pagebreak,@pageline,@num_top,@toc_lev_limit] + translate_list.each do |t| + translate=t.to_s if t + translated << if translate + translate.gsub!(/3/,'6') + translate.gsub!(/2/,'5') + translate.gsub!(/1/,'4') + translate.gsub!(/:?C/,'3') + translate.gsub!(/:?B/,'2') + translate.gsub!(/:?A/,'1') + # looks like an ok substituion for the above but is not, causes problems, check why + #translate=translate.gsub(/3/,'6'). + # gsub(/2/,'5'). + # gsub(/1/,'4'). + # gsub(/:?C/,'3'). + # gsub(/:?B/,'2'). + # gsub(/:?A/,'1') + translate=(translate =~/^\d+$/) \ + ? translate.to_i + : translate + else nil + end + end + @pagenew,@pagebreak,@pageline,@num_top,@toc_lev_limit=translated + @markup=@markup.gsub(/page_new\s*=\s*([\dA-C])/,"page_new=#{@pagenew}"). + gsub(/page_break\s*=\s*([\dA-C])/,"page_break=#{@pagebreak}"). + gsub(/page_line\s*=\s*([\dA-C])/,"page_line=#{@pageline}"). + gsub(/num_top\s*=\s*([\dA-C])/,"num_top=#{@num_top}"). + gsub(/toc_lev_limit\s*=\s*([\dA-C])/,"toc_lev_limit=#{@toc_lev_limit}") + papersize_array_rc=@papersize.downcase.scan(/(?:a4|letter|legal|book|a5|b5)/) + papersize_array_opt=[ + ((@opt.act[:pdf_a4][:set]==:on) ? 'a4' : ''), + ((@opt.act[:pdf_a5][:set]==:on) ? 'a5' : ''), + ((@opt.act[:pdf_b5][:set]==:on) ? 'b5' : ''), + ((@opt.act[:pdf_letter][:set]==:on) ? 'letter' : ''), + ((@opt.act[:pdf_legal][:set]==:on) ? 'legal' : ''), + ] - [""] + @papersize_array=(papersize_array_opt.length > 0) \ + ? papersize_array_opt + : papersize_array_rc + fn=@opt.fno #decide what to do a filesize on .ssm tells very little about actual document size + @filesize=(File.size(fn)).to_s + if @sys.openssl !=false \ + and FileTest.file?(@env.source_file_with_path) + @dgst=[] + case @env.digest(@opt).type + when :sha512 + dgst=@sys.sha512(@env.source_file_with_path) + @dgst=dgst[1].length==128 ? dgst : nil + puts 'check document (sha512) digest' if not @dgst + when :sha256 + dgst=@sys.sha256(@env.source_file_with_path) + @dgst=dgst[1].length==64 ? dgst : nil + puts 'check document (sha256) digest' if not @dgst + when :md5 + dgst=@sys.md5(@env.source_file_with_path) + @dgst=dgst[1].length==32 ? dgst : nil + puts 'check document (md5) digest' if not @dgst + else + dgst=@sys.sha256(@env.source_file_with_path) + @dgst=dgst[1].length==64 ? dgst : nil + puts 'check document (sha256) digest' if not @dgst + end + elsif not FileTest.file?(@env.source_file_with_path) + #puts SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).set(:fuchsia) + end + @publisher ||= "#{@@publisher} (this copy)" + fn_set_lang=SiSU_Env::StandardiseLanguage.new(@opt.lng).language + unless @language[:code] \ + and @language[:name] + lang=@env.i18n.language #default language settings for directory by name, or in sysrc.yml + @language[:code] ||= lang.code + @language[:name] ||= lang.title + end + unless fn_set_lang[:d]==true #decide, naming convention overrides other settings, within document, etc. + @language[:code]=fn_set_lang[:c] + @language[:name]=fn_set_lang[:n] + end + @fnl=@env.i18n.lang_filename(fn_set_lang[:c]) + @lang=@lang.uniq + @fn=SiSU_Env::EnvCall.new(@fns).lang(fn_set_lang[:c]) + if @en[:note] > 0 \ + and @en[:sum] > 0 + if @en[:sum] > 0 + else + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + '*WARN* both endnote styles used', + "~{ #{@en[:sum]} }~ and ^~ #{@en[:mark]}" + ).warn unless @opt.act[:quiet][:set]==:on + end + end + if @en[:mark] != @en[:note] \ + and @en[:note] > 0 + @en[:mismatch]=@en[:note] - @en[:mark] + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + '*WARN* endnote number mismatch', + "endnotes: #{@en[:note]} != endnote reference marks: #{@en[:mark]} " \ + + "(difference = #{@en[:mismatch]})" + ).warn unless @opt.act[:quiet][:set]==:on + footnote_conversion_errors=File.new("#{Dir.pwd}/footnote_conversion_errors.txt",'a') + footnote_conversion_errors << + "#{@fns}:\n\tendnotes: #{@en[:note]} != endnote reference marks: #{@en[:mark]} " \ + + "(difference = #{@en[:mismatch]})\n" + end + if not @title \ + or not defined? @title.main \ + or @title.main !~/[\S]/ + if @fns =~/\.ssm$/ \ + and @opt.inspect =~/P/ + #@title=Md.new('Text Insert',@opt,@env).title + else + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'WARNING: Document Title missing', + 'please provide @title:' + ).warn if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + end + end + if @author !~/[\S]/ + if @fns =~/\.ssm$/ \ + and @opt.inspect =~/P/ + #@creator=SiSU_Param::Md.new('Text Insert',@opt,@env).creator + else + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'WARNING: Document Author missing', + 'please provide @creator: :author:' + ).warn if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + end + end + @struct={} + doc_struct=Hash.new(0) + if @lv1.nil? + fns_array.each do |para| + if para =~/^(Part|Chapter|Section|Article)\b/i + case para + when /^(Part|PART)\b/ + @struct[:part]=doc_struct[:part] + doc_struct[:part]=doc_struct[:part] + 1 + when /^(Chapter|CHAPTER)\b/ + @struct[:chapter]=doc_struct[:chapter] + doc_struct[:chapter]=doc_struct[:chapter] + 1 + when /^(Section|SECTION)\b/ + @struct[:section]=doc_struct[:section] + doc_struct[:section]=doc_struct[:section] + 1 + when /^(Article|ARTICLE)\b/ + @struct[:article]=doc_struct[:article] + doc_struct[:article]=doc_struct[:article] + 1 + when /^(Clause|CLAUSE)\b/ + @struct[:clause]=doc_struct[:clause] + doc_struct[:clause]=doc_struct[:clause] + 1 + when /^\d\..*[^\.]$/ + @struct[:number]=doc_struct[:number] + doc_struct[:number]=doc_struct[:number] + 1 + end + end + end + if doc_struct[:article] > 2 #%~level 4 + @lv4=/^(?:Article|ARTICLE)\b/ + elsif doc_struct[:chapter] > 2 \ + and doc_struct[:article] \ + and doc_struct[:article] < 3 + @lv4=/^(?:Chapter|CHAPTER)\b/ + elsif doc_struct[:clause] > 2 + @lv4=/^(?:Clause|CLAUSE)\b/ + elsif doc_struct[:number] > 2 + @lv4="^\d\..*[^\.]$" + end + if doc_struct[:section] > 2 #%~level 3 + @lv3=/^(?:Section|SECTION)\b/ + end + if doc_struct[:chapter] > 2 \ + and doc_struct[:article] \ + and doc_struct[:article] > 2 + @lv2=/^(?:Chapter|CHAPTER)\b/ + end + if doc_struct[:part] > 2 \ + and @lv[2].nil? + @lv2=/^(?:Part|PART)\b/ + end + if doc_struct[:part] > 2 \ + and @lv[2].inspect !~/Part/ \ + and @lv[1].nil? + @lv1=/^(Part|PART)\b/ + end + end + @lnk=@lnk.compact if @lnk + @lv0 ||=/^0~/ + @lv1 ||=/^1~/ + @lv2 ||=/^2~/ + @lv3 ||=/^3~/ + @lv4 ||=/^4~/ + @lv5 ||=/^5~/ + @lv6 ||=/^6~/ + @data=nil #else whole file's contents are stored in md pstore & is not required to be... big waste actually + @file=SiSU_Env::FileOp.new(self) #watch + Store.new(self,@env).store #% pstore + self + rescue + if @opt.act[:harvest][:set]==:on + exit + end + end + end + private + class Store + def initialize(md,env) + @md,@env=md,env + end + def store + begin + pstorefile="#{@env.processing_path.ao}/#{@md.fns}.pstore" + File.unlink(pstorefile) if FileTest.file?(pstorefile) + if (@md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + "PStore -> #{pstorefile}" + ).txt_grey + end + store=PStore.new(pstorefile) + store.transaction do + store['md']=@md + store.commit + end + @@md=@md=nil + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + end + end + end + class Instantiate + def param_instantiate + @@date=SiSU_Env::InfoDate.new + @doc={ + initialise: nil, + markup: '', + lnks: '', + stmp: '', + prefix_a: '', + prefix_b: '', + req: {} + } + @@flag={} + @@publisher='SiSU scribe' + end + end +end +__END__ +#+END_SRC + +* dp_make.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/dp_make.rb" +# <> +module SiSU_Param_Make + class MdMake + def initialize(str,opt,env) + @s,@opt,@env=str,opt,env + end + def validate_length(s,l,n) + #s=(s.length <= l) ? s : nil + s=if s.is_a?(String) \ + and s.length <= l + s + elsif s.is_a?(NilClass) + nil + elsif s.class !=String + STDERR.puts "#{n} is #{s.class}: programming error, String expected #{__FILE__}:#{__LINE__}" + s + else + SiSU_Screen::Ansi.new( + 'v', + "*WARN* #{n} length #{s.length} exceeds set db field length #{l}, metadata dropped", + @opt.fns + ).warn unless @opt.act[:quiet][:set]==:on + nil + end + end + def name_format(name) + if name + name=name.strip + @name_a_h=[] + authors=name.scan(/[^;]+/) + authors.each_with_index do |a,i| + b=((a =~/\s*\|\s*/) ? (a.split(/\|/)) : [a]) + if b[0] =~/"(.+?)"/ + @name_a_h << { the: $1 } + else + x=b[0].scan(/[^,]+/) + if x.length==1 + @name_a_h << { the: x[0].strip } + elsif x.length==2 + @name_a_h << { the: x[0].strip, others: x[1].strip } + else #p x.length + end + end + b.delete_at(0) + b.each do |d| + k,c=nil + k,c=/^(\S+)\s+(.*)/.match(d)[1,2] if d + @name_a_h[i][:hon]=c.strip if k=='hon' + @name_a_h[i][:affiliation]=c.strip if k=='affiliation' + @name_a_h[i][:nationality]=c.strip if k=='nationality' + end + end + l=@name_a_h.length + name_str='' + @name_a_h.each_with_index do |a,i| + name_str += if a[:others] + z=(((l - i) > 1) ? ', ' : '') + "#{a[:others].strip} #{a[:the].strip}" + z + else + z=(((l - i) > 2) ? ', ' : '') + "#{a[:the].strip}" + z + end + end + { name_a_h: @name_a_h, name_str: name_str } + else nil + end + end + def build_hash(arr) + @h={} + arr.each_with_index do |x,i| + a,b=nil,nil + if x =~/^%[:\s]/ #ignore comment + elsif x =~/:(\S+?):\s+(.+)/ + a,b=/:(\S+?):\s+(.+)\Z/m.match(x)[1,2] + elsif i == 0 + a='main' + b=x + else + end + @h[a]=b + end + @h + end + def make + a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) + @h=build_hash(a) + def headings + lv=[] + x=@h['headings'] + x=((x =~/;/) ? (x.split(/;\s*/)) : [ x ]) + lv[0]=x + lv0 ||='A~ ' #root level, single document apex, document title + lv1=x[0] ||='B~ ' + lv[1]=/^#{lv1}/ + lv2=x[1] ||='C~ ' + lv[2]=/^#{lv2}/ + lv3=x[2] ||='D~ ' + lv[3]=/^#{lv3}/ + lv4=x[3] ||='1~ ' + lv[4]=/^#{lv4}/ + lv5=x[4] ||='2~ ' + lv[5]=/^#{lv5}/ + lv6=x[5] ||='3~ ' + lv[6]=/^#{lv6}/ + lv + end + def num_top + @h['num_top'] + end + def breaks + pagebreaks=((@h['breaks'] =~/;/) \ + ? (@h['breaks'].split(/;\s*/)) + : [ @h['breaks'] ]) + page_new,page_break,page_line=nil,nil,nil + pagebreaks.each do |x| + page_new=x[/(:?[\dA-C],?)+/] if x=~/new|clear/ + page_break=x[/(:?[\dA-C],?)+/] if x =~/break/ + page_line=x[/(:?[\dA-C],?)+/] if x =~/line/ + end + { page_new: page_new, page_break: page_break, page_line: page_line } + end + def language + if @h['language'] && (@h['language']=~/\S{2,}/) + ((@h['language'] =~/,/) \ + ? (@h['language'].split(/,\s*/)) + : [ @h['language'] ]) + else [ 'en' ] + end + end + def bold + m=@h['bold'] + i=(m=~/\/i$/)? 'i' : '' + if m + x=m.gsub(/^\/(.+?)\/i?/,'\1'). + gsub(/\((?:\?:)?/,'(?:') # avoid need to escape use of brackets within regex provided + rgx='\b(' + x + ')\b' + y=((i =~/i/) ? (/#{rgx}/i) : (/#{rgx}/)) + { str: '\b(?:' + x + ')\b', regx: y, i: i } + else nil + end + end + def italics + m=@h['italics'] + i=((m=~/\/i$/) ? 'i' : '') + if m + x=m.gsub(/^\/(.+?)\/i?/,'\1'). + gsub(/\((?:\?:)?/,'(?:') # avoid need to escape use of brackets within regex provided + rgx='\b(' + x + ')\b' + y=((i =~/i/) ? (/#{rgx}/i) : (/#{rgx}/)) + { str: '\b(?:' + x + ')\b', regx: y, i: i } + else nil + end + end + def emphasis + if @h['emphasis'] =~/bold/ then 'bold' + elsif @h['emphasis'] =~/italics?/ then 'italics' + elsif @h['emphasis'] =~/under(?:line|score)/ then 'underscore' + else nil + end + end + def substitute + m=@h['substitute'] + if m + w=m.scan(/\/(.+?)\/(i?,)\s*'(.+?)'(?:\s+|\s*;\s*|$)/) + arr_hash=[] + matches='' + w.each do |x| + c=(x[1] =~/[i],/) ? :i : :s + matches=matches + x[0].gsub(/([${}])/,'\\\\\1') + '|' + arr_hash << { + match: x[0].gsub(/([${}])/,'\\\\\1'), + replace: x[2], + case_s: c + } + end + matches.chop! + { match_and_replace: arr_hash, matches: matches } + else nil + end + end + def plaintext_wrap + if @h['plaintext_wrap'].to_s =~/\d\d+/ \ + and @h['plaintext_wrap'].to_i > 19 \ + and @h['plaintext_wrap'].to_i < 201 + @h['plaintext_wrap'].to_i + else nil + end + end + 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 cover_image? + (omit.list.inspect =~/"cover_image"/) \ + ? :off + : :na + end + def home_button_image? + (omit.list.inspect =~/"home_button_image"/) \ + ? :off + : :na + end + def texpdf_font + def main + @h['texpdf_font'] \ + && (@h['texpdf_font']=~/\S{3,}/) \ + ? @h['texpdf_font'] + : @env.font.texpdf.main + end + def sans # not used + @h['texpdf_font_sans'] \ + && (@h['texpdf_font_sans']=~/\S{3,}/) \ + ? @h['texpdf_font_sans'] + : @env.font.texpdf.sans + end + def serif # not used + @h['texpdf_font_serif'] \ + && (@h['texpdf_font_serif']=~/\S{3,}/) \ + ? @h['texpdf_font_serif'] + : @env.font.texpdf.serif + end + def mono + @h['texpdf_font_mono'] \ + && (@h['texpdf_font_mono']=~/\S{3,}/) \ + ? @h['texpdf_font_mono'] + : @env.font.texpdf.mono + end + def cjk + @h['texpdf_font_cjk'] \ + && (@h['texpdf_font_cjk']=~/\S{3,}/) \ + ? @h['texpdf_font_cjk'] + : @env.font.texpdf.cjk + end + def cjk_zh + @h['texpdf_font_cjk_zh'] \ + && (@h['texpdf_font_cjk_zh']=~/\S{3,}/) \ + ? @h['texpdf_font_cjk_zh'] + : @env.font.texpdf.cjk_zh + end + def cjk_ja + @h['texpdf_font_cjk_ja'] \ + && (@h['texpdf_font_cjk_ja']=~/\S{3,}/) \ + ? @h['texpdf_font_cjk_ja'] + : @env.font.texpdf.cjk_ja + end + def cjk_ko + @h['texpdf_font_cjk_ko'] \ + && (@h['texpdf_font_cjk_ko']=~/\S{3,}/) \ + ? @h['texpdf_font_cjk_ko'] + : @env.font.texpdf.cjk_ko + end + self + end + def promo + @h['promo'] + end + def ad + @h['ad'] + end + def manpage + manpage={} + if @h['manpage'] + if @h['manpage'] =~/;/m + man=@h['manpage'].split(/;/m) + man.each do |x| + m=(x=~/=/m) ? x.split(/=/m) : nil + if m + manpage[m[0].strip] = m[1].split(/ \. /) + end + end + end + end + if manpage['name'] + manpage['name']=manpage['name'].join("\n.br\n"). + gsub(/(-)/m,"\\\\\\1"). + gsub(/\A/,"\n.br\n.SH NAME\n.br\n") + else + manpage['name']='man page "name/whatis" information not provided, set in header @man: name=[whatis information]' + end + if manpage['synopsis'] + manpage['synopsis']=manpage['synopsis'].join("\n\n.br\n"). + gsub(/(-)/m,"\\\\\\1"). + gsub(/\A/,"\n.br\n.SH SYNOPSIS\n.br\n") + else + manpage['synopsis']='' + end + unless manpage['section'] + manpage['section']=1 + end + manpage + end + def get_image_dimensions(img) + imgk=SiSU_Env::SystemCall.new.imagemagick + gmgk=SiSU_Env::SystemCall.new.graphicsmagick + img_pth={ + sst: @env.path.image_source_include, + pod: File.expand_path("../../../sisupod/image" ) + } + path_img=if FileTest.file?("#{img_pth[:pod]}/#{img}") + "#{img_pth[:pod]}/#{img}" + elsif FileTest.file?("#{img_pth[:sst]}/#{img}") + "#{img_pth[:sst]}/#{img}" + else nil + end + if path_img + if imgk or gmgk + if imgk + imgsys=`identify #{path_img}`.strip #system call + elsif gmgk + imgsys=`gm identify #{path_img}`.strip #system call + end + w,h=/(\d+)x(\d+)/m.match(imgsys)[1,2] + else + w,h='600','800' + end + else + w,h=nil,nil + end + {w: w, h: h} + end + def home_button_text + if @h['home_button_text'] + @h['home_button_text'].split(/\s*;\s*/) + else nil + end + end + def home_button_image + s=nil + s=if @h['home_button_image'] + s=@h['home_button_image'].split(/\s*;\s*/) + s0=s[0] #if + image={} + s=if s0 =~/{(\S+\.(?:jpg|png|gif))(?:\s+(\d+x\d+))?\s*}(?:(http:\/\/\S+)|image)/ + image[:home_button]=$1 + if $2 + image[:dimensions]=$2 + image[:w],image[:h]=/(\d+)x(\d+)/m.match(image[:dimensions])[1,2] + else + d=get_image_dimensions(image[:home_button]) + image[:w],image[:h]=d[:w],d[:h] + image[:dimensions]="#{d[:w]}x#{d[:h]}" + end + image[:link]=$3 + image + end + else nil + end + end + def cover_image + s=nil + if @h['cover_image'] + s=@h['cover_image'].split(/\s*;\s*/) + s=s[0] #if + image={} + if s =~/{\s*(\S+\.(?:jpg|png|gif))(?:\s+(\d+x\d+))?(?:\s+"(.+?)")?\s*}image/ + image[:cover]=$1 + if $2 + image[:dimensions]=$2 + image[:w],image[:h]=/(\d+)x(\d+)/m.match(image[:dimensions])[1,2] + else + d=get_image_dimensions(image[:cover]) + image[:w],image[:h]=d[:w],d[:h] + image[:dimensions]="#{d[:w]}x#{d[:h]}" + end + image[:note]=$3 + elsif s =~/(\S+\.(?:jpg|png|gif))/ + image[:cover]=$1 + d=get_image_dimensions(image[:cover]) + image[:w],image[:h]=d[:w],d[:h] + image[:dimensions]="#{d[:w]}x#{d[:h]}" + image[:note]=nil + end + image + else nil + end + end + def footer + if @h['footer'] + @h['footer'].split(/\s*;\s*/) + else nil + end + end + self + end + def make_links + @doc_links=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) + def links + lnks,a_idx=[],0 + @doc_links.each do |doc_link| + if doc_link=~/\{.+?\}(?:(?:https?|file|ftp):\/|\.\.)\/\S+(?:\s|$)/ + say,url=/\{\s*(.+?)\s*\}((?:(?:https?|file|ftp):\/|\.\.)\/\S+)/im.match(doc_link)[1,2] + lnks[a_idx]={ say: say, url: url } + a_idx +=1 + end + end + lnks + end + def append? + (@doc_links[0]=='+') \ + ? :yes + : :no + end + self + end + end + class MakeHead + attr_accessor :pagenew,:pagebreak,:pageline,:toc,:lv1,:lv2,:lv3,:lv4,:lv5,:lv6,:num_top,:i18n,:man_section,:substitution_match_list,:bold_match_list,:italics_match_list,:emphasis_set_to,:footer_links,:home_button_links,:home_button_image,:cover_image + def initialize(make) + @make=make + end + def clear + @pagenew=@pagebreak=@pageline=@toc=@lv1=@lv2=@lv3=@lv4=@lv5=@lv6=@num_top=@i18n=@man_section=@footer_links=@substitution_match_list=@bold_match_list=@italics_match_list=@emphasis_set_to=@home_button_links=@home_button_image=@cover_image=nil + end + def make_instruct + clear + if defined? @make.breaks \ + and @make.breaks[:page_new] #clearpage + @pagenew=@make.breaks[:page_new] + end + if defined? @make.breaks \ + and @make.breaks[:page_break] #newpage + @pagebreak=@make.breaks[:page_break] + end + if defined? @make.breaks \ + and @make.breaks[:page_line] #page line across + @pagebreak=@make.breaks[:page_line] + end + if defined? @make.headings \ + and @make.headings + @toc=@make.headings[0] + @lv1=@make.headings[1] + @lv2=@make.headings[2] + @lv3=@make.headings[3] + @lv4=@make.headings[4] + @lv5=@make.headings[5] + @lv6=@make.headings[6] + end + if defined? @make.num_top \ + and @make.num_top + @num_top=@make.num_top # remove @num_top + end + if defined? @make.language \ + and @make.language[0] + @i18n=@make.language + end + if defined? @make.manpage \ + and @make.manpage + @man_section=(defined? @make.manpage.section) \ + ? @make.manpage.section + : 1 + end + if defined? @make.substitute \ + and @make.substitute + @substitution_match_list=@make.substitute + end + if defined? @make.bold \ + and @make.bold + @bold_match_list=@make.bold + end + if defined? @make.italics \ + and @make.italics + @italics_match_list=@make.italics + end + if defined? @make.emphasis \ + and @make.emphasis + @emphasis_set_to=@make.emphasis + end + if defined? @make.footer \ + and @make.footer.is_a?(Array) + @footer_links= { left: { say: '', url: '' }, center: { say: '', url: '' } } #already set + @footer_links[:left]=if @make.footer[0]=~/\{.+?\}(?:(?:https?|file|ftp):\/|\.\.)\/\S+(?:\s|$)/ + say,url=/\{\s*(.+?)\s*\}((?:(?:https?|file|ftp):\/|\.\.)\/\S+)/im.match(@make.footer[0])[1,2] + { say: say, url: url } + else + { say: '', url: '' } + end + @footer_links[:center]=if @make.footer[1]=~/\{.+?\}(?:(?:https?|file|ftp):\/|\.\.)\/\S+(?:\s|$)/ + say,url=/\{\s*(.+?)\s*\}((?:(?:https?|file|ftp):\/|\.\.)\/\S+)/im.match(@make.footer[1])[1,2] + { say: say, url: url } + else + { say: '', url: '' } + end + @footer_links + else #already set + @footer_links= { left: { say: '', url: '' }, center: { say: '', url: '' } } + end + if defined? @make.home_button_text \ + and @make.home_button_text.is_a?(Array) + a_idx=0 + @home_button_links=[] + @make.home_button_text.each do |doc_link| + if doc_link=~/\{.+?\}(?:(?:https?|file|ftp):\/|\.\.)\/\S+(?:\s|$)/ + say,url=/\{\s*(.+?)\s*\}((?:(?:https?|file|ftp):\/|\.\.)\/\S+)/im.match(doc_link)[1,2] + @home_button_links[a_idx]= { say: say, url: url } + a_idx +=1 + end + end + @home_button_links + end + if defined? @make.home_button_image \ + and @make.home_button_image.is_a?(Hash) + @home_button_image=@make.home_button_image + end + if defined? @make.cover_image \ + and @make.cover_image.is_a?(Hash) + @cover_image=@make.cover_image + end + { pagenew: @pagenew, + pagebreak: @pagebreak, + pageline: @pageline, + toc: @toc, + lv1: @lv1, + lv2: @lv2, + lv3: @lv3, + lv4: @lv4, + lv5: @lv5, + lv6: @lv6, + num_top: @num_top, + i18n: @i18n, + emphasis_set_to: @emphasis_set_to, + bold_match_list: @bold_match_list, + italics_match_list: @italics_match_list, + substitution_match_list: @substitution_match_list, + man_section: @man_section, + footer_links: @footer_links, + home_button_links: @home_button_links, + home_button_image: @home_button_image, + cover_image: @cover_image, + } + end + end +end +__END__ +#+END_SRC + +* dp_identify_markup.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/dp_identify_markup.rb" +# <> +module SiSU_MarkupType + class MarkupIdentify + @@version={} + @@fns,@@version[:determined],@@version[:declared],@@declared_doc_type='','','','[text?]' + attr_accessor :version,:declared_doc_type + def initialize(content,opt) + @cont,@opt=content,opt + end + def identify + @version,@declared_doc_type=@@version,@@declared_doc_type + if @opt.fns != @@fns + if @cont[0] =~ /^(?:%\s+)?SiSU\s+(text|master|insert)\s+([0-9](?:\.[0-9]+){1,2})/ \ + or @cont[0] =~ /^(?:%\s+)?sisu-([0-9](?:\.[0-9]+){1,2})/ + @declared_doc_type,@version[:declared]=$1,$2 + elsif @cont[0] =~ /^(?:%\s+)?SiSU\s+([0-9](?:\.[0-9]+){1,2})/ \ + or @cont[0] =~ /^(?:%\s+)?sisu-([0-9](?:\.[0-9]+){1,2})/ + @version[:declared]=$1 + end + @flag_2_0,@flag_66,@flag_57,@flag_38=false,false,false,false + @cont.each_with_index do |y,i| + if y =~/^@make:|^@classify|^\s\s?:\S+?:\s+\S/ + version=2.0.to_f + @version[:determined]=version + @flag_2_0=true + break + end + unless @flag_38 + if y =~/^:?A~/ + version=0.38.to_f + @version[:determined]=version + @flag_38=true + end + end + if @flag_38 + if @flag_69 \ + or y =~/^=\{.+?\}\s*$/ + version=0.69.to_f + @flag_69=true + @version[:determined]=version + break + end + if @flag_66 \ + or y =~/[:;]\{.+?\}[:;][a-z+]/ + version=0.66.to_f + @flag_66=true + @version[:determined]=version + break + end + end + end + @flag_57,@flag_38=false,false + unless @flag_2_0 \ + or @flag_66 \ + or @flag_69 + @cont.each_with_index do |y,i| + if @flag_57 \ + or y =~/^:?A~\?? @title/ + @version[:determined]=0.57.to_f + @flag_57=true + break + end + if @flag_38 \ + or y =~/^:?A~/ + @version[:determined]=0.38.to_f + @flag_38=true + break if i >= 200 + if y =~ /(?:~{\*+|~\[\*|~\[\+)\s/ + @version[:determined]=0.42 #0.38 can safely be treated as 0.42 + break + end + end + if y =~/^0~/ \ + and not @flag_38 + @version[:determined]=0.16.to_f + break + end + end + end + @@fns=@opt.fns + @@version,@@declared_doc_type=@version,@declared_doc_type + end + self + end + def markup_version? + def determined + identify.version[:determined].to_f + end + def series + s=case identify.version[:determined].to_s + when /^[01]\./ then '1.0' + when /^[2]\./ then '2.0' + else '2.0' + end + "series #{s}" + end + def declared + identify.version[:declared].to_f + end + self + end + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + param + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/shared.org b/org/shared.org new file mode 100644 index 00000000..66df485d --- /dev/null +++ b/org/shared.org @@ -0,0 +1,2297 @@ +-*- mode: org -*- +#+TITLE: sisu shared +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:shared: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* shared +** shared_sem.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/shared_sem.rb" +# <> +module SiSU_Sem + require_relative 'dp' # dp.rb + class Tags + def initialize(para,md) + @para,@md=para,md + end + def rgx + def exclude + /^(?:<:code>|%+ )/ + end + def each_csc + /(?:;|(?:[a-z]+(?:[_:.][a-z]+)+|[a-z]*):)\{|\}[:;][a-z]+(?:[_:.][a-z]+)*/m + end + def each_c + /(?:[a-z]+(?:[_:.][a-z]+)+|[a-z]*):\{|\}:[a-z]+(?:[_:.][a-z]+)*/m + end + def each_sc + /(?:[a-z]+(?:[_:.][a-z]+)+|[a-z]*);\{|\};[a-z]+(?:[_:.][a-z]+)*/m + end + def pair_csc + /(([a-z]+(?:[_:.][a-z]+)+|[a-z]+)(?::\{(.+?)\}:\2)|([:;])\{(.+?)\}\4[a-z]+(?:[_:.][a-z]+)*)/m + end + def pair_c + /(([a-z]+(?:[_:.][a-z]+)*)(?::\{(.+?)\}:\2)|:\{(.+?)\}:[a-z]+(?:[_:.][a-z]+)*)/m + end + def pair_sc + /(;\{.+?\};[a-z]+(?:[_:.][a-z]+)*)/m + end + def whole_csc_ae + /(([a-z]+(?:[_.][a-z]+)+|[a-z]*)(?::\[(.+?)\]:\2)|;\{(.+?)\};(?:[a-z]+(?:[_:.][a-z]+)+|[a-z]+)\b)/m + end + def each_csc_ae + /(?:;|(?:[a-z]+(?:[_:.][a-z]+)+)*:|[a-z]*:)\[|\][:;](?:[a-z]+(?:[_:.][a-z]+)+|[a-z]+)/m + end + self + end + def print + def scan_pair_c + if @para =~ rgx.pair_c + matched=@para.scan(rgx.pair_c).flatten + puts matched[0] unless matched[0].nil? + end + end + def scan_pair_sc + matched=@para.scan(rgx.pair_sc).flatten + puts matched[0] unless matched[0].nil? + end + def if_pair_c + if @para=~/([a-z](?:[a-z_:.]+?[a-z])?)+(?::\{(.+?)\}:\1)/m + puts "#{$1}:{ #{$2} }:#{$1}" + end + end + def if_pair_sc + if @para=~/;\{\s*(.+?)\s*\};([a-z]+(?:[_:.][a-z]+)*)/ + puts ";{ #{$1} };#{$2}" + end + end + def match_pair_c + matched=[] + matched=rgx.pair_c.match(@para)[1] if @para =~ rgx.pair_c + puts matched unless matched.nil? + end + def match_pair_sc + matched=[] + matched=rgx.pair_sc.match(@para)[1] if @para =~ rgx.pair_sc + puts matched unless matched.nil? + end + def matching + scan_pair_c + end + self + end + def rm + def sem_marker_parts + unless @para =~ rgx.exclude + @para.gsub!(rgx.each_csc,'') + end + @para + end + def sem_marker_added_extra_parts + unless @para =~ rgx.exclude + @para.gsub!(rgx.whole_csc_ae,'') + if @para =~rgx.each_csc_ae + STDERR.puts "WARNING semantic tagging error: #{@para}" + end + end + @para + end + def all + if @md.sem_tag + sem_marker_parts + sem_marker_added_extra_parts + end + @para + end + self + end + end +end +__END__ +#+END_SRC + +** shared_images.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/shared_images.rb" +# <> +module SiSU_Images + require_relative 'se_hub_particulars' # se_hub_particulars.rb + class Source + def initialize(opt) + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + end + def read + SiSU_Images::Source::Place.new(@particulars).songsheet + end + class Place + def initialize(particulars) + @particulars=particulars + @md=@particulars.md + @env=@particulars.env + @o_str ||=SiSU_Env::ProcessingSettings.new(@md).output_dir_structure + end + def songsheet + images_set.select_sisu_base + images_set.select_with_document + end + def images_set + @pwd=(/(\S+?)(?:\/(?:#{Px[:lng_lst_rgx]}))?$/).match(Dir.pwd)[1] + def copy(src_path,dest_path,images=nil) + if FileTest.directory?(src_path) + FileUtils::cd(src_path) + unless images + images=Dir.glob("*.{png,jpg,gif,ico}") + end + unless FileTest.directory?(dest_path) \ + or FileTest.symlink?(dest_path) + FileUtils::mkdir_p(dest_path) + FileUtils::chmod(0755,dest_path) + end + if images.length > 0 + images.each do |i| + if FileTest.file?(i) + FileUtils::cp_r(i,"#{dest_path}/#{i}") + FileUtils::chmod(0644,"#{dest_path}/#{i}") + else STDERR.puts %{\t*WARN* did not find image - "#{i}" [#{__FILE__}:#{__LINE__}]} + end + end + end + FileUtils::cd(@pwd) + else STDERR.puts %{\t*WARN* did not find - "#{src_path}" [#{__FILE__}:#{__LINE__}]} + end + end + 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.base.dir}/_sisu/image_sys" + elsif image_type==:image + pth=(@o_str.dump_or_redirect?) \ + ? "#{@md.file.output_path.html.dir}/image" + : "#{@md.file.output_path.base.dir}/_sisu/image" + end + pth + end + def select_with_document + images=@md.ec[:image] + src_path=unless @md.opt.f_pth[:pth] =~/\/\S+?\/sisupod\/\S+?\/sisupod\/doc/ + "#{@pwd}/_sisu/image" + else #sisupod + pt=/(\/\S+?\/sisupod\/\S+?\/sisupod)\/doc/.match(@md.opt.f_pth[:pth])[1] + pt + '/image' + end + dest=dest_path(:image) + copy(src_path,dest,images) + end + def select_sisu_base + images=%w[arrow_next_red.png arrow_prev_red.png arrow_up_red.png dot_clear.png dot_white.png b_doc.png b_epub.png b_odf.png b_pdf.png b_toc.png] + src_path="#{SiSU_is.path_base_system_data?}/image" + dest=dest_path(:image_sys) + copy(src_path,dest,images) + end + self + end + end + end +end +__END__ +#+END_SRC + +** shared_markup_alt.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/shared_markup_alt.rb" +# <> +module SiSU_TextRepresentation + class Alter + def initialize(x) + if x.is_a?(String) + @t_o,@s=nil,x + else + @t_o,@s=x,x.obj.dup + end + end + def strip_clean_of_extra_spaces # dal output tuned + @s=@s.dup + @s=@s.gsub(/[ ]+([,.;:?](?:$|\s))/,'\1') unless @s =~/#{Mx[:en_a_o]}|#{Mx[:en_b_o]}/ + @s=@s.gsub(/ [ ]+/,' '). + gsub(/^ [ ]+/,''). + gsub(/ [ ]+$/,''). + gsub(/((?:#{Mx[:fa_bold_c]}|#{Mx[:fa_italics_c]})')[ ]+(s )/,'\1\2'). + gsub(/((?:#{Mx[:fa_bold_c]}|#{Mx[:fa_italics_c]})')[ ]+(s )/,'\1\2') + end + def strip_clean_of_markup # text form used in sql db search, used for digest, define rules, make same as in db clean + @s=@s.dup #% same as db clean --> + @s=@s.gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'\1'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'\1'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'\1'). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'\1'). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'\1'). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'\1'). + gsub(/#{Mx[:fa_superscript_o]}(\d+)#{Mx[:fa_superscript_c]}/,'[\1]'). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,'\1'). + gsub(/#{Mx[:fa_hilite_o]}(.+?)#{Mx[:fa_hilite_c]}/,'\1'). + gsub(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/i,'~'). + gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,''). # endnote removed + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,''). # endnote removed + gsub(/(?:#{Mx[:nbsp]})+/,' '). + gsub(/(?:#{Mx[:br_nl]})+/,"\n"). + gsub(/(?:#{Mx[:br_paragraph]})+/,"\n"). + gsub(/(?:#{Mx[:br_line]})+/,"\n"). + gsub(/#{Mx[:gl_o]}(?:#lt|#060)#{Mx[:gl_c]}/,'<'). + gsub(/#{Mx[:gl_o]}(?:#gt|#062)#{Mx[:gl_c]}/,'>'). + gsub(/#{Mx[:gl_o]}#(?:038|amp)#{Mx[:gl_c]}/,'&'). + gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!'). + gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#'). + gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*'). + gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-'). + gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/'). + gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_'). + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{'). + gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}'). + gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~'). + gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©'). + gsub(/\s\s+/,' '). + gsub(/\s\s+/,' '). + strip + end + def semi_revert_markup # used for digest, define rules, make same as in db clean + if @t_o + @s=@s.gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'*{\1}*'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'/{\1}/'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'_{\1}_'). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'"{\1}"'). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'+{\1}+'). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strke_c]}/,'-{\1}-'). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'^{\1}^'). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,',{\1},'). + gsub(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/i,'~'). + gsub(/#{Mx[:en_a_o]}([\d*+]+\s+.+?)#{Mx[:en_a_c]}/,'~{\1}~'). # endnote marker marked up + gsub(/#{Mx[:en_b_o]}([\d*+]+\s+.+?)#{Mx[:en_b_c]}/,'~[\1]~') # endnote marker marked up + if @t_o.is==:heading \ + || @t_o.is==:para + @s=@s.gsub(/ [ ]+/,' ') + @s=@s.gsub(/(?:#{Mx[:nbsp]})+/,' ') + if @t_o.is==:heading + @s=@t_o.lv + '~ ' + @s + end + if @t_o.is==:para + if @t_o.bullet_ + @s='_* ' + @s + end + if @t_o.indent.to_i > 0 + @s="_#{@t_o.indent} " + @s + @s=@s.gsub(/^(_[1-9])\s_\*\s/,'\1* ') + end + end + end + if @t_o.is==:block \ + || @t_o.is==:group \ + || @t_o.is==:code + @s=@s.gsub(/#{Mx[:nbsp]}/,' ') + @s="#{@t_o.is.to_s}{\n\n#{@s}\n\n}#{@t_o.is.to_s}" + @s=@s.gsub(/(?:#{Mx[:br_nl]}|\n)+/m,"\n\n") + end + #dealing with poem and verse calls for change in dal, where start and end verse of poem are marked as such + @s=@s.strip + end + @s + end + def html_lite #test whether eventually can be used in db_import replacing shared_html_lite (search for SiSU_FormatShared) + if @t_o + @s=@s.gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'\1'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'\1'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'\1'). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'"\1"'). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'+{\1}+'). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strke_c]}/,'-{\1}-'). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'\1'). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,'\1'). + gsub(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/i,'~') + if @t_o.is !=:code + if @s =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)/ + wm=@s.scan(/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)|\S+/) + words=urls(wm) + @s=@s.gsub(/.+/m,words) + end + @s=@s.gsub(/#{Mx[:gl_o]}(#[0-9]{3})#{Mx[:gl_c]}/u,'&\1;'). + gsub(/#{Mx[:gl_o]}#([a-z]{2,4})#{Mx[:gl_c]}/u,'&\1;'). + gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'
\1'). #http ftp matches escaped, no decoration + gsub(/(#{Mx[:lnk_c]})#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1\2\3'). #special case \{ e.g. \}http://url + gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,%{#{@url_brace.xml_open}\\1#{@url_brace.xml_close}}) #http ftp matches with decoration + else + @s=@s.gsub(//m,'>') + end + if @t_o.is==:paragraph + if @t_o.bullet_ + @s=@s + end + if @t_o.indent > 0 + @s=@s + end + end + if @t_o.is==:heading + @s=@s + end + else + p __FILE__ << ':' << __LINE__.to_s + end + @s + end + end + class ModifiedTextPlusHashDigest + def initialize(md,x) + @md=md + if x.is_a?(String) + @t_o,@s=nil,x + else + @t_o,@s=x,x.obj.dup + end + @env ||=SiSU_Env::InfoEnv.new(@md.fns) + @sha_ = @env.digest(@md.opt).type + begin + case @sha_ + when :sha512 + require 'digest/sha2' + when :sha256 + require 'digest/sha2' + when :md5 + require 'digest/md5' + end + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error((@sha_ ? 'digest/sha2' : 'digest/md5') + ' NOT FOUND') + end + end + def digest(txt) + d=nil + case @sha_ + when :sha512 + for hash_class in [ Digest::SHA512 ] + d=hash_class.hexdigest(txt) + end + when :sha256 + for hash_class in [ Digest::SHA256 ] + d=hash_class.hexdigest(txt) + end + when :md5 + for hash_class in [ Digest::MD5 ] + d=hash_class.hexdigest(txt) + end + end + d + end + def strip_clean_of_markup + def txt + SiSU_TextRepresentation::Alter.new(@s).strip_clean_of_markup + end + def dgst + txt_dgst=digest(txt) + { txt: txt, dgst_txt: txt_dgst } + end + self + end + def semi_revert_markup + def txt + SiSU_TextRepresentation::Alter.new(@s).semi_revert_markup + end + def dgst + txt_dgst=digest(txt) + { txt: txt, dgst_txt: txt_dgst } + end + self + end + def composite + def stripped_clean(txt) + SiSU_TextRepresentation::Alter.new(txt).strip_clean_of_markup + end + def markup_reverted(txt) + SiSU_TextRepresentation::Alter.new(txt).semi_revert_markup + end + def images(imgs) + sys=SiSU_Env::SystemCall.new + line_image=[] + if imgs and imgs.length > 0 + @image_name,@image_dgst,@img=[],[],[] + imgs.each do |i| + image_source=if FileTest.file?("#{@env.path.image_source_include_local}/#{i}") + @env.path.image_source_include_local + elsif FileTest.file?("#{@env.path.image_source_include_remote}/#{i}") + @env.path.image_source_include_remote + elsif FileTest.file?("#{@env.path.image_source_include}/#{i}") + @env.path.image_source_include + else + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + "ERROR - image:", + %{"#{i}" missing}, + "search locations: #{@env.path.image_source_include_local}, #{@env.path.image_source_include_remote} and #{@env.path.image_source_include}" + ).error2 unless @md.opt.act[:quiet][:set]==:on + nil + end + img_type = /\S+\.(png|jpg|gif)/.match(i)[1] + if image_source + para_image = image_source + '/' + i + image_name = i + image_dgst =(@sha_ ? sys.sha256(para_image) : sys.md5(para_image)) + else + image_name = i + ' [image missing]' + image_dgst = '' + end + line_image << { img_dgst: image_dgst[1], img_name: image_name, img_type: img_type } + end + end + line_image + end + def endnotes(en) + en_dgst=[] + if en and en.length > 0 + en.flatten.each do |e| + note_no=e.gsub(/^([\d*+]+)\s+.+/,'\1') + e=digest(stripped_clean(e)) + note_dgst=digest(e) + en_dgst << { note_number: note_no, note_dgst: note_dgst } + end + end + en_dgst + end + def dgst + if @t_o.of !=:comment \ + && @t_o.of !=:structure \ + && @t_o.of !=:layout + txt_stripped_dgst=digest(stripped_clean(@t_o)) + txt_markup_reverted_dgst=digest(markup_reverted(@t_o)) + endnotes_dgst=[] + rgx_notes=/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]})([\d*+]+\s+.+?)(?:#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/ + notes=@t_o.obj.scan(rgx_notes) + endnotes_dgst=endnotes(notes) + rgx_image=/#{Mx[:lnk_o]}(\S+\.(?:png|jpg|gif))\s.+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)/ + imgs=if (@t_o.is==:para \ + || @t_o.is==:image) \ + and @t_o.obj =~rgx_image + imgs=@t_o.obj.scan(rgx_image).flatten + line_image=images(imgs) + end + dgst={ is: @t_o.is, ocn: @t_o.ocn, dgst_stripped_txt: txt_stripped_dgst, dgst_markedup_txt: txt_markup_reverted_dgst } + dgst[:endnotes]=endnotes_dgst if endnotes_dgst and endnotes_dgst.length > 0 + dgst[:images]=line_image if line_image and line_image.length > 0 + end + dgst + end + self + end + end +end +__END__ +#+END_SRC + +** shared_metadata.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/shared_metadata.rb" +# <> +module SiSU_Metadata + require_relative 'xml_parts' # xml_parts.rb + require_relative 'xml_shared' # xml_shared.rb + class Summary + include SiSU_Parts_XML + attr_accessor :tag,:inf,:class,:attrib + def initialize(md,display_heading=false) + @md,@display_heading=md,display_heading + @tag,@inf,@class,@attrib=nil + end + def metadata_base + meta=[] + l=SiSU_Env::StandardiseLanguage.new(@md.opt.lng).language + language=l[:n] + tr=SiSU_Translate::Source.new(@md,language) + @attrib='md' + def meta_content_clean(content='') + content=if not content.nil? + content=content.tr('"',"'"). + gsub(/&/,'&') + else content + end + end + if @display_heading + @tag,@inf=%{Document Metadata},'' + meta << self.meta_para + end + if defined? @md.title.full \ + and @md.title.full=~/\S+/ + @tag,@inf,@class=tr.full_title,@md.title.full,'dc' #1 + meta << self.meta_para + end + if defined? @md.creator.author \ + and @md.creator.author=~/\S+/ + @tag,@inf,@class=tr.author,@md.creator.author,'dc' #2 + meta << self.meta_para + end + if defined? @md.creator.translator \ + and @md.creator.translator=~/\S+/ + @tag,@inf,@class=tr.translator,@md.creator.translator,'ext' + meta << self.meta_para + end + if defined? @md.creator.illustrator \ + and @md.creator.illustrator=~/\S+/ + @tag,@inf,@class=tr.illustrator,@md.creator.illustrator,'ext' + meta << self.meta_para + end + if defined? @md.creator.prepared_by \ + and @md.creator.prepared_by=~/\S+/ + @tag,@inf,@class=tr.prepared_by,@md.creator.prepared_by,'ext' + meta << self.meta_para + end + if defined? @md.creator.digitized_by \ + and @md.creator.digitized_by=~/\S+/ + @tag,@inf,@class=tr.digitized_by,@md.creator.digitized_by,'ext' + meta << self.meta_para + end + if defined? @md.creator.contributor \ + and @md.creator.contributor=~/\S+/ + @tag,@inf,@class=tr.contributor,@md.creator.contributor,'dc' #6 + meta << self.meta_para + end + if defined? @md.rights.all \ + and @md.rights.all=~/\S+/ + @tag,@inf,@class=tr.rights,meta_content_clean(@md.rights.all),'dc' #15 + meta << self.meta_para + end + if defined? @md.classify.subject \ + and @md.classify.subject=~/\S+/ + @tag,@inf,@class=tr.subject,@md.classify.subject,'dc' #3 + meta << self.meta_para + end + if defined? @md.classify.keywords \ + and @md.classify.keywords=~/\S+/ + @tag,@inf,@class=tr.keywords,@md.classify.keywords,'ext' + meta << self.meta_para + end + if defined? @md.classify.loc \ + and @md.classify.loc=~/\S+/ + @tag,@inf,@class=tr.cls_loc,@md.classify.loc,'id' + meta << self.meta_para + end + if defined? @md.classify.dewey \ + and @md.classify.dewey=~/\S+/ + @tag,@inf,@class=tr.cls_dewey,@md.classify.dewey,'id' + meta << self.meta_para + end + if defined? @md.publisher \ + and @md.publisher=~/\S+/ + @tag,@inf,@class=tr.publisher,@md.publisher,'dc' #5 + meta << self.meta_para + end + if defined? @md.date.created \ + and @md.date.created=~/\S+/ + @tag,@inf,@class=tr.date_created,@md.date.created,'dc' #7 + meta << self.meta_para + end + if defined? @md.date.issued \ + and @md.date.issued=~/\S+/ + @tag,@inf,@class=tr.date_issued,@md.date.issued,'dc' #7 + meta << self.meta_para + end + if defined? @md.date.available \ + and @md.date.available=~/\S+/ + @tag,@inf,@class=tr.date_available,@md.date.available,'dc' #7 + meta << self.meta_para + end + if defined? @md.date.modified \ + and @md.date.modified=~/\S+/ + @tag,@inf,@class=tr.date_modified,@md.date.modified,'dc' #7 + meta << self.meta_para + end + if defined? @md.date.valid \ + and @md.date.valid=~/\S+/ + @tag,@inf,@class=tr.date_valid,@md.date.valid,'dc' #7 + meta << self.meta_para + end + if defined? @md.date.published \ + and @md.date.published=~/\S+/ + @tag,@inf,@class=tr.date,@md.date.published,'dc' #7 + meta << self.meta_para + end + if defined? @md.identifier.isbn \ + and @md.identifier.isbn=~/\S+/ + @tag,@inf,@class=tr.cls_isbn,@md.identifier.isbn,'id' + meta << self.meta_para + end + if defined? @md.identifier.oclc \ + and @md.identifier.oclc=~/\S+/ + @tag,@inf,@class=tr.cls_oclc,@md.identifier.oclc,'id' + meta << self.meta_para + end + if defined? @md.notes.description \ + and @md.notes.description=~/\S+/ + @tag,@inf,@class=tr.description,@md.notes.description,'dc' #4 + meta << self.meta_para + end + if defined? @md.notes.abstract \ + and @md.notes.abstract=~/\S+/ + @tag,@inf,@class=tr.abstract,@md.notes.abstract,'ext' + meta << self.meta_para + end + if defined? @md.notes.comment \ + and @md.notes.comment=~/\S+/ + @tag,@inf,@class=tr.comments,@md.notes.comment,'ext' + meta << self.meta_para + end + if defined? @md.notes.coverage \ + and @md.notes.coverage=~/\S+/ + @tag,@inf,@class=tr.coverage,@md.notes.coverage,'dc' #14 + meta << self.meta_para + end + if defined? @md.notes.relation \ + and @md.notes.relation=~/\S+/ + @tag,@inf,@class=tr.relation,@md.notes.relation,'dc' #13 + meta << self.meta_para + end + #if defined? @md.notes.source \ + #and @md.notes.source=~/\S+/ + # @tag,@inf,@class=tr.source,@md.notes.source,'dc' #11 + # meta << self.meta_para + #end + if defined? @md.notes.history \ + and @md.notes.history=~/\S+/ + @tag,@inf,@class=tr.type,@md.notes.history,'dc' #8 + meta << self.meta_para + end + if defined? @md.notes.type \ + and @md.notes.type=~/\S+/ + @tag,@inf,@class=tr.type,@md.notes.type,'dc' #8 + meta << self.meta_para + end + if defined? @md.notes.format \ + and @md.notes.format=~/\S+/ + @tag,@inf,@class=tr.format,@md.notes.format,'dc' #9 + meta << self.meta_para + end + if defined? @md.notes.prefix_a \ + and @md.notes.prefix_a=~/\S+/ + @tag,@inf,@class=tr.prefix_a,@md.notes.prefix_a,'inf' + meta << self.meta_para + end + if defined? @md.notes.prefix_b \ + and @md.notes.prefix_b=~/\S+/ + @tag,@inf,@class=tr.prefix_b,@md.notes.prefix_b,'inf' + meta << self.meta_para + end + if defined? @md.original.source \ + and @md.original.source=~/\S+/ + @tag,@inf,@class=tr.source,@md.original.source,'dc' #11 + meta << self.meta_para + end + if defined? @md.title.language \ + and @md.title.language=~/\S+/ + @tag,@inf,@class=tr.language,@md.title.language,'dc' #12 + meta << self.meta_para + end + if defined? @md.original.language \ + and @md.original.language=~/\S+/ + @tag,@inf,@class=tr.language_original,@md.original.language,'ext' + meta << self.meta_para + end + if @display_heading + @tag,@inf=%{Version Information},'' + meta << self.meta_para + end + if defined? @md.fns \ + and @md.fns=~/\S+/ + @tag,@inf,@class=tr.sourcefile,@md.fns,'src' + meta << self.meta_para + end + if defined? @md.file_encoding \ + and @md.file_encoding=~/\S+/ + @tag,@inf,@class='Filetype',@md.file_encoding,'src' + meta << self.meta_para + end + if defined? @md.dgst \ + and @md.dgst.is_a?(Array) + @tag,@inf,@class='Source Digest',"#{@md.dgst[0]} #{@md.dgst[1]}",'src' + meta << self.meta_para + end + if @display_heading + @tag,@inf=%{Generated},'' + meta << self.meta_para + end + if defined? @md.project_details \ + and @md.project_details.version=~/\S+/ + v="#{tr.sisu_version}: " + + "#{@md.project_details.project} " + + "#{@md.project_details.version} " + + "of #{@md.project_details.date_stamp} " + + "(#{@md.project_details.date})" + @tag,@inf,@class='Generated by',v,'ver' + meta << self.meta_para + end + if defined? @md.ruby_version \ + and @md.ruby_version=~/\S+/ + @tag,@inf,@class=tr.ruby_version,@md.ruby_version,'ver' + meta << self.meta_para + end + if defined? @md.generated \ + and @md.generated.is_a?(Time) + @tag,@inf,@class=tr.last_generated,@md.generated,'date' + meta << self.meta_para + end + meta + end + def metadata_alt + meta=[] + if @display_heading + @tag,@inf=%{Document Metadata},'' + meta << self.meta_para + end + if defined? @md.title.main \ + and @md.title.main=~/\S+/ + @tag='title' + @inf=@md.title.main + meta << self.meta_para + end + if defined? @md.title.sub \ + and @md.title.sub=~/\S+/ + @tag='subtitle' + @inf=@md.title.sub + meta << self.meta_para + end + if defined? @md.creator.author \ + and @md.creator.author=~/\S+/ + @tag='author' + @inf=@md.creator.author + meta << self.meta_para + end + if defined? @md.creator.translator \ + and @md.creator.translator=~/\S+/ + @tag='translator' + @inf=@md.creator.translator + meta << self.meta_para + end + if defined? @md.creator.illustrator \ + and @md.creator.illustrator=~/\S+/ + @tag='illustrator' + @inf=@md.creator.illustrator + meta << self.meta_para + end + if defined? @md.rights.copyright.text \ + and @md.rights.copyright.text=~/\S+/ + @tag='copyright' + @inf=@md.rights.copyright.text # year & holder + @inf=@inf.gsub(/(?:Copyright|\(C\))+\s*/,'') + meta << self.meta_para + end + if defined? @md.rights.license \ + and @md.rights.license=~/\S+/ + @tag='license' + @inf=@md.rights.license + meta << self.meta_para + end + meta + end + def processing_tags + def make + def language + if defined? @md.make.language \ + and @md.make.language + ' :language: ' + @md.make.language.join(', ') + else nil + end + end + def headings + if defined? @md.make.headings \ + and @md.make.headings + ' :headings: ' + @md.make.headings[0].join('; ') + else nil + end + end + def num_top + if defined? @md.make.num_top \ + and @md.make.num_top + ' :num_top: ' + @md.make.num_top + else nil + end + end + def breaks + x=if defined? @md.make.breaks \ + and @md.make.breaks + x=' :breaks:' + if @md.make.breaks[:page_break] + x +=' break=' + @md.make.breaks[:page_break] + ';' + end + if @md.make.breaks[:page_new] + x +=' new=' + @md.make.breaks[:page_new] + ';' + end + else nil + end + end + def emphasis + if defined? @md.make.emphasis \ + and @md.make.emphasis + ' :emphasis: ' + @md.make.emphasis[:regx].inspect + else nil + end + end + def bold + if defined? @md.make.bold \ + and @md.make.bold + ' :bold: ' + @md.make.bold[:regx].inspect + else nil + end + end + def italics + if defined? @md.make.italics \ + and @md.make.italics + ' :italics: ' + @md.make.italics[:regx].inspect + else nil + end + end + def texpdf_font + if defined? @md.make.texpdf_font \ + and @md.make.texpdf_font + ' :texpdf_font: ' + @md.make.texpdf_font.main + else nil + end + end + self + end + self + end + def metadata_tags + def title + def main + if defined? @md.title.main \ + and @md.title.main + '@title: ' + @md.title.main + else '@title:' + end + end + def sub + if defined? @md.title.sub \ + and @md.title.sub + ' :subtitle: ' + @md.title.sub + else nil + end + end + def edition + if defined? @md.title.edition \ + and @md.title.edition + ' :edition: ' + @md.title.edition + else nil + end + end + def note + if defined? @md.title.note \ + and @md.title.note + ' :note: ' + @md.title.note + else nil + end + end + def short + if defined? @md.title.short \ + and @md.title.short + ' :short: ' + @md.title.short + else nil + end + end + def language + if defined? @md.title.language \ + and @md.title.language + ' :language: ' + @md.title.language + else nil + end + end + def language_char + if defined? @md.title.language_char \ + and @md.title.language_char + ' :language_char: ' + @md.title.language_char + else nil + end + end + self + end + def creator + def head + '@creator:' + end + def author + x=if defined? @md.creator.author_detail \ + and @md.creator.author_detail + x='' + @md.creator.author_detail.each do |n| + x += "#{n[:the]}, #{n[:others]}; " + end + x=x.gsub(/;\s*$/,'') + ' :author: ' + x + else nil + end + end + def contributor + x=if defined? @md.creator.contributor_detail \ + and @md.creator.contributor_detail + x='' + @md.creator.contributor_detail.each do |n| + x += "#{n[:the]}, #{n[:others]}; " + end + x=x.gsub(/;\s*$/,'') + ' :contributor: ' + x + else nil + end + end + def illustrator + x=if defined? @md.creator.illustrator_detail \ + and @md.creator.illustrator_detail + x='' + @md.creator.illustrator_detail.each do |n| + x += "#{n[:the]}, #{n[:others]}; " + end + x=x.gsub(/;\s*$/,'') + ' :illustrator: ' + x + else nil + end + end + def photographer + x=if defined? @md.creator.photographer_detail \ + and @md.creator.photographer_detail + x='' + @md.creator.photographer_detail.each do |n| + x += "#{n[:the]}, #{n[:others]}; " + end + x=x.gsub(/;\s*$/,'') + ' :photographer: ' + x + else nil + end + end + def translator + x=if defined? @md.creator.translator_detail \ + and @md.creator.translator_detail + x='' + @md.creator.translator_detail.each do |n| + x += "#{n[:the]}, #{n[:others]}; " + end + x=x.gsub(/;\s*$/,'') + ' :translator: ' + x + else nil + end + end + def audio + x=if defined? @md.creator.audio_detail \ + and @md.creator.audio_detail + x='' + @md.creator.audio_detail.each do |n| + x += "#{n[:the]}, #{n[:others]}; " + end + x=x.gsub(/;\s*$/,'') + ' :audio: ' + x + else nil + end + end + def digitized_by + x=if defined? @md.creator.digitized_by_detail \ + and @md.creator.digitized_by_detail + x='' + @md.creator.digitized_by_detail.each do |n| + x += "#{n[:the]}, #{n[:others]}; " + end + x=x.gsub(/;\s*$/,'') + ' :digitized_by: ' + x + else nil + end + end + def prepared_by + x=if defined? @md.creator.prepared_by_detail \ + and @md.creator.prepared_by_detail + x='' + @md.creator.prepared_by_detail.each do |n| + x += "#{n[:the]}, #{n[:others]}; " + end + x=x.gsub(/;\s*$/,'') + ' :prepared_by: ' + x + else nil + end + end + self + end + def rights + def head + '@rights:' + end + def copyright + def text + if defined? @md.rights.copyright.text \ + and @md.rights.copyright.text + ' :copyright: ' + @md.rights.copyright.text + else nil + end + end + def translation + if defined? @md.rights.copyright.translation \ + and @md.rights.copyright.translation + ' :translation: ' + @md.rights.copyright.translation + else nil + end + end + def illustrations + if defined? @md.rights.copyright.illustrations \ + and @md.rights.copyright.illustrations + ' :illustrations: ' + @md.rights.copyright.illustrations + else nil + end + end + def photographs + if defined? @md.rights.copyright.photographs \ + and @md.rights.copyright.photographs + ' :photographs: ' + @md.rights.copyright.photographs + else nil + end + end + def digitization + if defined? @md.rights.copyright.digitization \ + and @md.rights.copyright.digitization + ' :digitization: ' + @md.rights.copyright.digitization + else nil + end + end + def audio + if defined? @md.rights.copyright.audio \ + and @md.rights.copyright.audio + ' :audio: ' + @md.rights.copyright.audio + else nil + end + end + self + end + def license + if defined? @md.rights.license \ + and @md.rights.license + ' :license: ' + @md.rights.license + else nil + end + end + self + end + def classify + def head + '@classify:' + end + def coverage + if defined? @md.classify.coverage \ + and @md.classify.coverage + ' :coverage: ' + @md.classify.coverage + else nil + end + end + def relation + if defined? @md.classify.relation \ + and @md.classify.relation + ' :relation: ' + @md.classify.relation + else nil + end + end + def subject + if defined? @md.classify.subject \ + and @md.classify.subject + ' :subject: ' + @md.classify.subject + else nil + end + end + def topic_register + if defined? @md.classify.topic_register \ + and @md.classify.topic_register + ' :topic_register: ' + @md.classify.topic_register + else nil + end + end + def type +# if defined? @md.classify.type \ +# and @md.classify.type +# ' :type: ' + @md.classify.type +# else nil +# end + nil + end + #def identifier + # if defined? @md.classify.identifier \ + # and @md.classify.identifier + # ' :identifier: ' + @md.classify.identifier + # else nil + # end + #end + def loc + if defined? @md.classify.loc \ + and @md.classify.loc + ' :loc: ' + @md.classify.loc + else nil + end + end + def dewey + if defined? @md.classify.dewey \ + and @md.classify.dewey + ' :dewey: ' + @md.classify.dewey + else nil + end + end + def oclc + if defined? @md.classify.oclc \ + and @md.classify.oclc + ' :oclc: ' + @md.classify.oclc + else nil + end + end + def pg + if defined? @md.classify.pg \ + and @md.classify.pg + ' :pg: ' + @md.classify.pg + else nil + end + end + def isbn + if defined? @md.classify.isbn \ + and @md.classify.isbn + ' :isbn: ' + @md.classify.isbn + else nil + end + end + self + end + def date + def head + '@date:' + end + def added_to_site + if defined? @md.date.added_to_site \ + and @md.date.added_to_site + ' :added_to_site: ' + @md.date.added_to_site + else nil + end + end + def available + if defined? @md.date.available \ + and @md.date.available + ' :available: ' + @md.date.available + else nil + end + end + def created + if defined? @md.date.created \ + and @md.date.created + ' :created: ' + @md.date.created + else nil + end + end + def issued + if defined? @md.date.issued \ + and @md.date.issued + ' :issued: ' + @md.date.issued + else nil + end + end + def modified + if defined? @md.date.modified \ + and @md.date.modified + ' :modified: ' + @md.date.modified + else nil + end + end + def published + if defined? @md.date.published \ + and @md.date.published + ' :published: ' + @md.date.published + else nil + end + end + def valid + if defined? @md.date.valid \ + and @md.date.valid + ' :valid: ' + @md.date.valid + else nil + end + end + self + end + #def make + # def headings + # @md.make.headings \ + # ? (' :headings: ' + @md.make.headings) \ + # : nil + # end + #end + self + end + def char_enc(str) + @s=str + def amp + if @s \ + and @s.is_a?(String) + @s=@s.gsub(/&/u,'&') + end + @s + end + def br + if @s \ + and @s.is_a?(String) + @s=@s.gsub(/(?:#{Mx[:br_line]}|\\\\)+/,'
') + end + @s + end + def utf8 + if @s \ + and @s.is_a?(String) + @s=@s.gsub(//u,Mx[:br_paragraph]). + gsub(//um,'>'). + #gsub(//um,'>'). + gsub(/ /um,' '). # space identify + gsub(/ /um,' '). # space identify + gsub(/#{Mx[:br_paragraph]}/u,'
') + end + @s + end + self + end + def xml_docbook + def meta_para + inf_xml=char_enc(@inf).amp + inf_xml=char_enc(inf_xml).br + < +#{Ax[:tab]*2}#{inf_xml} +#{Ax[:tab]} +WOK + end + def metadata + SiSU_Metadata::Summary.new(@md).metadata_alt + end + self + end + def html_display + def meta_para + inf_xml=char_enc(@inf).amp + inf_xml=char_enc(inf_xml).br + %{

+ #{@tag}: #{inf_xml} +

} + end + def metadata + SiSU_Metadata::Summary.new(@md,true).metadata_base + end + self + end + def xml_sax + def meta_para + inf_xml=char_enc(inf_xml).br + < +#{Ax[:tab]}#{@tag.capitalize}: +#{Ax[:tab]} +#{Ax[:tab]*2}#{inf_xml} +#{Ax[:tab]} + +WOK + end + def metadata + SiSU_Metadata::Summary.new(@md).metadata_base + end + self + end + def xml_dom + def meta_para + inf_xml=char_enc(inf_xml).amp + inf_xml=char_enc(inf_xml).br + < +#{Ax[:tab]*2}#{@tag.capitalize}: +#{Ax[:tab]*2}<#{@attrib}> +#{Ax[:tab]*3}#{inf_xml} +#{Ax[:tab]*2} +#{Ax[:tab]} +WOK + end + def metadata + SiSU_Metadata::Summary.new(@md).metadata_base + end + self + end + def xhtml_scroll + def meta_para + inf_xml=char_enc(inf_xml).amp + inf_xml=char_enc(inf_xml).br + < +#{Ax[:tab]}#{@tag.capitalize}: +#{Ax[:tab]}<#{@attrib} class="#{@class}"> +#{Ax[:tab]*2}#{inf_xml} +#{Ax[:tab]} +#{Ax[:tab]} +
+WOK + end + def metadata + SiSU_Metadata::Summary.new(@md).metadata_base + end + self + end + def xhtml_display + def meta_para + inf_xml=char_enc(@inf).amp + inf_xml=char_enc(inf_xml).br + %{

+ #{@tag}: #{inf_xml} +

} + end + def metadata + SiSU_Metadata::Summary.new(@md,true).metadata_base + end + self + end + def odf + def meta_para + if @inf.is_a?(String) + @inf=@inf.gsub(//,'>'). + gsub(/<br(?: \/)?>/,'
') + if @inf =~/&/ + inf_array=[] + word=@inf.scan(/\S+|\n/) + word.each do |w| # _ - / # | : ! ^ ~ + w=w.gsub(/ /,' ') + if w !~/&\S{2,7}?;/ + w=w.gsub(/&/,'&') + end + inf_array << w + end + @inf=inf_array.join(' ') + end + @inf=@inf.gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/, + '\1'). #http ftp matches escaped, no decoration + gsub(/(#{Mx[:lnk_c]})#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, + '\1\2') #special case \{ e.g. \}http://url + @inf=if @inf =~/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/ + @inf.gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, + %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}) #http ftp matches with decoration + else + @inf.gsub(/(https?:\/\/[^<>()'"\s]+)/, + %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}) #http ftp matches with decoration + end + @inf=@inf.gsub(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/, + %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}) if @inf !~/http:\/\// # improve upon, document crash where url contains '@' symbol + end + <#{@tag.capitalize}: #{@inf} +WOK + end + def metadata + SiSU_Metadata::Summary.new(@md).metadata_base + end + self + end + def json + def meta_para + <> +YEAR='2021' +Sfx={ + txt: '.txt', + txt_textile: '.textile', + txt_asciidoc: '.ad', + txt_markdown: '.md', + txt_rst: '.rst', + txt_orgmode: '.org', + html: '.html', + xhtml: '.xhtml', + xml: '.xml', + xml_sax: '.sax.xml', + xml_dom: '.dom.xml', + xml_scaffold: '.scaffold.xml', + xml_scaffold_structure_sisu: '.scaffold.sisu.xml', + xml_scaffold_structure_collapse: '.scaffold.collapse.xml', + xml_docbook: '.docbook.xml', + xml_docbook_article: '.article.docbook.xml', + xml_docbook_book: '.book.docbook.xml', + xml_fictionbook: '.fb2', + epub: '.epub', + epub_xhtml: '.xhtml', + odt: '.odt', + json: '.json', + pdf: '.pdf', + manpage: '.1', + info: '.info', + texinfo: '.texinfo', + sql: '.sql.db', +} +Ax={ + tab: "\t", + comment: '%', + spaces: ' ', +} +Xx={ + protect: '☞', + split: '✠', + segment: 'Ф', + relative_path: '☼', + html_relative2: '※※', + html_relative1: '※', +} +Mx={ + segname_prefix_auto_num_extract: 'c', + segname_prefix_auto_num_provide: 's', + segname_prefix_auto_num_other: 'x', + ocn_id_char: '', #'o', now as before; remove for html5 + note: 'note_', + note_ref: 'noteref_', + note_astx: 'note_astx_', + note_ref_astx: 'noteref_astx_', + note_plus: 'note_plus_', + note_ref_plus: 'noteref_plus_', + meta_o: '〔@', meta_c: '〕', + lv_o_0: 0, + lv_o_1: 1, + lv_o_2: 2, + lv_o_3: 3, + lv_o_4: 4, + lv_o_5: 5, + lv_o_6: 6, + lv_o_7: 7, + lv_o_8: 8, + lv_o_9: 9, + lv_o: '〔', lv_c: '〕', + en_a_o: '【', en_a_c: '】', #endnote Mx[:en_a_o]='~{'; Mx[:en_a_c]='}~' + en_b_o: '〖', en_b_c: '〗', #endnote Mx[:en_b_o]='~['; Mx[:en_b_c]=']~' + bl_o: '〔', bl_c: '〕', #block text mark + gr_o: '〔', gr_c: '〕', #group text mark #REPLACE & RETIRE + id_o: '〔', id_c: '〕', #object id mark + tc_o: '『', tc_c: "』", #table row mark #Mx[:tc_c]="』\n" + tc_p: '┆', #table col/misc mark + pa_o: '〔', pa_c: '〕', #affects paragraph mark + mk_o: '〔', mk_c: '〕', #generic mark + gl_o: '〔', gl_c: '〕', #glyph + fa_o: '〔', fa_o_c: '¤', fa_c_o: '¤', fa_c: '〕', + idx_o: '▩', idx_c: '▩', + nbsp: '░', #'▭ ' + br_line: '╱', #lB ▌ 9612 ┘ ¶ + br_nl: '╲', #lB ▌ 』 ┘ + br_paragraph: '█', #FB █ 9608 # PP ∥ 8741 #▐ #'┘' #'¶' #FB █ 9608 lB ▌ 9612 RB ▐ 9616 + br_obj: 'break_obj', + br_page_line: '▭', + br_page: '┼', + br_page_new: '╋', + lnk_o: '⌠', lnk_c: '⌡', #'⌈' '⌋' '⌠' '⌡' #Mx[:lnk_o: '◁'; Mx[:lnk_c: '▷' #‹ › + url_o: '◘', url_c: '◙', + rel_o: '⌈', rel_c: '⌋', + tag_o: '⌊', tag_c: '⌉', + sm_set_o: '◢', sm_set_c: '◣', + sm_subset_o: '◢', sm_subset_c: '◣', + vline: '┆', # ¦ | + src_bold_o: '!{', src_bold_c: '}!', + src_italics_o: '/{', src_italics_c: '}/', + src_underscore_o: '_{', src_underscore_c: '}_', + src_cite_o: '"{', src_cite_c: '}"', + src_insert_o: '+{', src_insert_c: '}+', + src_strike_o: '-{', src_strike_c: '}-', + src_superscript_o: '^{', src_superscript_c: '}^', + src_subscript_o: ',{', src_subscript_c: '}', + src_hilite_o: '*{', src_hilite_c: '}*', + src_monospace_o: '#{', src_monospace_c: '}#', + srcrgx_bold_o: '\!\{', srcrgx_bold_c: '\}\!', + srcrgx_italics_o: '\/\{', srcrgx_italics_c: '\}\/', + srcrgx_underscore_o: '_\{', srcrgx_underscore_c: '\}_', + srcrgx_cite_o: '"\{', srcrgx_cite_c: '\}"', + srcrgx_insert_o: '\+\{', srcrgx_insert_c: '\}\+', + srcrgx_strike_o: '\-\{', srcrgx_strike_c: '\}\-', + srcrgx_superscript_o: '\^\{', srcrgx_superscript_c: '\}\^', + srcrgx_subscript_o: ',\{', srcrgx_subscript_c: '\},', + srcrgx_hilite_o: '\*\{', srcrgx_hilite_c: '\}\*', + srcrgx_monospace_o: '\#\{', srcrgx_monospace_c: '\}\#', +} +Mx[:fa_bold_o]= "#{Mx[:fa_o]}b#{Mx[:fa_o_c]}" +Mx[:fa_bold_c]= "#{Mx[:fa_c_o]}b#{Mx[:fa_c]}" +Mx[:fa_italics_o]= "#{Mx[:fa_o]}i#{Mx[:fa_o_c]}" +Mx[:fa_italics_c]= "#{Mx[:fa_c_o]}i#{Mx[:fa_c]}" +Mx[:fa_underscore_o]= "#{Mx[:fa_o]}u#{Mx[:fa_o_c]}" +Mx[:fa_underscore_c]= "#{Mx[:fa_c_o]}u#{Mx[:fa_c]}" +Mx[:fa_cite_o]= "#{Mx[:fa_o]}cite#{Mx[:fa_o_c]}" +Mx[:fa_cite_c]= "#{Mx[:fa_c_o]}cite#{Mx[:fa_c]}" +Mx[:fa_insert_o]= "#{Mx[:fa_o]}ins#{Mx[:fa_o_c]}" +Mx[:fa_insert_c]= "#{Mx[:fa_c_o]}ins#{Mx[:fa_c]}" +Mx[:fa_strike_o]= "#{Mx[:fa_o]}del#{Mx[:fa_o_c]}" +Mx[:fa_strike_c]= "#{Mx[:fa_c_o]}del#{Mx[:fa_c]}" +Mx[:fa_superscript_o]= "#{Mx[:fa_o]}sup#{Mx[:fa_o_c]}" +Mx[:fa_superscript_c]= "#{Mx[:fa_c_o]}sup#{Mx[:fa_c]}" +Mx[:fa_subscript_o]= "#{Mx[:fa_o]}sub#{Mx[:fa_o_c]}" +Mx[:fa_subscript_c]= "#{Mx[:fa_c_o]}sub#{Mx[:fa_c]}" +Mx[:fa_hilite_o]= "#{Mx[:fa_o]}hi#{Mx[:fa_o_c]}" +Mx[:fa_hilite_c]= "#{Mx[:fa_c_o]}hi#{Mx[:fa_c]}" +Mx[:fa_monospace_o]= "#{Mx[:fa_o]}mono#{Mx[:fa_o_c]}" +Mx[:fa_monospace_c]= "#{Mx[:fa_c_o]}mono#{Mx[:fa_c]}" +Mx[:gl_bullet]= "#{Mx[:gl_o]}●#{Mx[:gl_c]}" +Mx[:br_endnotes]= "#{Mx[:mk_o]}ENDNOTES#{Mx[:mk_c]}" +Mx[:br_eof]= "#{Mx[:mk_o]}EOF#{Mx[:mk_c]}" +Mx[:pa_non_object_dummy_heading]="#{Mx[:pa_o]}-##{Mx[:pa_c]}" #unnumbered paragraph, delete when not required [used in dummy headings, eg. for segmented html] (place marker at end of paragraph) +Mx[:pa_non_object_no_heading]="#{Mx[:pa_o]}~##{Mx[:pa_c]}" #unnumbered paragraph (place marker at end of paragraph) +Hx={ + br_obj: { obj: Mx[:br_obj] }, # line sep + br_page_line: { obj: Mx[:br_page_line] }, # line across page + br_page: { obj: Mx[:br_page] }, # newpage + br_page_new: { obj: Mx[:br_page_new] }, # clearpage +} +#Mx[:sm_set_o]='∈ '; Mx[:sm_set_c]='∋ ' +#Mx[:sm_subset_o]='∈ '; Mx[:sm_subset_c]='∋ ' +Rx={ + mx_fa_clean: /#{Mx[:fa_o]}.+?#{Mx[:fa_c]}|#{Mx[:pa_o]}.+?#{Mx[:pa_c]}|#{Mx[:mk_o]}.+?#{Mx[:mk_c]}/, + lv: /〔([0-9]):(\S*?)〕/, + lv_0: /#{Mx[:lv_o_0]}(\S*?)#{Mx[:lv_c]}/, + lv_1: /#{Mx[:lv_o_1]}(\S*?)#{Mx[:lv_c]}/, + lv_2: /#{Mx[:lv_o_2]}(\S*?)#{Mx[:lv_c]}/, + lv_3: /#{Mx[:lv_o_3]}(\S*?)#{Mx[:lv_c]}/, + lv_4: /#{Mx[:lv_o_4]}(\S*?)#{Mx[:lv_c]}/, + lv_5: /#{Mx[:lv_o_5]}(\S*?)#{Mx[:lv_c]}/, + lv_6: /#{Mx[:lv_o_6]}(\S*?)#{Mx[:lv_c]}/, + lv_7: /#{Mx[:lv_o_7]}(\S*?)#{Mx[:lv_c]}/, + lv_8: /#{Mx[:lv_o_8]}(\S*?)#{Mx[:lv_c]}/, + lv_9: /#{Mx[:lv_o_9]}(\S*?)#{Mx[:lv_c]}/, + meta: /#{Mx[:meta_o]}(\S+?)#{Mx[:meta_c]}/, +} +Dx={ + ocn_o: '「', ocn_c: '」', + url_o: '‹', url_c: '›', + url_o_xml: '<', url_c_xml: '>', + rel_o: '‹', rel_c: '›', + lt_xml: '<', gt_xml: '>', +} +Tex={ + backslash: "\\\\", + backslash: "\\\\", + tilde: '\\\\\\~', +} +Px={ + bold_o: '*', bold_c: '*', + italics_o: '/', italics_c: '/', + underscore_o: '_', underscore_c: '_', + #emphasis_o: '*', emphasis_c: '*', + #bold_o: '!', bold_c: '!', + cite_o: '"', cite_c: '"', + insert_o: '+', insert_c: '+', + strike_o: '-', strike_c: '-', + superscript_o: '^', superscript_c: '^', + subscript_o: '[', subscript_c: ']', + hilite_o: '*', hilite_c: '*', + monospace_o: '', monospace_c: '', + lng_lst: SiSU_is.language_list?, + lng_lst_rgx: SiSU_is.language_list_regex?, + lv1: '*', + lv2: '=', + lv3: '=', + lv4: '-', + lv5: '.', + lv6: '.', +} +Px[:lng_lst_rgx]=Px[:lng_lst].join('|') +Ep={ + alt: :on, + d_oebps: 'OEBPS', + d_image: 'OEBPS/image', + d_css: 'OEBPS/css', + f_ncx: 'toc.ncx', + f_opf: 'content.opf', +} +$ep=if Ep[:alt]==:on + { + o: 'opf:', + hsp: ' ', + } +else + { + o: '', + hsp: ' ', + } +end +Db={ + name_prefix: "SiSU.#{SiSU_is.version_major?}a.", + name_prefix_db: "sisu_#{SiSU_is.version_major?}a_", + col_title: 800, + col_title_part: 400, + col_title_edition: 10, + col_name: 600, + col_creator_misc_short: 100, + col_language: 100, + col_language_char: 6, + col_date_text: 10, + col_txt_long: 600, + col_txt_short: 200, + col_identify_hash: 256, + col_library: 30, + col_small: 16, + col_filename: 256, + col_digest: 128, + col_filesize: 10, + col_info_note: 2500, +} +Gt={ + grotto: 'sisu_src', + git: 'sisu:', + src: 'src', + pods: 'pods', + sisupod: 'sisupod', + pod: 'pod', + files: 'files', + doc: 'doc', + po: 'po4a/po', + pot: 'po4a/pot', + image: 'image', + audio: 'audio', + video: 'video', + conf: 'doc/_sisu', +} +S_CONF={ + header_make: 'sisu_document_make', + rc_yml: 'sisurc.yml', +} +ANSI_C={ + red: "\033[#{31}m", + green: "\033[#{32}m", + yellow: "\033[#{33}m", + blue: "\033[#{34}m", + fuchsia: "\033[#{35}m", + cyan: "\033[#{36}m", + inv_red: "\033[#{41}m", + inv_green: "\033[#{42}m", + inv_yellow: "\033[#{43}m", + inv_blue: "\033[#{44}m", + inv_fuchsia: "\033[#{45}m", + inv_cyan: "\033[#{46}m", + b_red: "\033[#{91}m", + b_green: "\033[#{92}m", + b_yellow: "\033[#{93}m", + b_blue: "\033[#{94}m", + b_fuchsia: "\033[#{95}m", + b_cyan: "\033[#{96}m", + off: "\033[m" +} +DISABLE={ + epub: { + internal_navigation: true, + per_section_title: true, + ncx_navpoint_unique_id: true, + }, +} +DEVELOPER={ + maintenance: :false, + under_construction: '_CONSTRUCTION_ZONE', +} +__END__ +utils.rb +consider: + 〔comment〕 + 〔links?????〕 + import document? +check: + bold line + +┆┆⋮┇┊┋ +『』 +「」 +〔〕 +【】 + +· +¤ + #˝ " λ Ω β α π Ѫ Ж Я Ѳ ѳ Ф ✠ ㈣ + Ѳ ѳ Ф + ♩ ♭  ✠  ▭ ▬ ▪ +【】〖〗◢ ◣ ◀ ▶ ◘ ◙ « ▲ » +《》「」 + ‹ › ∗  ∴ ∷ +'〔lv1〕','〔lv2〕','〔lv3〕','〔lv4〕','〔lv5〕','〔lv6〕','〔lv7〕','〔lv8〕','〔lv9〕' +'〔 Ѳ1〕','〔 Ѳ2〕','〔 Ѳ3〕','〔 Ѳ4〕','〔 Ѳ5〕','〔Ѳ6〕','〔Ѳ7〕','〔Ѳ8〕','〔Ѳ9〕' +◁▷ +◀this is text or an image▶ http:// +p __FILE__ +':'+ __LINE__.to_s +p __FILE__ + ' ' + __LINE__.to_s + ' ' + html +puts "#{__FILE__} #{__LINE__} #{o.inspect}" +puts __FILE__ + ' ' + __LINE__.to_s + '--> ' + o.inspect +puts %{-\t#{__FILE__}::#{__LINE__}::#{caller}:\n"#{name}"} +p "\t" + txt.obj + " << #{__FILE__} #{__LINE__} >>" +p (__FILE__ + ' ' + __LINE__.to_s + '--> ' + dob.inspect) if dob.is==:heading +data.each {|o| p (__FILE__ + ' ' + __LINE__.to_s + '--> ' + o.inspect) if o.is==:heading} +puts "#{__FILE__} #{__LINE__} #{para}" if @opt.act[:maintenance][:set]==:on +puts "#{__FILE__} #{__LINE__} #{t_o}" if @opt.act[:maintenance][:set]==:on + dr ┌ 9484 dR ┍ 9485 Dr ┎ 9486 DR ┏ 9487 dl ┐ 9488 dL ┑ 9489 Dl ┒ 9490 LD ┓ 9491 ur └ 9492 uR ┕ 9493 Ur ┖ 9494 UR ┗ 9495 ul ┘ 9496 uL ┙ 9497 Ul ┚ 9498 UL ┛ 9499 vr ├ + dr ┌ 9484 dR ┍ 9485 Dr ┎ 9486 DR ┏ 9487 dl ┐ 9488 dL ┑ 9489 Dl ┒ 9490 LD ┓ 9491 ur └ 9492 uR ┕ 9493 Ur ┖ 9494 UR ┗ 9495 ul ┘ 9496 uL ┙ 9497 Ul ┚ 9498 UL ┛ 9499 vr ├ + └ ┘ +Iu ⌠ 8992 Il ⌡ <7 ⌈ 8968 >7 ⌉ 8969 7< ⌊ 8970 7> ⌋ 8971 +<" 『 12302 >" 』 12303 +<' 「 12300 >' 」 12301 +#+END_SRC + +* generic +** generic_parts.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/generic_parts.rb" +# <> +module SiSU_Parts_Generic + def the_url + def urify(uri) + URI.parse(uri) + end + def sisu + 'http://www.sisudoc.org/' + end + def sisudoc + 'http://www.sisudoc.org' + end + def footer_signature + 'http://www.sisudoc.org/' + end + def rl_root + '/sisu' #watch + end + def root_http + 'http://www.sisudoc.org/' #watch + end + def home + 'http://www.sisudoc.org/' # used in pdf header + end + def site #used as stub... where there are subdirectories and is different from home + home + end + def home_txt + 'www.sisudoc.org' + end + def sisu_txt + 'www.sisudoc.org' + end + self + end + def the_text + def home + 'SiSU' + end + def txt_hp + ' SiSU' + end + def txt_hp_alias + 'SiSU' + end + def txt_home + 'SiSU' + end + def txt_signature # used in latex/pdf footer + 'SiSU' + end + def url_open + '<' + end + def url_close + '>' + end + self + end + def the_icon + def i_ico + 'rb7.ico' + end + def i_home_button + 'sisu.png' + end + def i_choice + 'b_choice.png' + end + def i_new + 'b_new.png' + end + self + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + shared + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/sisu.org b/org/sisu.org new file mode 100644 index 00000000..10b7f3e9 --- /dev/null +++ b/org/sisu.org @@ -0,0 +1,128 @@ +-*- mode: org -*- +#+TITLE: sisu +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +[[./sisu_info.org][sisu_info.org]] [[./][org/]] +[[./sisu_build.org][make/build]] VERSION + +* version.txt (set version) :version: +** set program tangle + +#+BEGIN_SRC txt :NO-tangle "../views/version.txt" +<> +#+END_SRC + +* sisu.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu.rb" +# <> +module SiSU_libs + require_relative 'sisu/hub' # sisu/hub.rb + require_relative 'sisu/se' # sisu/se.rb + require_relative 'sisu/utils' # sisu/utils.rb + class CallHubMaster + def initialize(argv,sisu_runtime) + begin + SiSU::HubMaster.new(argv,sisu_runtime) + rescue + SiSU_Screen::Ansi.new(argv).rescue do + __LINE__.to_s + ':' + __FILE__ + end + ensure + Dir.chdir(sisu_runtime[:call_path]) + end + end + end + class HubClose + def initialize(argv,call_path) + begin + env=SiSU_Env::InfoEnv.new + rescue + ensure + if FileTest.directory?(env.processing_path.processing) \ + and FileTest.directory?(env.processing_path.processing_base_tmp) \ + and env.processing_path.processing_base_tmp =~/#{env.processing_path.processing}/ \ + and env.processing_path.processing_base_tmp =~/^\/tmp\/\S+/ \ + and not argv.inspect =~/"--maintenance"|"-M"/ + FileUtils::cd(env.processing_path.processing_base_tmp) do + FileUtils::rm_rf('.') + end + end + Dir.chdir(call_path) + end + end + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + sisu + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/src.org b/org/src.org new file mode 100644 index 00000000..cb74f8bb --- /dev/null +++ b/org/src.org @@ -0,0 +1,3437 @@ +-*- mode: org -*- +#+TITLE: sisu src +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:src: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* src_sisupod_make.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/src_sisupod_make.rb" +# <> +module SiSU_Doc + require_relative 'src_shared' # scr_shared.rb + include SiSU_Source + require_relative 'se' # se.rb + include SiSU_Env + class Source < SiSU_Source::SiSUpodSource + require_relative 'utils_response' # utils_response.rb + def initialize(opt,build=nil,place=nil) + super(opt,build,place) + @zipfile=@opt.fno.gsub(/(?:\~\S{2,3})?(\.ss[tm])$/,'\1') + unless @opt.act[:quiet][:set]==:on + pthinfo="#{@file.output_path.sisupod.dir}/#{@zipfile}.txz" + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Assemble source for sisu document', + "#{@opt.fns} -> file://#{pthinfo}" + ).cyan_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Assemble source for sisu document', + pthinfo + ).cyan_title_hi + end + end + def sisupod_tar_xz + begin + FileUtils::mkdir_p(@file.output_path.sisupod.dir) \ + unless FileTest.directory?(@file.output_path.sisupod.dir) + tree=((@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + && SiSU_Env::SystemCall.new.program_found?('tree')) \ + ? 'tree sisupod' + : '' + if FileTest.directory?(@path_pod[:fnb]) + Dir.chdir(@path_pod[:fnb]) + system(%{ + #{tree} + tar -cJf #{@zipfile}.txz sisupod + #echo "#{@file.place_file.sisupod.dir}" + }) + FileUtils::mv("#{@zipfile}.txz",@file.place_file.sisupod.dir) + Dir.chdir(@env.path.pwd) + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new('',"#{@opt.fns}.txz").blue_tab + end + else + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new('',"#{@opt.fns}.txz not built").blue_tab + end + end + rescue + ensure + end + end + end +end +__END__ +question?: should you permit the packing of multiple documents in single .xz ? + + open @opt.fns, parse file + extract from file content: + images and copy each image from whatever image source to _sisu/sisupod/sisu/_sisu/image + + remove previously existing contents of _/sisu/sisupod & + make directory structure: + +v3 --> + _sisu + sisupod + doc + manifest.txt + en/content.sst [file content] + fr/content.sst + _sisu + conf + image (ln -s ../../image) + audio (ln -s ../../audio) + video (ln -s ../../video) + image [all images for specific document gathered here] + audio + video + +v2 --> + _sisu + sisupod + content.sst [file content] + filename.sst [link to content.sst] + _sisu/ + image/ [all images for specific document gathered here] + +sisu + _sisu + sisurc.yml + convert/ + standard_terms/ + image + processing + ao/ + tex/ + texinfo/ + tune/ + sisupod + +special case + +composite file (master), e.g. +SiSU.ssm +#+END_SRC + +* src_sisupod_sstm.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/src_sisupod_sstm.rb" +# <> +module SiSU_Markup + require_relative 'src_shared' # src_shared.rb + include SiSU_Source + require_relative 'se' # se.rb + include SiSU_Env + class Source_Sisupod < SiSU_Source::SiSUpodSource + def initialize(opt,build=nil,place=nil) + super(opt,build,place) + @opt=opt + end + def read + unless @opt.act[:quiet][:set]==:on + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Share document markup text source', + @opt.fns + ).cyan_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Share document markup text source', + @opt.fns + ).cyan_title_hi + end + if FileTest.directory?(@path_pod[:fnb]) + FileUtils::mkdir_p(@file.output_path.src.dir) \ + unless FileTest.directory?(@file.output_path.src.dir) + v=(@opt.act[:maintenance][:set]==:on) \ + ? 'v' : '' + system(%{ + rsync -a#{v} #{@path_pod[:fnb]} #{@file.output_path.sisupod.dir} + chbk=`pwd` + cd #{@file.output_path.sisupod.dir} + for I in `find -type d` ; do chmod 755 $I ; done + for I in `find -type f` ; do chmod 644 $I ; done + cd ${chbk} + }) + else + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + '', + "#{@opt.fno} not available" + ).blue_tab + end + end + end + end +end +__END__ +#+END_SRC + +* src_kdissert_share.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/src_kdissert_share.rb" +# <> +module SiSU_KdiSource + require_relative 'se' # se.rb + include SiSU_Env + class Source + begin + require 'fileutils' + include FileUtils + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('fileutils NOT FOUND (LoadError)') + end + def initialize(opt) + @opt=opt + @env=SiSU_Env::InfoEnv.new(@opt.fns) + @output_path="#{@env.path.output}/#{@opt.fnb}" + end + def read + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Share Kdissert Source Document!', + @opt.fnb + ).green_hi_blue unless @opt.act[:quiet][:set]==:on + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "Copy kdissert file to output directory", + "#{@opt.fnb} -> #{@output_path}" + ).warn unless @opt.act[:quiet][:set]==:on + FileUtils::mkdir_p(@env.path.output) unless FileTest.directory?(@env.path.output) + FileUtils::mkdir_p(@output_path) unless FileTest.directory?(@output_path) + if FileTest.directory?(@output_path) + if @opt.fns =~/\.kdi\._sst$/ \ + and FileTest.file?(@opt.fnb) + FileUtils::cp(@opt.fnb,@output_path) + end + else + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "Output directory does not exist", + "#{@opt.fnb} -> #{@output_path}" + ).warn unless @opt.act[:quiet][:set]==:on + exit + end + end + end +end +__END__ +#+END_SRC + +* src_po4a_share.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_share.rb" +# <> +module SiSU_Languages_Selected + require_relative 'utils_response' # utils_response.rb + def language + def sisu_languages_available + Px[:lng_lst] + end + def source_language_selected_str + @opt.act[:po4a_lang][:src] \ + ? @opt.act[:po4a_lang][:src] + : 'en' + end + def translation_languages_selected + @opt.act[:po4a_lang][:trn] \ + ? @opt.act[:po4a_lang][:trn] + : [] + end + def translation_languages_available + sisu_languages_available - [source_language_selected_str] + end + def translation_languages_selected_that_are_available + translation_languages_selected & sisu_languages_available + end + def translation_languages_selected_that_are_available_str + translation_languages_selected_that_are_available.join(' ') + end + def translation_languages_selected_str + @opt.act[:po4a_lang][:trn].join(' ') + end + self + end +end +module SiSU_Po4a_Project + class Po4aCfg + include SiSU_Composite_Doc_Utils # composite doc, .ssm, extract all related insert files, array of filenames test + include SiSU_Response + include SiSU_Languages_Selected + def initialize(opt,file) + @opt,@file=opt,file + end + def song + if @opt.lng==language.source_language_selected_str + ans=response?('po4a config file') + if ans + po4a_cfg + end + end + end + def po4a_cfg_filename + 'po4a.cfg' + end + def dir + def pwd + Dir.pwd + end + def po4a_ + 'po4a/' # '' + end + def pot + #po4a_ + 'pot' + 'pot' + end + def po + #po4a_ + 'po' + 'po' + end + self + end + def po4a_cfg_file + File.open("#{Dir.pwd}/#{po4a_cfg_filename}",'w') + end + def po4a_cfg + lng=language.source_language_selected_str + doc_import_list=composite_and_imported_filenames_array(@opt.fno) + po4a_cfg_arr=[] + po4a_cfg_arr \ + << "[po4a_langs] #{language.translation_languages_selected_that_are_available_str}" + po4a_cfg_arr \ + << "[po4a_paths] #{dir.pot}/$master.pot $lang:#{dir.po}/$lang/$master.po" + doc_import_list.each do |file_src| + file_src_fn= + file_src.gsub(/#{language.source_language_selected_str}\//,'') + po4a_cfg_arr \ + << "[type: text] #{lng}/#{file_src} $lang:$lang/#{file_src_fn}" + end + file=@file.write_file.po4a_cfg + po4a_cfg_arr.each do |txt| + puts txt + file << txt << "\n" + end + file.close + end + end + class Po4aProject + include SiSU_Languages_Selected + include SiSU_Response + def initialize(opt,file) + @opt,@file=opt,file + end + def song + make_paths + if FileTest.directory?(@file.output_path.po4a.dir) + Dir.chdir(@file.output_path.po4a.dir) + dirs=Dir['*/'] + dirs_language=[] + dirs.each do |x| + dirs_language << x.gsub(/\/$/,'') + end + dirs_translation = \ + (language.translation_languages_available & dirs_language) + end + if (language.translation_languages_available & [@opt.lng]).length == 1 + puts %{gettext for: #{dirs_translation} +in #{Dir.pwd}} + ans=response?('gettext?') + if ans + gettext_if_any_build_src_trans_po + end + end + ans=response?('build project?') + if ans + build_src_master_to_pot_and_po_and_srcs + end + end + def flags + def debug + '-d -v' + end + def normal + '' + end + def quiet + '-q' + end + self + end + def build_src_master_to_pot_and_po_and_srcs + if SiSU_Sys_Call::SystemCall.new.po4a + pwd=Dir.pwd + #cmd='po4a --keep 0 -M UTF-8 --no-backups ' \ + #+ '--package-name ' \ + #+ 'sisu-manual' + ' ' \ + #+ flags.normal + ' ' \ + #+ filename.po4a_cfg + cmd='po4a --keep 0 -M UTF-8' \ + + flags.normal + ' ' \ + + @file.base_filename.po4a_cfg + Dir.chdir(@file.output_path.po4a.dir) + system(" + cd #{@file.output_path.po4a.dir} + #{cmd} + cd - + "); puts cmd + Dir.chdir(pwd) + end + end + def gettext_if_any_build_src_trans_po + Dir.chdir(@file.output_path.po4a.dir) + dirs=Dir['*/'] + dirs_language=[] + dirs.each do |x| + dirs_language << x.gsub(/\/$/,'') + end + dirs_translation = \ + (language.translation_languages_available & dirs_language) + files_src=Dir.glob("./#{source_language_selected_str}/*.ss[tmi]") + dirs_translation.each do |lng| + files_src.each do |file| + fn=file.gsub(/\.\/#{source_language_selected_str}\//,'') + system(" + po4a-gettextize -f text -M utf-8 \ + -m ./#{source_language_selected_str}/#{fn} \ + -l ./#{lng}/#{fn} \ + -p ./po/#{lng}/#{fn}.po + ") + puts fn + end + end + end + def dir_mk(dir) + unless FileTest.directory?(dir) + FileUtils::mkdir_p(dir) + end + end + def make_paths + dir_mk(@file.output_path.pot.dir) + dir_mk(@file.output_path.po.dir) + end + def clean + #rm -f po/*/*.po~ + #rm -rf ../build + FileUtils.rm_f Dir.glob("./#{dir.po}/*/*.po~") + end + def distclean + #rm -f po4a.cfg + #rm -rf $(LANGUAGES) + FileUtils::rm_f(filename.po4a_cfg) + FileUtils::rm_r(language.possible_translations,:force => true) + #FileUtils::rm_r(language.translation_languages_selected_that_are_available,:force => true) + end + end + class Po4aDistClean + include SiSU_Languages_Selected + include SiSU_Response + def initialize(opt,file) + @opt,@file=opt,file + end + def song + pwd=Dir.pwd + if FileTest.directory?(@file.output_path.po4a.dir) + Dir.chdir(@file.output_path.po4a.dir) + dirs=Dir['*/'] + dirs_language=[] + dirs.each do |x| + dirs_language << x.gsub(/\/$/,'') + end + dirs_translation = \ + (language.translation_languages_available & dirs_language) + if dirs_translation.length > 0 + puts %{remove language translation directorie(s): #{dirs_translation} +in #{Dir .pwd}} + ans=response?('disclean?') + if ans + FileUtils::rm_f(@file.base_filename.po4a_cfg) + FileUtils::rm_r(dirs_translation,:force => true) + #FileUtils::rm_r(language.translation_languages_available,:force => true) + end + end + Dir.chdir(pwd) + end + end + end +end +#end +__END__ +REMOVE +!\|#\|&*\|-\|/\|_\|{\|}\|~\|&# + +tables are problematic, difficult to reconstitute instruction, check + +metadata, move to top? and work on + +footnotes, different types, asterisk, also do you want to have separate +paragraphs, or breaks within one block? + +where no ocn appropriately use ~# or -# or indeed 1~name- + +comments in document, what to do about them, not sure they are currently +retained in dal, could be quite valuable to keep + +Translate Shell +http://www.soimort.org/translate-shell/ +translate.google.com +#+END_SRC + +* src_po4a_shelf.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_shelf.rb" +# <> +module SiSU_Po4a + require_relative 'ao' # ao.rb + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'ao_composite' # ao_composite.rb + require_relative 'shared_metadata' # shared_metadata.rb + require_relative 'src_po4a_shelf_set' # src_po4a_shelf_set.rb + include SiSU_Param + require_relative 'object_munge' # object_munge.rb + require_relative 'utils_composite' # utils_composite.rb + class Source + include SiSU_Object_Munge + @@opt_src,@@opt_trn,@@opt_src_,@@opt_trn_,@@md_src,@@md_trn= + nil, nil, nil, nil, nil, nil + @@auto_translation_ = :go + def initialize(opt,fn=nil) + @opt,@fn=opt,fn + #unless @opt.fns =~/(.+?\.(?:-|ssm\.)?sst)$/ + # puts "#{@opt.fns} not a processed file type" + #end + file_arr=SiSU_Info_Env::InfoEnv.new.source_file_processing_array(@opt.fns) + SiSU_Param::Parameters::Instructions.new(file_arr,@opt).extract + r=Px[:lng_lst_rgx].gsub(/\|en\|/,'|') + @lang_regx=%r{(?:#{r})} + if opt.fns =~/\S+?~#{@lang_regx}\.ss[mti]/ \ + and opt.f_pth[:lng]!=@opt.lng_base + @@opt_src_=false + @@opt_trn=opt + @@md_trn=SiSU_Param::Parameters.new(opt).get + else + @@opt_src_=true + @@opt_src=opt + @@md_src=SiSU_Param::Parameters.new(opt).get + end + end + def wrap_width_set(md,env) + if defined? md.make.plaintext_wrap \ + and md.make.plaintext_wrap + md.make.plaintext_wrap + elsif defined? env.plaintext_wrap \ + and env.plaintext_wrap + env.plaintext_wrap + else 78 + end + end + def process_file(md,env,file,wrap_width,fn) + unless @opt.act[:quiet][:set]==:on + tool=(@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? "#{env.program.text_editor} #{file.output_path.pot.dir}/" + : @opt.fns + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Pot po4a', + tool + ).green_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Pot po4a', + tool + ).green_title_hi + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + @opt.fns, + file.output_path.pot.dir + ).flow + end + end + if @opt.fns =~/\S+?~#{@lang_regx}\.ss[mti]/ \ + or @opt.f_pth[:lng] !=@opt.lng_base + opt_lang_trn_fn=fn + @ao_arr_lang_trans= + SiSU_AO::Source.new(@opt,opt_lang_trn_fn,:po4a).get # ao file drawn here + opt_lang_src_fn=(fn =~/\S+?~\S{2}(?:_\S{2})?\.ss[mti]/) \ + ? (fn.gsub(/(\S+?)~\S{2}(?:_\S{2})?(\.ss[mti])/,'\1\2')) #check i + : fn + transdir,srcdir=Dir.pwd,Dir.pwd + if Dir.pwd.to_s =~/\/#{@lang_regx}$/ + transdir=Dir.pwd + srcdir=transdir. + gsub(/\/#{@lang_regx}$/, + "/#{@opt.lng_base}") + if FileTest.directory?(srcdir) + Dir.chdir(srcdir) + end + else nil + end + if FileTest.file?("#{srcdir}/#{opt_lang_src_fn}") + @ao_arr_lang_src= + SiSU_AO::Source.new( + @@opt_src, + opt_lang_src_fn, + :po4a + ).get # ao file drawn here + else + puts "no identified source document" + exit + end + Dir.chdir(transdir) if transdir + else + @ao_arr_lang_src= + SiSU_AO::Source.new( + @opt, + fn, + :po4a + ).get # ao file drawn here + @ao_arr_lang_trans=nil + end + SiSU_Po4a::Source::Scroll.new( + fn, + @ao_arr_lang_src, + @ao_arr_lang_trans, + @@md_src, + @@md_trn, + wrap_width + ).songsheet + end + def read + begin + src={} + src[:pth]=@opt.f_pth[:pth] + src[:files]=if @opt.fns =~ /\.(?:(?:-|ssm\.)sst|ssm)$/ + @opt.fns=@opt.fns.gsub(/\.ssm\.sst$/,'.ssm') + SiSU_Assemble::CompositeFileList.new(@opt).read + else + [@opt.fns] + end + md=SiSU_Param::Parameters.new(@opt).get + env=SiSU_Env::InfoEnv.new(@opt.fns) + file=SiSU_Env::FileOp.new(md) + Po4aCfg.new(@opt,file).po4a_cfg + wrap_width=wrap_width_set(md,env) + src[:files].each do |fn| + process_file(md,env,file,wrap_width,fn) + end + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + private + class Scroll 0 \ + and not @@endnotes_ + @pot[:body] << br + wrap_endnotes(notes_s,notes_t) + elsif @@endnotes[:para] \ + and @@endnotes_ + @pot[:body] << br*2 + end + end + def para(dob_src='',notes_s='',dob_trn='',notes_t='') #% used to extract the structure of a document + util=nil + wrapped=if dob_src.indent =~/[1-9]/ \ + and dob_src.indent == dob_src.hang + s_mark=desc=orig=trans='' + if dob_src.bullet_ + mark="_#{dob_src.indent}* " + d="#{dob_src.is.to_s}: indent #{dob_src.indent}, bullet" + instruct=s_mark='' + if @md.opt.act[:maintenance][:set]==:on + instruct=%{\n# markup for indented bullet text is at the start of the line/object, } \ + + %{an underscore followed by the indent level and an asterisk "#{mark}"} + s_mark="\n# " + %{"\\n\\n#{mark}...\\n\\n"} + end + desc="#{d}#{s_mark}#{instruct}" + else + mark="_#{dob_src.indent} " + d="#{dob_src.is.to_s}: indent #{dob_src.indent}" + instruct=s_mark='' + if @md.opt.act[:maintenance][:set]==:on + instruct=%{\n# markup for indented text is at the start of the line/object, } \ + + %{an underscore followed by the indent level "#{mark}"} + s_mark="\n# " + %{"\\n\\n#{mark}...\\n\\n"} + end + desc="#{d}#{s_mark}#{instruct}" + end + orig="#{s_mark}#{dob_src.obj}" + trans=((dob_trn=='') \ + || (dob_src.obj == dob_trn.obj)) \ + ? '' + : "#{s_mark}#{dob_trn.obj}" + if @md.opt.f_pth[:lng_is] !=@md.opt.lng_base \ + and trans.empty? \ + and auto_translate? + trans=auto_translation(dob_src.obj,:src) + end + util=pot_structure_wrap(desc,orig,trans) + elsif dob_src.hang =~/[0-9]/ \ + and dob_src.indent != dob_src.hang + s_mark=desc=orig=trans='' + mark="_#{dob_src.hang}_#{dob_src.indent} " + d="#{dob_src.is.to_s}: hang #{dob_src.hang} indent #{dob_src.indent}" + instruct=s_mark='' + if @md.opt.act[:maintenance][:set]==:on + instruct=%{\n# markup for indented text with a first line indented } \ + + %{to a different level from the rest of the paragraph, } \ + + %{is at the start of the line/object, } \ + + %{an underscore and the first indent level } \ + + %{a second underscore and the indent level for the rest of the paragraph, "#{mark1}"} + s_mark="\n# " + %{"\\n\\n#{mark}...\\n\\n"} + end + desc="#{d}#{s_mark}#{instruct}" + orig="#{s_mark}#{dob_src.obj}" + trans=((dob_trn=='') \ + || (dob_src.obj == dob_trn.obj)) \ + ? '' + : "#{s_mark}#{dob_trn.obj}" + if @md.opt.f_pth[:lng_is] !=@md.opt.lng_base \ + and trans.empty? \ + and auto_translate? + trans=auto_translation(dob_src.obj,:src) + end + util=pot_structure_wrap(desc,orig,trans) + else + s_mark=desc=orig=trans='' + if dob_src.bullet_ + mark='_* ' + d="#{dob_src.is.to_s}: bullet" + instruct=s_mark='' + if @md.opt.act[:maintenance][:set]==:on + instruct=%{\n# markup for indented text is at the start of the line/object, } \ + + %{an underscore followed by an asterisk "#{mark}"} + s_mark="\n# " + %{"\\n\\n#{mark}...\\n\\n"} + end + desc="#{d}#{s_mark}#{instruct}" + orig="#{s_mark}#{dob_src.obj}" + trans=((dob_trn=='') \ + || (dob_src.obj == dob_trn.obj)) \ + ? '' + : "#{s_mark}#{dob_trn.obj}" + if @md.opt.f_pth[:lng_is] !=@md.opt.lng_base \ + and trans.empty? \ + and auto_translate? + trans=auto_translation(dob_src.obj,:src) + end + else + mark='' + d=dob_src.is.to_s + instruct=%{\n# regular paragraph, no special markup} + if @md.opt.act[:maintenance][:set]==:on + instruct="\n# " + s_mark="\n# " + %{"\\n\\n#{mark}...\\n\\n"} + end + desc="#{d}#{s_mark}#{instruct}" + orig=dob_src.obj + trans=((dob_trn=='') \ + || (dob_src.obj == dob_trn.obj)) \ + ? '' + : "#{s_mark}#{dob_trn.obj}" + if @md.opt.f_pth[:lng_is] !=@md.opt.lng_base \ + and trans.empty? \ + and auto_translate? + trans=auto_translation(dob_src.obj,:src) + end + end + util=pot_structure_wrap(desc,orig,trans) + end + wrapped=util.line_wrap + @pot[:body] << wrapped << br # main text, contents, body KEEP + if @@endnotes[:para] \ + and notes_s.length > 0 \ + and not @@endnotes_ + @pot[:body] << br + wrap_endnotes(notes_s,notes_t) + elsif @@endnotes[:para] \ + and @@endnotes_ + @pot[:body] << br*2 + end + end + def block(dob_src='',notes_s='',dob_trn='',notes_t='') #% used to extract the structure of a document + mark="block{\\n\\n...\\n\\n}block" + d=dob_src.is.to_s + instruct=s_mark='' + if @md.opt.act[:maintenance][:set]==:on + instruct=%{\n# block text is a text block with an opening and closing marker, } \ + + %{the content of which may be wrapped} + s_mark="\n# " + %{"\\n\\n#{mark}\\n\\n"} + end + desc="#{d}#{s_mark}#{instruct}" + orig=dob_src.obj + trans=((dob_trn=='') \ + || (dob_src.obj == dob_trn.obj)) \ + ? '' + : "#{s_mark}#{dob_trn.obj}" + if @md.opt.f_pth[:lng_is] !=@md.opt.lng_base \ + and trans.empty? \ + and auto_translate? + trans=auto_translation(dob_src.obj,:src) + end + util=pot_structure_wrap(desc,orig,trans) + unwrapped=util.no_line_wrap_block + @pot[:body] << unwrapped << br + end + def group(dob_src='',notes_s='',dob_trn='',notes_t='') #% used to extract the structure of a document + mark="group{\\n\\n...\\n\\n}group" + d=dob_src.is.to_s + instruct=s_mark='' + if @md.opt.act[:maintenance][:set]==:on + instruct=%{\n# group text is a text block with an opening and closing marker, } \ + + %{the content of which may be wrapped} + s_mark="\n# " + %{"\\n\\n#{mark}\\n\\n"} + end + desc="#{d}#{s_mark}#{instruct}" + orig=dob_src.obj + trans=((dob_trn=='') \ + || (dob_src.obj == dob_trn.obj)) \ + ? '' + : "#{s_mark}#{dob_trn.obj}" + if @md.opt.f_pth[:lng_is] !=@md.opt.lng_base \ + and trans.empty? \ + and auto_translate? + trans=auto_translation(dob_src.obj,:src) + end + util=pot_structure_wrap(desc,orig,trans) + unwrapped=util.no_line_wrap_block + @pot[:body] << unwrapped << br + end + def verse(dob_src='',notes_s='',dob_trn='',notes_t='') #% used to extract the structure of a document + mark="poem{\n\nverse\n\nverse\n\n...\n\n}poem" + d=dob_src.is.to_s + instruct=s_mark='' + if @md.opt.act[:maintenance][:set]==:on + instruct=%{\n# verse are part of the text block described as a poem, } \ + + %{the first verse is preceeded by an opening marker, } \ + + %{and the last verse by a closing marker, } \ + + %{the content of which should remain unwrapped} + s_mark="\n# " + %{"\\n\\n#{mark}\\n\\n"} + end + desc="#{d}#{s_mark}#{instruct}" + orig=dob_src.obj + trans=(dob_trn=='') ? '' : dob_trn.obj + util=pot_structure_wrap(desc,orig,trans) + unwrapped=util.no_line_wrap_block + @pot[:body] << unwrapped << br + end + def code(dob_src='',notes_s='',dob_trn='',notes_t='') #% used to extract the structure of a document + mark="code{\\n\\n...\\n\\n}code" + d=dob_src.is.to_s + instruct=s_mark='' + if @md.opt.act[:maintenance][:set]==:on + instruct=%{\n# codeblocks are a text block with an opening and closing marker, } \ + + %{the content of which should remain unwrapped} + s_mark="\n# " + %{"\\n\\n#{mark}\\n\\n"} + end + desc="#{d}#{s_mark}#{instruct}" + orig=dob_src.obj + trans=(dob_trn=='') ? '' : dob_trn.obj + util=pot_structure_wrap(desc,orig,trans) + unwrapped=util.no_line_wrap_block + @pot[:body] << unwrapped << br + end + def table(dob_src='',notes_s='',dob_trn='',notes_t='') #% used to extract the structure of a document + mark="table{\\n\\n...\\n\\n}table" + d=dob_src.is.to_s + instruct=s_mark='' + if @md.opt.act[:maintenance][:set]==:on + instruct=%{\n# tables are a text block with an opening and closing marker, } \ + + %{the content of which should remain unwrapped} + s_mark="\n# " + %{"\\n\\n#{mark}\\n\\n"} + end + desc="#{d}#{s_mark}#{instruct}" + orig=dob_src.obj + orig=orig.gsub(/#{Mx[:tc_c]}/,"\n") + trans=(dob_trn=='') ? '' : dob_trn.obj + trans=trans.gsub(/#{Mx[:tc_c]}/,"\n") + util=pot_structure_wrap(desc,orig,trans) + unwrapped=util.no_line_wrap_block + @pot[:body] << unwrapped << br + end + def idx_markup(idx) + struct=['={'] + idx.sort.each do |x| + x.each_with_index do |y,i0| + case y + when String + struct << ';' unless struct[-1] =~/=\{/ + struct << y + if x[i0+1].class == Hash \ + and x[i0+1][:sub].length > 0 + struct << ':' + end + when Hash + if y[:plus].to_i > 0 + struct << '+' + y[:plus].to_s + end + if y[:sub].length > 0 + y[:sub].each_with_index do |z,i1| + z.each_with_index do |a,i2| + #p a + if z.length > 0 + struct << a[0] + if a[1][:plus].to_i > 0 + struct << '+' + a[1][:plus].to_s + end + if (i1 + 1) < y[:sub].length + struct << '|' + end + end + end + end + end + end + end + end + struct << '}' + #puts struct.join + struct.join + end + def idx(dob_src='',dob_trn='') #% used for book index but broken as original markup lost, already abstracted, fix + mark="={ ... }" + instruct=s_mark='' + if @md.opt.act[:maintenance][:set]==:on + instruct=%{\n# the book index should be attached unwrapped to the preceding text block } \ + + %{(there should be a new line, but no empty line)} + s_mark="\n# " + %{"\\n#{mark}\\n\\n"} + end + d='book-idx' + desc="#{d}#{s_mark}#{instruct}" + orig=pot_structure.idx_markup(dob_src.idx) #'={' + dob_src.idx + '}' + trans=if defined? dob_trn.idx \ + and not dob_trn.idx.nil? \ + and not dob_trn.idx.empty? + pot_structure.idx_markup(dob_trn.idx) #'={' + dob_trn.idx + '}' + else '' + end + util=pot_structure_wrap(desc,orig,trans) + unwrapped=util.no_line_wrap_block + @pot[:body] << unwrapped << br + end + self + end + def pot_markup(data_src,data_trn) + #@endnotes,@copen,@pot_contents_close=Array.new(3){[]} + a_l=if data_trn + a_l=(data_src.length >= data_trn.length) \ + ? data_src.length + : data_trn.length + else + data_src.length + end + s,t=0,0 + if @md.fns =~ /\.(?:(?:-|ssm\.)?sst|ssm)$/ + (data_trn.nil?) \ + ? pot_metadata_src + : pot_metadata_src_trn + end + 0.upto(a_l-1) do |i| + if data_trn + unless data_src[s] \ + and data_trn[t] + break + end + if data_src[s].of == :comment \ + and data_trn[t].of == :comment \ + and (data_src[s].is == data_trn[t].is) + s+=1;t+=1 + next + end + if ((data_src[s].is == :comment) \ + || (data_trn[t].is == :comment)) \ + and (data_src[s].is != data_trn[t].is) + if data_src[s].is == :comment + if @md.opt.act[:maintenance][:set]==:on + puts "src (comment):\n\t" \ + + data_src[s].obj + end + s+=1 + #next if data_src[s].is == :comment + elsif data_trn[t].is == :comment + if @md.opt.act[:maintenance][:set]==:on + puts "trans (comment):\n\t" \ + + data_trn[t].obj + end + t+=1 + #next if data_trn[t].is == :comment + end + end + if ((defined? data_src[s].ocn) \ + && (data_src[s].ocn.is_a?(Fixnum))) \ + and ((defined? data_trn[t].ocn) \ + && (data_trn[t].ocn.is_a?(Fixnum))) \ + and (data_src[s].ocn == data_trn[t].ocn) + @m_s,@m_t=s,t + elsif ((defined? data_src[s].ocn) \ + && (data_src[s].ocn.is_a?(Fixnum))) \ + and ((defined? data_trn[t].ocn) \ + && (data_trn[t].ocn.is_a?(Fixnum))) \ + and (data_src[s].ocn != data_trn[t].ocn) + p '--- OCN ---' + p 'mis-match' + p data_src[s].ocn + p data_src[s].obj + p data_trn[t].ocn + p data_trn[t].obj + p '---' + p 'previous match' + p data_src[@m_s].ocn + p data_src[@m_s].obj + p data_trn[@m_t].ocn + p data_trn[@m_t].obj + exit + elsif (((defined? data_src[s].ocn) \ + && (defined? data_trn[t].ocn)) \ + and data_src[s].ocn.class != data_trn[t].ocn.class) + p '--- OCN class ---' + p 'mis-match' + p data_src[s].ocn if defined? data_src[s].ocn + p data_src[s].obj + p data_trn[t].ocn if defined? data_trn[t].ocn + p data_trn[t].obj + #p '---' + #p 'previous match' + #p data_src[@m_s].ocn + #p data_src[@m_s].obj + #p data_trn[@m_t].ocn + #p data_trn[@m_t].obj + #elsif (defined? data_src[s].ocn != defined? data_trn[t].ocn) \ + #and (data_src[s].ocn.nil? != data_trn[t].ocn.nil?) + # p '--- missing OCN? ---' + # p 'mis-match' + # p data_src[s].ocn if defined? data_src[s].ocn + # p data_src[s].obj + # p data_trn[t].ocn if defined? data_trn[t].ocn + # p data_trn[t].obj + else + end + end + notes_s,notes_t='','' + data_src[s],notes_s=markup(data_src[s]) + if data_trn + data_trn[t],notes_t=markup(data_trn[t]) + #data_src[s],data_trn[t]=pot_data(data_src[s],notes_s,data_trn[t],notes_t) + pot_data(data_src[s],notes_s,data_trn[t],notes_t) + else + #data_src[s],nul=pot_data(data_src[s],notes_s) + pot_data(data_src[s],notes_s) + end + s+=1;t+=1 + end + @pot #watch + end + def pot_data(dob_src='',notes_s='',dob_trn='',notes_t='') + if dob_src.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + if defined? dob_src.ocn \ + and dob_src.ocn.to_s =~/\d+/ + paranum=dob_src.ocn.to_s + @p_num=SiSU_Po4aUtils::ParagraphNumber.new(paranum) + end + case dob_src.is + when :heading + pot_structure.heading(dob_src,notes_s,dob_trn,notes_t) + when :para + pot_structure.para(dob_src,notes_s,dob_trn,notes_t) + when :group + pot_structure.group(dob_src,notes_s,dob_trn,notes_t) + when :block + pot_structure.block(dob_src,notes_s,dob_trn,notes_t) + when :verse + pot_structure.verse(dob_src,notes_s,dob_trn,notes_t) + when :code + pot_structure.code(dob_src,notes_s,dob_trn,notes_t) + when :table + pot_structure.table(dob_src,notes_s,dob_trn,notes_t) + end + if defined? dob_src.idx \ + and not dob_src.idx.nil? \ + and not dob_src.idx.empty? + pot_structure.idx(dob_src,dob_trn) + end + dob_src='' if (dob_src.obj =~// \ + and dob_src.obj =~/^(-\{{2}~\d+|)/) # -endnote + if dob_src ## Clean Prepared Text + dob_src.obj=dob_src.obj.gsub(//,' '). + gsub(/<:\S+>/,' ') if dob_src ## Clean Prepared Text + end + end + #[dob_src,dob_trn] + end + def markup(dob) + dob,notes=objects.textface_marks_po4a(dob,:separate) + [dob,notes] + end + def publish(fn,pot) + content=[] + content << pot[:open] + content << pot[:head] + content << pot[:metadata] + content << pot[:body] + content << @@endnotes[:end] if @@endnotes_ + Output.new(fn,content,@md,@process).po4a + @@endnotes={ para: [], end: [] } + end + end + class Po4aCfg + include SiSU_Composite_Doc_Utils # composite doc, .ssm, extract all related insert files, array of filenames test + def initialize(opt,file) + @opt,@file=opt,file + end + def po4a_cfg_filename + 'po4a.cfg' + end + def dir + def pwd + Dir.pwd + end + def po4a_ + 'po4a/' # '' + end + def pot + po4a_ + 'pot' + end + def po + po4a_ + 'po' + end + self + end + def po4a_cfg_file + File.open("#{Dir.pwd}/#{po4a_cfg_filename}",'w') + end + def language + def sisu_languages_available + Px[:lng_lst] + end + def translation_languages_selected + @opt.act[:po4a_lang_trans][:trn] \ + ? @opt.act[:po4a_lang_trans][:trn] + : [] + end + def translation_languages_selected_that_are_available + translation_languages_selected & sisu_languages_available + end + def source_language_selected_str + @opt.act[:po4a_lang_trans][:src] \ + ? @opt.act[:po4a_lang_trans][:src] + : 'en' + end + def translation_languages_selected_that_are_available_str + translation_languages_selected_that_are_available.join(' ') + end + def translation_languages_selected_str + @opt.act[:po4a_lang_trans][:trn].join(' ') + end + self + end + def po4a_cfg + doc_import_list=composite_and_imported_filenames_array(@opt.fno) + po4a_cfg_arr=[] + po4a_cfg_arr \ + << "[po4a_langs] #{language.translation_languages_selected_that_are_available_str}" + po4a_cfg_arr \ + << "[po4a_paths] #{dir.pot}/$master.pot $lang:#{dir.po}/$lang/$master.po" + doc_import_list.each do |file_src| + file_src_fn= + file_src.gsub(/#{language.source_language_selected_str}\//,'') + po4a_cfg_arr \ + << "[type: text] #{file_src} $lang:$lang/#{file_src_fn}" + end + file=@file.write_file.po4a_cfg + po4a_cfg_arr.each do |txt| + puts txt + file << txt << "\n" + end + file.close + end + end + class Output 0 + para.each do |line| + if line + line=line.gsub(/\s+$/m,''). + gsub(/^\A[ ]*\Z/m,'') + if line=~/^\A[ ]*\Z/m + emptyline+=1 + else emptyline=0 + end + file_pot.puts line if emptyline < 2 #remove extra line spaces (fix upstream) + end + end + else file_pot.puts para #unix plaintext # /^([*=-]|\.){5}/ + end + end + file_pot.close + SiSU_Po4aUtils::PotNumber.new.reset + po4a_git + end + def po4a_git + unless @md.opt.act[:maintenance][:set]==:on + require_relative 'git' # git.rb + git=SiSU_Git::Source.new(@md.opt,@process) + unless FileTest.directory?(@file.output_path.pot_git.dir) + git.create_file_structure_git + end + if @md.opt.f_pth[:lng] == @md.opt.lng_base + FileUtils::cp( + @file.place_file.pot.dir, + @file.output_path.pot_git.dir + ) + else # naive, work on --> + FileUtils::cp( + @file.place_file.po.dir, + @file.output_path.po_git.dir + ) #unless FileTest.file?(@file.place_file.po_git.dir) + end + git.read + end + end + end + end +end +__END__ +!\|#\|&*\|-\|/\|_\|{\|}\|~\|&# + +tables are problematic, difficult to reconstitute instruction, check + +metadata, move to top? and work on + +footnotes, different types, asterisk, also do you want to have separate +paragraphs, or breaks within one block? + +where no ocn appropriately use ~# or -# or indeed 1~name- + +comments in document, what to do about them, not sure they are currently +retained in dal, could be quite valuable to keep + +Translate Shell +http://www.soimort.org/translate-shell/ +translate.google.com +#+END_SRC + +* src_po4a_shelf_set.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_shelf_set.rb" +# <> +module SiSU_Po4aUtils + class Wrap + def initialize(md,orig='',trans='',is_desc='',n_char_max=76,n_indent=0,n_hang=nil) + @md,@orig,@trans,@is_desc,@n_char_max,@n_indent= + md, orig, trans, is_desc, n_char_max, n_indent + @n_char_max_extend = n_char_max + @br="\n" + @n_hang=n_hang ? n_hang : @n_indent + @po4a_identify_type='type: SiSU doc' + #@po4a_identify_type='type: Plain text' + end + def line_wrap + space=' ' + spaces_indent,spaces_hang= + "#{@br}#{space*@n_indent}",space*@n_hang + pot,i=[],0 + pot_array=(@trans.empty?) ? [@orig] : [@orig,@trans] + pot_array.each do |pa| + line=0 + out=[] + out[line]='' + @oldword='' #REMOVE @oldword + pa=pa.gsub(/
/,'
'). + gsub(/#{Mx[:br_nl]}/,"\n\n") + words=pa.scan(/\n\n|\\\\\\|
|\S+/m) + while words != '' + word=words.shift + if not word + out[line] unless out[line].empty? #check + break + elsif word =~/\n\n/ + word="\n" + @n_char_max_extend = @n_char_max + out[line].length + line=line + elsif (out[line].length + word.length) > (@n_char_max_extend - @n_indent) \ + and out[line] =~/\S+/ + @n_char_max_extend = @n_char_max + out[line].squeeze!(' ') + line += 1 + end + if word + out[line]=if out[line] \ + and out[line] !~/\S+$/m + "#{out[line]}#{word}" + elsif out[line] \ + and out[line] =~/\S+/ + "#{out[line]} #{word}" + else "#{word.strip}" + end + end + @oldword=word if word =~/\S+/ + end + x=out.join(spaces_indent).gsub(/\A\n+/m,'').insert(0,spaces_hang) + z=[] + x.split(/\n/).each do |y| + y=y.gsub(/"/,'\"') + y=%{"#{y}"} + z << y + end + pot[i]=z.join("\n") + i +=1 + pot + end + trans=(pot.length == 2) ? pot[1] : '' + po_str=<dc_content}] + else nil + end + end + def header(tag,tag_content,type='',attrib='') #this will break stuff and must be tested thoroughly 20060825 + @tag,@tag_content,@type,@attrib=tag,tag_content,type,attrib + def label #element + @tag + end + def type + @type + end + def text + @tag_content + end + def info #element text + @tag_content + end + def attribute + @attrib + end + def element + @tag + end + def attrib + @attrib + end + def el + @tag + end + self + end + def start_is_match + case @p + when /^#{Mx[:meta_o]}(title)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,@md.title.full,'meta','dc') #dc 1 + when /^#{Mx[:meta_o]}(creator|author)#{Mx[:meta_c]}\s*(.+?)$/ then header('creator',$2,'meta','dc') #dc 2 + when /^#{Mx[:meta_o]}(subject)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 3 + when /^#{Mx[:meta_o]}(description)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 4 + when /^#{Mx[:meta_o]}(publisher)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 5 + when /^#{Mx[:meta_o]}(contributor)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 6 + when /^#{Mx[:meta_o]}(date)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 7 + when /^#{Mx[:meta_o]}(date\.created)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(date\.issued)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(date\.available)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(date\.valid)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(date\.modified)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(type)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 8 + when /^#{Mx[:meta_o]}(format)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 9 + when /^#{Mx[:meta_o]}(identifier)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 10 + when /^#{Mx[:meta_o]}(source)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 11 + when /^#{Mx[:meta_o]}(language)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 12 + when /^#{Mx[:meta_o]}(relation)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 13 + when /^#{Mx[:meta_o]}(coverage)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 14 + when /^#{Mx[:meta_o]}(rights)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 15 + when /^#{Mx[:meta_o]}(keywords)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(copyright)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(translator|translated_by)#{Mx[:meta_c]}\s*(.+?)$/ then header('translator',$2) + when /^#{Mx[:meta_o]}(illustrator|illustrated_by)#{Mx[:meta_c]}\s*(.+?)$/ then header('illustrator',$2) + when /^#{Mx[:meta_o]}(prepared_by)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(digitized_by)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(comments?)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(abstract)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(tags?)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(catalogue)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(class(?:ify)?_loc)#{Mx[:meta_c]}\s*(.+?)$/ then header('classify_loc',$2,'meta','extra') + when /^#{Mx[:meta_o]}(class(?:ify)?_dewey)#{Mx[:meta_c]}\s*(.+?)$/ then header('classify_dewey',$2,'meta','extra') + when /^#{Mx[:meta_o]}(class(?:ify)?_pg)#{Mx[:meta_c]}\s*(.+?)$/ then header('classify_pg',$2,'meta','extra') + when /^#{Mx[:meta_o]}(class(?:ify)?_isbn)#{Mx[:meta_c]}\s*(.+?)$/ then header('classify_isbn',$2,'meta','extra') + when /^#{Mx[:meta_o]}(toc|structure)#{Mx[:meta_c]}\s*(.+?)$/ then header('structure',$2,'process','instruct') + when /^#{Mx[:meta_o]}(level|page|markup)#{Mx[:meta_c]}\s*(.+?)$/ then header('markup',$2,'process','instruct') + when /^#{Mx[:meta_o]}(bold)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') + when /^#{Mx[:meta_o]}(italics|itali[sz]e)#{Mx[:meta_c]}\s*(.+?)$/ then header('italicize',$2,'process','instruct') + when /^#{Mx[:meta_o]}(vocabulary|wordlist)#{Mx[:meta_c]}\s*(.+?)$/ then header('vocabulary',$2,'process','instruct') + when /^#{Mx[:meta_o]}(css|stylesheet)#{Mx[:meta_c]}\s*(.+?)$/ then header('css',$2,'process','instruct') + when /^#{Mx[:meta_o]}(links)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') + when /^#{Mx[:meta_o]}(prefix)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') #add a & b + when /^#{Mx[:meta_o]}(suffix)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') + when /^#{Mx[:meta_o]}(information)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') + when /^#{Mx[:meta_o]}(contact)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') + when /^#{Mx[:meta_o]}(rcs|cvs)#{Mx[:meta_c]}\s*(.+?)$/ then header('version',$2,'process','instruct') + else nil + end + end + def dublin + (@p =~/^#{Mx[:meta_o]}\S+?#{Mx[:meta_c]}/) \ + ? start_is_match + : nil + end + def meta + (@p =~/^#{Mx[:meta_o]}\S+?#{Mx[:meta_c]}/) \ + ? start_is_match + : nil + end + end + class ParagraphNumber + def initialize(paranum) + @paranum=/(\d+)/m.match(paranum)[1] + end + def display + @paranum.gsub(/(\d+)/,'#\1') + end + end + class PotNumber + @@n=0 + def initialize + @@n +=2 + end + def num + @@n + end + def reset + @@n=0 + end + end +end +__END__ +#+END_SRC + +* src_po4a_sst_ao_sst.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_sst_ao_sst.rb" +# <> +module SiSU_SStm_AO_SStm + require_relative 'ao' # ao.rb + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'ao_composite' # ao_composite.rb + require_relative 'shared_metadata' # shared_metadata.rb + require_relative 'src_po4a_share' # src_po4a_share.rb + require_relative 'src_po4a_sst_ao_sst_set' # src_po4a_sst_ao_sst_set.rb + include SiSU_Param + require_relative 'object_munge' # object_munge.rb + require_relative 'utils_composite' # utils_composite.rb + require_relative 'utils_response' # utils_response.rb + class Source + include SiSU_Object_Munge + include SiSU_Languages_Selected + include SiSU_Response + @@md_src,@@md_master= + nil, nil + @@auto_translation_ = :go + def initialize(opt,fn=nil) + @opt,@fn=opt,fn + #unless @opt.fns =~/(.+?\.(?:-|ssm\.)?sst)$/ + # puts "#{@opt.fns} not a processed file type" + #end + file_arr=SiSU_Info_Env::InfoEnv.new. + source_file_processing_array(@opt.fno) + SiSU_Param::Parameters::Instructions.new(file_arr,@opt).extract + r=Px[:lng_lst_rgx].gsub(/\|#{language.source_language_selected_str}\|/,'|') + @lang_regx=%r{(?:#{r})} + @@todo=if source_language_selected_str == opt.f_pth[:lng] + :same_file + else :compare + end + if opt.f_pth[:lng]==@opt.lng_base \ + and opt.f_pth[:lng]==source_language_selected_str + @@md_master=SiSU_Param::Parameters.new(opt).get + end + end + def wrap_width_set(md,env) + if defined? md.make.plaintext_wrap \ + and md.make.plaintext_wrap + md.make.plaintext_wrap + elsif defined? env.plaintext_wrap \ + and env.plaintext_wrap + #env.plaintext_wrap # 78 use 75 + 75 + else 75 #78 + end + end + def process_file(md,env,file,wrap_width,fn) + if source_language_selected_str == @opt.f_pth[:lng] + @@ao_arr_lang_trans= + SiSU_AO::Source.new( + @opt, + fn, + :po4a + ).get # ao file drawn here + end + @ao_arr_lang_src= + SiSU_AO::Source.new( + @opt, + fn, + :po4a + ).get # ao file drawn here + SiSU_SStm_AO_SStm::Source::Scroll.new( + fn, + @ao_arr_lang_src, + @@ao_arr_lang_trans, + @@md_src, + @@md_master, + wrap_width + ).songsheet + end + def read_process_src_files + begin + src={} + src[:pth]=@opt.f_pth[:pth] + src[:files]=if @opt.fns =~ /\.(?:(?:-|ssm\.)sst|ssm)$/ + @opt.fns=@opt.fns.gsub(/\.ssm\.sst$/,'.ssm') + SiSU_Assemble::CompositeFileList.new(@opt).read + else + [@opt.fns] + end + md=SiSU_Param::Parameters.new(@opt).get + env=SiSU_Env::InfoEnv.new(@opt.fns) + file=SiSU_Env::FileOp.new(md) + lng=/\/([^\/]+)$/.match(src[:pth])[1] + if language.source_language_selected_str == lng + SiSU_Po4a_Project::Po4aDistClean.new(@opt,file).song + end + wrap_width=wrap_width_set(md,env) + lng = /\/([^\/]+)$/.match(src[:pth])[1] + ans=response?('process files?') + if ans + src[:files].each do |fn| + puts "[#{lng}] #{fn}" + process_file(md,env,file,wrap_width,fn) + end + end + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def read_setup + begin + md=SiSU_Param::Parameters.new(@opt).get + file=SiSU_Env::FileOp.new(md) + SiSU_Po4a_Project::Po4aCfg.new(@opt,file).song + SiSU_Po4a_Project::Po4aProject.new(@opt,file).song + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + private + class Scroll 0 \ + and not @@endnotes_ + @pot[:body] << br + wrap_endnotes(notes_s,notes_t) + elsif @@endnotes[:para] \ + and @@endnotes_ + @pot[:body] << br*2 + end + end + def para(dob_src='',notes_s='',dob_trn='',notes_t='') #% used to extract the structure of a document + util=nil + wrapped=if dob_src.indent =~/[1-9]/ \ + and dob_src.indent == dob_src.hang + s_mark=desc=orig=trans='' + mark=if dob_src.bullet_ + "_#{dob_src.indent}* " + else + "_#{dob_src.indent} " + end + orig="#{mark}#{dob_src.obj}" + trans=((dob_trn=='') \ + || (dob_src.obj == dob_trn.obj)) \ + ? '' + : "#{mark}#{dob_trn.obj}" + if @md.opt.f_pth[:lng_is] !=@md.opt.lng_base \ + and trans.empty? \ + and auto_translate? + trans=auto_translation(dob_src.obj,:src) + end + util=pot_structure_wrap(orig,trans) + elsif dob_src.hang =~/[0-9]/ \ + and dob_src.indent != dob_src.hang + s_mark=desc=orig=trans='' + mark="_#{dob_src.hang}_#{dob_src.indent} " + orig="#{mark}#{dob_src.obj}" + trans=((dob_trn=='') \ + || (dob_src.obj == dob_trn.obj)) \ + ? '' + : "#{mark}#{dob_trn.obj}" + if @md.opt.f_pth[:lng_is] !=@md.opt.lng_base \ + and trans.empty? \ + and auto_translate? + trans=auto_translation(dob_src.obj,:src) + end + util=pot_structure_wrap(orig,trans) + else + s_mark=desc=orig=trans='' + if dob_src.bullet_ + mark='_* ' + orig="#{mark}#{dob_src.obj}" + trans=((dob_trn=='') \ + || (dob_src.obj == dob_trn.obj)) \ + ? '' + : "#{mark}#{dob_trn.obj}" + if @md.opt.f_pth[:lng_is] !=@md.opt.lng_base \ + and trans.empty? \ + and auto_translate? + trans=auto_translation(dob_src.obj,:src) + end + else + mark='' + orig=dob_src.obj + trans=((dob_trn=='') \ + || (dob_src.obj == dob_trn.obj)) \ + ? '' + : "#{mark}#{dob_trn.obj}" + if @md.opt.f_pth[:lng_is] !=@md.opt.lng_base \ + and trans.empty? \ + and auto_translate? + trans=auto_translation(dob_src.obj,:src) + end + end + util=pot_structure_wrap(orig,trans) + end + wrapped=util.line_wrap + @pot[:body] << wrapped << br # main text, contents, body KEEP + if @@endnotes[:para] \ + and notes_s.length > 0 \ + and not @@endnotes_ + @pot[:body] << br + wrap_endnotes(notes_s,notes_t) + elsif @@endnotes[:para] \ + and @@endnotes_ + @pot[:body] << br*2 + end + end + def block(dob_src='',notes_s='',dob_trn='',notes_t='') #% used to extract the structure of a document + mark_o ="block{\n\n" + mark_c ="\n\n}block" + orig="#{mark_o}#{dob_src.obj}#{mark_c}" + trans=((dob_trn=='') \ + || (dob_src.obj == dob_trn.obj)) \ + ? '' + : "#{mark_o}#{dob_trn.obj}#{mark_c}" + if @md.opt.f_pth[:lng_is] !=@md.opt.lng_base \ + and trans.empty? \ + and auto_translate? + trans=auto_translation(dob_src.obj,:src) + end + util=pot_structure_wrap(orig,trans) + unwrapped=util.no_line_wrap_block + @pot[:body] << unwrapped << br + end + def group(dob_src='',notes_s='',dob_trn='',notes_t='') #% used to extract the structure of a document + mark_o ="group{\n\n" + mark_c ="\n\n}group" + orig="#{mark_o}#{dob_src.obj}#{mark_c}" + trans=((dob_trn=='') \ + || (dob_src.obj == dob_trn.obj)) \ + ? '' + : "#{mark_o}#{dob_trn.obj}#{mark_c}" + if @md.opt.f_pth[:lng_is] !=@md.opt.lng_base \ + and trans.empty? \ + and auto_translate? + trans=auto_translation(dob_src.obj,:src) + end + util=pot_structure_wrap(orig,trans) + unwrapped=util.no_line_wrap_block + @pot[:body] << unwrapped << br + end + def verse(dob_src='',notes_s='',dob_trn='',notes_t='') #% used to extract the structure of a document + mark="poem{\n\nverse\n\nverse\n\n...\n\n}poem" + instruct=s_mark='' + if @md.opt.act[:maintenance][:set]==:on + instruct=%{\n# verse are part of the text block described as a poem, } \ + + %{the first verse is preceeded by an opening marker, } \ + + %{and the last verse by a closing marker, } \ + + %{the content of which should remain unwrapped} + s_mark="\n# " + %{"\\n\\n#{mark}\\n\\n"} + end + orig=dob_src.obj + trans=(dob_trn=='') \ + ? '' + : dob_trn.obj + util=pot_structure_wrap(orig,trans) + unwrapped=util.no_line_wrap_block + @pot[:body] << unwrapped << br + end + def code(dob_src='',notes_s='',dob_trn='',notes_t='') #% used to extract the structure of a document + mark_o ="code{\n\n" + mark_c ="\n\n}code" + orig="#{mark_o}#{dob_src.obj}#{mark_c}" + trans=(dob_trn=='') \ + ? '' + : "#{mark_o}#{dob_trn.obj}#{mark_c}" + util=pot_structure_wrap(orig,trans) + unwrapped=util.no_line_wrap_block + @pot[:body] << unwrapped << br + end + def table(dob_src='',notes_s='',dob_trn='',notes_t='') #% used to extract the structure of a document + mark_o ="table{\n\n" + mark_c ="\n\n}table" + orig="#{mark_o}#{dob_src.obj}#{mark_c}" + orig=orig.gsub(/#{Mx[:tc_c]}/m,"\n") + trans=(dob_trn=='') \ + ? '' + : "#{mark_o}#{dob_trn.obj}#{mark_c}" + trans=trans.gsub(/#{Mx[:tc_c]}/m,"\n") + util=pot_structure_wrap(orig,trans) + unwrapped=util.no_line_wrap_block + @pot[:body] << unwrapped << br + end + def idx_markup(idx) + struct=['={' + "\n "] + idx.sort.each do |x| + x.each_with_index do |y,i0| + case y + when String + unless struct[-1] =~/=\{/ + struct << ' ;' + "\n " + end + struct << y + if x[i0+1].class == Hash \ + and x[i0+1][:sub].length > 0 + struct << ' :' + "\n " + end + when Hash + if y[:plus].to_i > 0 + struct << '+' + y[:plus].to_s + end + if y[:sub].length > 0 + y[:sub].each_with_index do |z,i1| + z.each_with_index do |a,i2| + if z.length > 0 + struct << a[0] + if a[1][:plus].to_i > 0 + struct << '+' + a[1][:plus].to_s + end + if (i1 + 1) < y[:sub].length + struct << '|' + end + end + end + end + end + end + end + end + struct << "\n" + '}' + #puts struct.join + struct.join + end + def idx(dob_src='') #% used for book index but broken as original markup lost, already abstracted, fix + orig=pot_structure.idx_markup(dob_src.idx) #'={' + dob_src.idx + '}' + util=pot_structure_wrap(orig,'') + unwrapped=util.no_line_wrap_block + if @pot[:body][-1] == "\n" + @pot[:body][-1] = unwrapped #<< br + @pot[:body] << br + else # expect to catch all above, problem if wraps, must =~/^=\{/ + @pot[:body] << unwrapped << br # places idx in separate object + end + end + self + end + def compare_structure_src_trn(data_src,data_trn,todo) + #@endnotes,@copen,@pot_contents_close=Array.new(3){[]} + a_l= data_src.length + s,t=0,0 + 0.upto(a_l-1) do |i| + if todo==:compare + unless data_src[s] \ + and data_trn[t] + break + end + if data_src[s].of == :comment \ + and data_trn[t].of == :comment \ + and (data_src[s].is == data_trn[t].is) + s+=1;t+=1 + next + end + if ((data_src[s].is == :comment) \ + || (data_trn[t].is == :comment)) \ + and (data_src[s].is != data_trn[t].is) + if data_src[s].is == :comment + if @md.opt.act[:maintenance][:set]==:on + puts "src (comment):\n\t" \ + + data_src[s].obj + end + s+=1 + #next if data_src[s].is == :comment + elsif data_trn[t].is == :comment + if @md.opt.act[:maintenance][:set]==:on + puts "trans (comment):\n\t" \ + + data_trn[t].obj + end + t+=1 + #next if data_trn[t].is == :comment + end + end + if ((defined? data_src[s].ocn) \ + && (data_src[s].ocn.is_a?(Fixnum))) \ + and ((defined? data_trn[t].ocn) \ + && (data_trn[t].ocn.is_a?(Fixnum))) \ + and (data_src[s].ocn == data_trn[t].ocn) + @m_s,@m_t=s,t + elsif ((defined? data_src[s].ocn) \ + && (data_src[s].ocn.is_a?(Fixnum))) \ + and ((defined? data_trn[t].ocn) \ + && (data_trn[t].ocn.is_a?(Fixnum))) \ + and (data_src[s].ocn != data_trn[t].ocn) + p '--- OCN ---' + p 'mis-match' + p data_src[s].ocn if defined? data_src[s].ocn + p data_src[s].obj if defined? data_src[s].obj + p data_trn[t].ocn if defined? data_trn[t].ocn + p data_trn[t].obj if defined? data_trn[t].obj + p '---' + p 'previous match' + p data_src[@m_s].ocn if defined? data_src[@m_s].ocn + p data_src[@m_s].obj if defined? data_src[@m_s].obj + p data_trn[@m_t].ocn if defined? data_trn[@m_t].ocn + p data_trn[@m_t].obj if defined? data_trn[@m_s].obj + exit + elsif (((defined? data_src[s].ocn) \ + && (defined? data_trn[t].ocn)) \ + and data_src[s].ocn.class != data_trn[t].ocn.class) + p '--- OCN class ---' + p 'mis-match' + p data_src[s].ocn if defined? data_src[s].ocn + p data_src[s].obj if defined? data_src[s].obj + p data_trn[t].ocn if defined? data_trn[t].ocn + p data_trn[t].obj if defined? data_trn[t].obj + #p '---' + #p 'previous match' + #p data_src[@m_s].ocn + #p data_src[@m_s].obj + #p data_trn[@m_t].ocn + #p data_trn[@m_t].obj + #elsif (defined? data_src[s].ocn != defined? data_trn[t].ocn) \ + #and (data_src[s].ocn.nil? != data_trn[t].ocn.nil?) + # p '--- missing OCN? ---' + # p 'mis-match' + # p data_src[s].ocn if defined? data_src[s].ocn + # p data_src[s].obj + # p data_trn[t].ocn if defined? data_trn[t].ocn + # p data_trn[t].obj + else + end + end + notes_s='' + data_src[s],notes_s=markup(data_src[s]) + data_src[s],nul=pot_data(data_src[s],notes_s) + s+=1;t+=1 + end + @pot #watch + end + def pot_data(dob_src='',notes_s) + if dob_src.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + if defined? dob_src.ocn \ + and dob_src.ocn.to_s =~/\d+/ + paranum=dob_src.ocn.to_s + @p_num=SiSU_Po4aUtils::ParagraphNumber.new(paranum) + end + case dob_src.is + when :heading + pot_structure.heading(dob_src,notes_s) + when :para + pot_structure.para(dob_src,notes_s) + when :group + pot_structure.group(dob_src,notes_s) + when :block + pot_structure.block(dob_src,notes_s) + when :verse + pot_structure.verse(dob_src,notes_s) + when :code + pot_structure.code(dob_src,notes_s) + when :table + pot_structure.table(dob_src,notes_s) + end + if defined? dob_src.idx \ + and not dob_src.idx.nil? \ + and not dob_src.idx.empty? + pot_structure.idx(dob_src) + end + #if dob_src ## Clean Prepared Text + # dob_src.obj=dob_src.obj.gsub(//,' '). + # gsub(/<:\S+>/,' ') if dob_src ## Clean Prepared Text + #end + end + #[dob_src,dob_trn] + end + def markup(dob) + dob,notes=objects.textface_marks_po4a(dob,:separate) + [dob,notes] + end + def publish(fn,pot) + content=[] + content << pot[:open] + content << pot[:head] + content << pot[:metadata] + content << pot[:body] + content << @@endnotes[:end] if @@endnotes_ + Output.new(fn,content,@md,@process).po4a + @@endnotes={ para: [], end: [] } + end + end + class Output 0 + para.each do |line| + if line + line=line.gsub(/\s+$/m,''). + gsub(/^\A[ ]*\Z/m,'') + if line=~/^\A[ ]*\Z/m + emptyline+=1 + else emptyline=0 + end + file_pot.puts line if emptyline < 2 #remove extra line spaces (fix upstream) + end + end + else file_pot.puts para #unix plaintext # /^([*=-]|\.){5}/ + end + end + file_pot.close + SiSU_Po4aUtils::PotNumber.new.reset + #po4a_git + end + def po4a_git + unless @md.opt.act[:maintenance][:set]==:on + require_relative 'git' # git.rb + git=SiSU_Git::Source.new(@md.opt,@process) + unless FileTest.directory?(@file.output_path.pot_git.dir) + git.create_file_structure_git + end + if @md.opt.f_pth[:lng] == @md.opt.lng_base + FileUtils::cp( + @file.place_file.pot.dir, + @file.output_path.pot_git.dir + ) + else # naive, work on --> + FileUtils::cp( + @file.place_file.po.dir, + @file.output_path.po_git.dir + ) #unless FileTest.file?(@file.place_file.po_git.dir) + end + git.read + end + end + end + end +end +__END__ +REMOVE +!\|#\|&*\|-\|/\|_\|{\|}\|~\|&# + +tables are problematic, difficult to reconstitute instruction, check + +metadata, move to top? and work on + +footnotes, different types, asterisk, also do you want to have separate +paragraphs, or breaks within one block? + +where no ocn appropriately use ~# or -# or indeed 1~name- + +comments in document, what to do about them, not sure they are currently +retained in dal, could be quite valuable to keep + +Translate Shell +http://www.soimort.org/translate-shell/ +translate.google.com +#+END_SRC + +* src_po4a_sst_ao_sst_set.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_sst_ao_sst_set.rb" +# <> +module SiSU_Po4aUtils + class Wrap + def initialize(md,orig='',trans='',n_char_max=76,n_indent=0,n_hang=nil) + @md,@orig,@trans,@n_char_max,@n_indent= + md, orig, trans, n_char_max, n_indent + @n_char_max_extend = n_char_max + @br="\n" + @n_hang=n_hang ? n_hang : @n_indent + @po4a_identify_type='type: SiSU doc' + #@po4a_identify_type='type: Plain text' + end + def line_wrap + space=' ' + spaces_indent,spaces_hang= + "#{@br}#{space*@n_indent}",space*@n_hang + pot,i=[],0 + pot_array=(@trans.empty?) ? [@orig] : [@orig,@trans] + pot_array.each do |pa| + line=0 + out=[] + out[line]='' + @oldword='' #REMOVE @oldword + pa=pa.gsub(/
/,'
'). + gsub(/#{Mx[:br_nl]}/,"\n\n") + words=pa.scan(/\n\n|\\\\\\|
|\S+/m) + while words != '' + word=words.shift + if not word + out[line] unless out[line].empty? #check + break + elsif word =~/\n\n/ + word="\n" + @n_char_max_extend = @n_char_max + out[line].length + line=line + elsif (out[line].length + word.length) > (@n_char_max_extend - @n_indent) \ + and out[line] =~/\S+/ + @n_char_max_extend = @n_char_max + out[line].squeeze!(' ') + line += 1 + end + if word + out[line]=if out[line] \ + and out[line] !~/\S+$/m + "#{out[line]}#{word}" + elsif out[line] \ + and out[line] =~/\S+/ + "#{out[line]} #{word}" + else "#{word.strip}" + end + end + @oldword=word if word =~/\S+/ + end + x=out.join(spaces_indent).gsub(/\A\n+/m,'').insert(0,spaces_hang) + z=[] + x.split(/\n/).each do |y| + z << y + end + pot[i]=z.join("\n") + i +=1 + pot + end + trans=(pot.length == 2) ? pot[1] : '' + po_str=<dc_content}] + else nil + end + end + def header(tag,tag_content,type='',attrib='') #this will break stuff and must be tested thoroughly 20060825 + @tag,@tag_content,@type,@attrib=tag,tag_content,type,attrib + def label #element + @tag + end + def type + @type + end + def text + @tag_content + end + def info #element text + @tag_content + end + def attribute + @attrib + end + def element + @tag + end + def attrib + @attrib + end + def el + @tag + end + self + end + def start_is_match + case @p + when /^#{Mx[:meta_o]}(title)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,@md.title.full,'meta','dc') #dc 1 + when /^#{Mx[:meta_o]}(creator|author)#{Mx[:meta_c]}\s*(.+?)$/ then header('creator',$2,'meta','dc') #dc 2 + when /^#{Mx[:meta_o]}(subject)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 3 + when /^#{Mx[:meta_o]}(description)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 4 + when /^#{Mx[:meta_o]}(publisher)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 5 + when /^#{Mx[:meta_o]}(contributor)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 6 + when /^#{Mx[:meta_o]}(date)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 7 + when /^#{Mx[:meta_o]}(date\.created)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(date\.issued)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(date\.available)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(date\.valid)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(date\.modified)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(type)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 8 + when /^#{Mx[:meta_o]}(format)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 9 + when /^#{Mx[:meta_o]}(identifier)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 10 + when /^#{Mx[:meta_o]}(source)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 11 + when /^#{Mx[:meta_o]}(language)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 12 + when /^#{Mx[:meta_o]}(relation)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 13 + when /^#{Mx[:meta_o]}(coverage)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 14 + when /^#{Mx[:meta_o]}(rights)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 15 + when /^#{Mx[:meta_o]}(keywords)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(copyright)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(translator|translated_by)#{Mx[:meta_c]}\s*(.+?)$/ then header('translator',$2) + when /^#{Mx[:meta_o]}(illustrator|illustrated_by)#{Mx[:meta_c]}\s*(.+?)$/ then header('illustrator',$2) + when /^#{Mx[:meta_o]}(prepared_by)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(digitized_by)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(comments?)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(abstract)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(tags?)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(catalogue)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(class(?:ify)?_loc)#{Mx[:meta_c]}\s*(.+?)$/ then header('classify_loc',$2,'meta','extra') + when /^#{Mx[:meta_o]}(class(?:ify)?_dewey)#{Mx[:meta_c]}\s*(.+?)$/ then header('classify_dewey',$2,'meta','extra') + when /^#{Mx[:meta_o]}(class(?:ify)?_pg)#{Mx[:meta_c]}\s*(.+?)$/ then header('classify_pg',$2,'meta','extra') + when /^#{Mx[:meta_o]}(class(?:ify)?_isbn)#{Mx[:meta_c]}\s*(.+?)$/ then header('classify_isbn',$2,'meta','extra') + when /^#{Mx[:meta_o]}(toc|structure)#{Mx[:meta_c]}\s*(.+?)$/ then header('structure',$2,'process','instruct') + when /^#{Mx[:meta_o]}(level|page|markup)#{Mx[:meta_c]}\s*(.+?)$/ then header('markup',$2,'process','instruct') + when /^#{Mx[:meta_o]}(bold)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') + when /^#{Mx[:meta_o]}(italics|itali[sz]e)#{Mx[:meta_c]}\s*(.+?)$/ then header('italicize',$2,'process','instruct') + when /^#{Mx[:meta_o]}(vocabulary|wordlist)#{Mx[:meta_c]}\s*(.+?)$/ then header('vocabulary',$2,'process','instruct') + when /^#{Mx[:meta_o]}(css|stylesheet)#{Mx[:meta_c]}\s*(.+?)$/ then header('css',$2,'process','instruct') + when /^#{Mx[:meta_o]}(links)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') + when /^#{Mx[:meta_o]}(prefix)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') #add a & b + when /^#{Mx[:meta_o]}(suffix)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') + when /^#{Mx[:meta_o]}(information)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') + when /^#{Mx[:meta_o]}(contact)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') + when /^#{Mx[:meta_o]}(rcs|cvs)#{Mx[:meta_c]}\s*(.+?)$/ then header('version',$2,'process','instruct') + else nil + end + end + def dublin + (@p =~/^#{Mx[:meta_o]}\S+?#{Mx[:meta_c]}/) \ + ? start_is_match + : nil + end + def meta + (@p =~/^#{Mx[:meta_o]}\S+?#{Mx[:meta_c]}/) \ + ? start_is_match + : nil + end + end + class ParagraphNumber + def initialize(paranum) + @paranum=/(\d+)/m.match(paranum)[1] + end + def display + @paranum.gsub(/(\d+)/,'#\1') + end + end + class PotNumber + @@n=0 + def initialize + @@n +=2 + end + def num + @@n + end + def reset + @@n=0 + end + end +end +__END__ +#+END_SRC + +* src_po4a_sstm.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_sstm.rb" +# <> +module SiSU_Markup + require_relative 'src_shared' # src_shared.rb + include SiSU_Source + require_relative 'src_po4a_share' # src_po4a_share.rb + require_relative 'se' # se.rb + include SiSU_Env + class Source_Po4a < SiSU_Source::SiSUpodSource + def initialize(opt,build=nil,place=nil) + super(opt,build,place) + @opt=opt + md=SiSU_Param::Parameters.new(opt).get + @file=SiSU_Env::FileOp.new(md,opt.fno) + end + def dir_mk(dir) + unless FileTest.directory?(dir) + FileUtils::mkdir_p(dir) + end + end + def make_paths + dir_mk(@file.output_path.pot.dir) + dir_mk(@file.output_path.po.dir) + end + def language + def source_language_selected_str + @opt.act[:po4a_lang][:src] \ + ? @opt.act[:po4a_lang][:src] + : 'en' + end + self + end + def read + unless @opt.act[:quiet][:set]==:on + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Share document markup text source', + @opt.fns + ).cyan_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Share document markup text source', + @opt.fns + ).cyan_title_hi + end + make_paths + if FileTest.directory?(@path_pod[:fnb]) + FileUtils::mkdir_p(@file.output_path.src.dir) \ + unless FileTest.directory?(@file.output_path.src.dir) + v=(@opt.act[:maintenance][:set]==:on) \ + ? 'v' : '' + system(%{ + #rsync -a#{v} #{@path_pod[:fnb]}/sisupod/doc/* #{@file.output_path.po4a.dir} + rsync -a#{v} #{@path_pod[:fnb]}/sisupod/doc/#{language.source_language_selected_str}* #{@file.output_path.po4a.dir} + chbk=`pwd` + cd #{@file.output_path.sisupod.dir} + for I in `find -type d` ; do chmod 755 $I ; done + for I in `find -type f` ; do chmod 644 $I ; done + cd ${chbk} + }) + md=SiSU_Param::Parameters.new(@opt).get + file=SiSU_Env::FileOp.new(md) + SiSU_Po4a_Project::Po4aCfg.new(@opt,file).song + SiSU_Po4a_Project::Po4aProject.new(@opt,file).song + else + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + '', + "#{@opt.fno} not available" + ).blue_tab + end + end + end + end +end +__END__ +#+END_SRC + +* src_shared.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/src_shared.rb" +# <> +module SiSU_Source + include SiSU_Env + class SiSUpodSource + require_relative 'se' # se.rb + require_relative 'se_hub_particulars' # se_hub_particulars.rb + require_relative 'utils_composite' # utils_composite.rb + include SiSU_Composite_Doc_Utils # composite doc, .ssm, extract all related insert files, array of filenames test + def initialize(opt,build=nil,place=nil) + @opt=opt + @date=SiSU_Env::InfoDate.new.dt + @env=SiSU_Env::InfoEnv.new(opt.fns) + #@ver=SiSU_Env::InfoVersion.instance.get_version + @v=(@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? 'v' : '' + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + @file=@particulars.file + @local_path="#{@file.output_path.sisupod.dir}" + processing_sisupod=@env.processing_path.processing_sisupod(opt) + processing_sisupod.make + path_pod=processing_sisupod.paths[:sisupod] + path_pod_fnb=processing_sisupod.paths[:fnb] + FileUtils::mkdir_p(path_pod) unless FileTest.directory?(path_pod) + @path_pod={ + fnb: path_pod_fnb, + pod: path_pod, + doc: path_pod + '/' + Gt[:doc] + '/' + opt.lng, + po: path_pod + '/' + Gt[:po] + '/' + opt.lng, + pot: path_pod + '/' + Gt[:pot], + conf: path_pod + '/' + Gt[:conf], + image: path_pod + '/' + Gt[:image], + audio: path_pod + '/' + Gt[:audio], + video: path_pod + '/' + Gt[:video], + } + end + def read + unless @opt.act[:quiet][:set]==:on + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Assemble SiSU source', + "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}"). + green_hi_blue + : '' + end + unless @opt.fns.empty? + directories + doc_import_list=composite_and_imported_filenames_array(@opt.fno) + doc_import_list=[@opt.fno, doc_import_list].flatten + image_extraction(doc_import_list) + language_versions + end + end + def images_extract(f,images) # consider using param info + rgx_image=/(?:^|[^_\\])\{(?:\s*|\~\^\s+)(\S+?\.(?:png|jpg|gif)\b)/m + if f !~/^%+\s/ \ + and f =~rgx_image + images << f.scan(rgx_image).uniq + end + images.flatten + end + def image_extraction(doc_import_list) + @rgx_rb_image=/["']\S*?([a-zA-Z0-9_-]+?\.(?:png|jpg|gif))["']/ + @rgx_image=/(?:^|[^_\\])\{\s*(\S+?\.(?:png|jpg|gif))/ + doc_import_dir=@opt.sub_location + images=[] + if doc_import_list.length > 0 + doc_import_list=doc_import_list.uniq.flatten + doc_import_list.each do |fn| + file_array=IO.readlines(fn,'') + file_array.each do |f| #% work area + f=f.gsub(/<:=(\S+?)>/,'{ c_\1.png 14x14 }image') # embedded symbol (image) + if f !~/^%+\s/ \ + and f =~@rgx_image + images=images_extract(f,images) + end + end + end + end + gi=SiSU_Env::GetInit.new + unless FileTest.file?("#{@path_pod[:conf]}/#{gi.makefile_name}") + if gi.makefile \ + && FileTest.file?(gi.makefile) + FileUtils::mkdir_p(@path_pod[:conf]) \ + unless FileTest.directory?(@path_pod[:conf]) + FileUtils::cp(gi.makefile,"#{@path_pod[:conf]}/#{gi.makefile_name}") + end + #get images from makefile, consider placing in param + end + if images \ + and images.length > 1 + images=images.flatten.uniq + images.delete_if {|x| x =~/https?:\/\// } + #images=images.sort + FileUtils::mkdir_p(@path_pod[:image]) + images_pwd=@opt.image_src_path + ##sequence copies base images, defaults used in all html outputs + #image_source_base='/usr/share/sisu/image' + #dir_pwd=Dir.pwd + #Dir.chdir(image_source_base) + #base_images=Dir.glob('*') + #base_images.each do |i| + # FileUtils::cp_r(i,"#{images_path_pod}/#{i}") + #end + #Dir.chdir(dir_pwd) + if FileTest.directory?(images_pwd) + images=images.uniq + images.each do |i| + if FileTest.file?("#{images_pwd}/#{i}") + FileUtils::cp( + "#{images_pwd}/#{i}", + "#{@path_pod[:image]}/#{i}" + ) + else + STDERR.puts \ + %{\t*WARN* did not find image - } \ + + %{"#{images_pwd}/#{i}" } \ + + %{[#{__FILE__}:#{__LINE__}]} + end + end + else + STDERR.puts \ + %{\t*WARN* did not find - } \ + + %{#{images_pwd} #{@path_pod[:image]} } \ + + %{[#{__FILE__}:#{__LINE__}]} + end + end + if doc_import_list.length > 0 \ + and @opt.fno =~/\.ssm$/ + doc_import_list.each do |f| + if FileTest.file?("#{@opt.base_path}#{doc_import_dir}/#{f}") + FileUtils::cp( + "#{@opt.base_path}#{doc_import_dir}/#{f}", + "#{@path_pod[:doc]}/#{f}" + ) + else + STDERR.puts \ + %{\t*WARN* did not find image - } \ + + %{"#{@opt.base_path}#{doc_import_dir}/#{f}" } \ + + %{[#{__FILE__}:#{__LINE__}]} + end + end + end + end + def language_versions + x=@env.document_language_versions_found #check multiple document language versions (param not used) + doc_import_dir=@opt.sub_location + if x[:f] \ + and x[:f].length > 0 #store multiple document language versions, sisupod + x[:f].each do |f| + FileUtils::mkdir_p(@path_pod[:doc]) \ + unless FileTest.directory?(@path_pod[:doc]) + if f[:f] =~/\~(\S{2,3})\.ss[tm]$/ + lng_f=$1 + if @opt.lng == lng_f + if @opt.fno =~/\.ssm$/ + if FileTest.file?("#{@opt.base_path}#{doc_import_dir}/#{f[:f]}") + FileUtils::cp( + "#{@opt.base_path}#{doc_import_dir}/#{f[:f]}", + "#{@path_pod[:doc]}/#{f[:n]}" + ) + else + STDERR.puts \ + %{\t*WARN* did not find - } \ + + %{"#{@opt.base_path}#{doc_import_dir}/#{f[:f]}" } \ + + %{[#{__FILE__}:#{__LINE__}]} + end + else + if FileTest.file?("#{@opt.base_path}/#{f[:f]}") + cpy= :no + cpy=if f[:f] =~ /^#{@opt.f_pth[:lng_is]}\// \ + or f[:f] =~ /~#{@opt.f_pth[:lng_is]}\.sst/ + :yes + elsif f[:f] !~ /^(?:#{Px[:lng_lst_rgx]})\/|~(?:#{Px[:lng_lst_rgx]})\.sst/ \ + and @opt.f_pth[:lng_is] == 'en' + :yes + else :no + end + if cpy == :yes + FileUtils::cp( + "#{@opt.base_path}/#{f[:f]}", + "#{@path_pod[:doc]}/#{f[:n]}" + ) + end + else + STDERR.puts \ + %{\t*WARN* did not find - } \ + + %{"#{@opt.base_path}/#{f[:f]}" } \ + + %{[#{__FILE__}:#{__LINE__}]} + end + end + end + else + if @opt.fno =~/\.ssm$/ + if FileTest.file?("#{@opt.base_path}#{doc_import_dir}/#{f[:f]}") + FileUtils::cp_r( + "#{@opt.base_path}#{doc_import_dir}/#{f[:f]}", + "#{@path_pod[:doc]}/#{f[:n]}" + ) + else + STDERR.puts \ + %{\t*WARN* did not find - } \ + + %{"#{@opt.base_path}#{doc_import_dir}/#{f[:f]}" } \ + + %{[#{__FILE__}:#{__LINE__}]} + end + else + if FileTest.file?("#{@opt.base_path}#{doc_import_dir}/#{f[:f]}") + cpy= :no + cpy=if f[:f] =~ /^#{@opt.f_pth[:lng_is]}\// \ + or f[:f] =~ /~#{@opt.f_pth[:lng_is]}\.sst/ + :yes + elsif f[:f] !~ /^(?:#{Px[:lng_lst_rgx]})\/|~(?:#{Px[:lng_lst_rgx]})\.sst/ \ + and @opt.f_pth[:lng_is] == 'en' + :yes + else :no + end + if cpy == :yes + FileUtils::cp( + "#{@opt.base_path}#{doc_import_dir}/#{f[:f]}", + "#{@path_pod[:doc]}/#{f[:n]}" + ) + end + else + STDERR.puts \ + %{\t*WARN* did not find - } \ + + %{"#{@opt.base_path}#{doc_import_dir}/#{f[:f]}" } \ + + %{[#{__FILE__}:#{__LINE__}]} + end + end + end + end + end #NB not all possibilies met, revisit, also in case of composite file may wish to add README + end + def directories + SiSU_Env::InfoEnv.new.sisupod_v4(@opt) + end + end +end +__END__ +question?: should you permit the packing of multiple documents in single .xz ? + + open @opt.fns, parse file + extract from file content: + images and copy each image from whatever image source to _sisu/sisupod/sisu/_sisu/image + + remove previously existing contents of _/sisu/sisupod & + make directory structure: + +v3 --> + _sisu + sisupod + doc + manifest.txt + en/content.sst [file content] + fr/content.sst + _sisu + conf + image (ln -s ../../image) + audio (ln -s ../../audio) + video (ln -s ../../video) + image [all images for specific document gathered here] + audio + video + +v2 --> + _sisu + sisupod + content.sst [file content] + filename.sst [link to content.sst] + _sisu/ + image/ [all images for specific document gathered here] + +sisu + _sisu + sisurc.yml + convert/ + standard_terms/ + image + processing + ao/ + tex/ + texinfo/ + tune/ + sisupod + +special case + +composite file (master), e.g. +SiSU.ssm +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + src + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/sst.org b/org/sst.org new file mode 100644 index 00000000..5cfe98d6 --- /dev/null +++ b/org/sst.org @@ -0,0 +1,1713 @@ +-*- mode: org -*- +#+TITLE: sisu sst +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:sst: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* sst_from_xml.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/sst_from_xml.rb" +# <> +module SiSU_sstFromXML + require_relative 'se' # se.rb + class Convert + begin + require 'rexml/document' + include REXML + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('rexml/document NOT FOUND (LoadError)') + end + def initialize(opt) + @opt=opt + @sisu,@sisu_base=[],[] + @ver=SiSU_Env::InfoVersion.instance.get_version + end + def tell(filename,type) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + "XML #{type} to SiSU sst", + "#{filename} --> #{filename}.sst" + ).green_hi_blue + end + def read + xml_to_sisu + end + def markup_head(text) + text.strip! + text.gsub!(/(?:\s*\n|\s\s+)/,' ') + text.gsub!(/
(.+?)<\/header>/,'\1') + text.gsub!(/<(\w+)>(.+?)<\/\w+>/,'@\1: \2') + text.gsub!(/
<(\w+)>(.+?)<\/\w+><\/header>/,'@\1: \2') + text.gsub!(/\s +/,' ') + text.strip! + text + "\n\n" + end + def markup(text) + text.strip! + text.gsub!(/(?:\s*\n|\s\s+)/,' ') + text.gsub!(/(.+?)<\/text>/,':A~ \1') + text.gsub!(/(.+?)<\/text>/,':B~ \1') + text.gsub!(/(.+?)<\/text>/,':C~ \1') + text.gsub!(/(.+?)<\/text>/,'1~ \1') + text.gsub!(/(.+?)<\/text>/,'2~ \1') + text.gsub!(/(.+?)<\/text>/,'3~ \1') + text.gsub!(/(.+?)<\/text>/,'\1') + text.gsub!(/(.+?)<\/endnote>/,'~{ \1 }~') + text.gsub!(/
/,'
') + text.gsub!(/(.+?)<\/i>/,'/{\1}/') + text.gsub!(/(.+?)<\/b>/,'*{\1}*') + text.gsub!(/(.+?)<\/u>/,'_{\1}_') + text.gsub!(/(\s*.+?\s*)<\/sem:\1>/,';{ \2 };\1') + text.gsub!(/(\s*.+?\s*)<\/sem:\1>/,':{ \2 }:\1') + text.gsub!(/(\s*.+?\s*)<\/sem:\1>/,'\1:{ \2 }:\1') + text.gsub!(/(\s*.+?\s*)<\/sem:\1>/,'\1:{ \2 }:\1') + text.gsub!(/\s +/,' ') + text.strip! + text + "\n\n" + end + def sax + out_file=File.new(@output_file_name,'w') + head=@doc.root.get_elements('//head/header') + body=@doc.root.get_elements('//object/text') + out_file.puts "% SiSU text #{@ver.version} (generated from a SiSU XML markup representation)\n\n" + head.each do |x| + if x.name=='header' + head=markup_head(x.to_s) + out_file.puts head + end + end + body.each do |x| + if x.name=='text' + body=markup(x.to_s) + out_file.puts body + end + end + end + def node + sax + end + def dom + raise "#{__FILE__}::#{__LINE__} xml dom representation to sst not yet implemented (experimental simple xml representations sax and node to sst are in place)." + end + def xml_to_sisu + unless @opt.files.empty? + @opt.files.each do |xml| + @sisu_base=[] + if xml =~/\.sx[sdn]\.xml$/ + begin + @doc_str=IO.readlines(xml,'').join("\n") + @output=File.new("#{xml}.sst",'w') + @doc=REXML::Document.new(@doc_str) + @output_file_name="#{Dir.pwd}/#{xml}.sst" + @el=[] + rescue REXML::ParseException + end + end + if xml =~/\.sxs\.xml$/ + unless @opt.act[:quiet][:set]==:on + tell(xml,'sax') + end + sax + elsif xml =~/\.sxd\.xml$/ + unless @opt.act[:quiet][:set]==:on + tell(xml,'dom') + end + dom + elsif xml =~/\.sxn\.xml$/ + unless @opt.act[:quiet][:set]==:on + tell(xml,'node') + end + node + else puts "filename not recognised: << #{xml} >>" + end + @output << @sisu_base + end + else puts '.xml file for conversion to sisu expected' + end + puts @opt.files.inspect + end + end +end +__END__ +#+END_SRC + +* sst_to_s_xml_sax.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/sst_to_s_xml_sax.rb" +# <> +module SiSU_SimpleXML_ModelSax + require_relative 'se_hub_particulars' # se_hub_particulars.rb + include SiSU_Particulars + require_relative 'dp' # dp.rb + include SiSU_Param + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'ao_doc_str' # ao_doc_str.rb + require_relative 'xml_shared' # xml_shared.rb + include SiSU_XML_Munge + require_relative 'shared_sem' # shared_sem.rb + require_relative 'xml_format' # xml_format.rb + include SiSU_XML_Format + require_relative 'rexml' # rexml.rb + include SiSU_Rexml + @@alt_id_count=0 + @@tablefoot='' + class Convert + @@fns=nil + def initialize(opt) + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_env_md(opt) + end + def read + begin + @md=@particulars.md #bug, relies on info persistence, assumes -m has previously been run + @env=@particulars.env + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'invert', + 'XML SAX', + "#{@md.fns} -> #{@md.fn[:sxs]}" + ).colorize unless @opt.act[:quiet][:set]==:on + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + @opt.fns, + "#{Dir.pwd}/#{@md.fn[:sxs]}" + ).flow + end + unless @@fns==@opt.fns + @@fns=@opt.fns + @@fns_array=[] + end + @fns_array=if @@fns_array.empty?; read_fnm + else @@fns_array.dup #check + end + SiSU_SimpleXML_ModelSax::Convert::Songsheet.new(@fns_array,@particulars).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure #file closed in songsheet + end + end + def read_fnm + ao=[] + if FileTest.file?("#{Dir.pwd}/#{@opt.fns}") + ao=IO.readlines("#{Dir.pwd}/#{@opt.fns}","\n\n") + else STDERR.puts 'Error' + end + end + private + class Songsheet + def initialize(data,particulars) + @data,@particulars,@env,@md=data,particulars,particulars.env,particulars.md + end + def songsheet + begin + SiSU_SimpleXML_ModelSax::Convert::Scroll.new(@data,@particulars).songsheet + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_SimpleXML_ModelSax::Convert::Tidy.new(@md,@env).xml # test wellformedness, comment out when not in use + end + SiSU_Rexml::Rexml.new(@md,@md.fn[:sxs]).xml if @md.opt.act[:maintenance][:set]==:on # test rexml parsing, comment out when not in use #debug + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + end + class Scroll + require_relative 'txt_shared' # txt_shared.rb + require_relative 'css' # css.rb + include SiSU_TextUtils + @@xml={ body: [], open: [], close: [], head: [] } + def initialize(data='',particulars='') + @data,@env,@md=data,particulars.env,particulars.md + @regx=/^(?:#{Mx[:mk_o]}:p[bn]#{Mx[:mk_c]}\s*)?(?:#{Mx[:lv_o]}[1-9]:(\S*)#{Mx[:lv_c]})?(.+)/ + @tab="\t" + if @md + @trans=SiSU_XML_Munge::Trans.new(@md) + end + @sys=SiSU_Env::SystemCall.new + end + def songsheet + pre + markup + post + publish + end + protected + def embedded_endnotes(para='') + para.gsub!(/~\{(.+?)\}~/,'\1 ') + para.gsub!(/~\[([*+])\s+(.+?)\]~/,'\2 ') + end + def xml_head(meta) + txt=meta.text + txt.gsub!(/\/{(.+?)}\//,'\1') + txt.gsub!(/[*!]{(.+?)}[*!]/,'\1') + txt.gsub!(/_{(.+?)}_/,'\1') + txt.gsub!(/-{(.+?)}-/,'\1') + txt.gsub!(//,'
') + txt.gsub!(/ & /,' and ') + @@xml[:head] <<< +#{@tab*2}<#{meta.el}> +#{@tab*3}#{txt} +#{@tab*2} +#{@tab}
+WOK + end + def xml_sc(md='') + sc=if @md.sc_info + < + + #{@md.sc_filename} + + + #{@md.sc_number} + + + #{@md.sc_date} + + +WOK + else '' + end + @@xml[:sc]=sc + end + def xml_structure(para='',lv='',hname='') #extracted endnotes + lv=lv.to_i + lv=nil if lv==0 + embedded_endnotes(para) + if para[@regx] + paragraph="#{para[@regx,2]}" + util=SiSU_TextUtils::Wrap.new(paragraph,70) + wrapped=util.line_wrap + end + @@xml[:body] << "#{@tab*0}" if para[@regx] + @@xml[:body] << "#{@tab*1}" << "\n" if para[@regx] + @@xml[:body] << if lv; %{#{@tab*1}\n#{@tab*2}#{wrapped}\n#{@tab*1}\n} << "\n" + elsif wrapped =~/\A%%?\s+/; %{\n} # comments + else %{#{@tab*1}\n#{@tab*2}#{wrapped}\n#{@tab*1}\n} # main text, contents, body KEEP + end + @@xml[:body] << "#{@endnotes}" if @endnotes # main text, endnotes KEEP + @@xml[:body] << "#{@tab*0}" << "\n" if para[@regx] + @endnotes=[] + end + def block_structure(para='') + para.gsub!(/<:block(?:-end)?>/,'') + para.strip! + @@xml[:body] << %{#{@tab*0}} + @@xml[:body] << %{#{@tab*1}#{@tab*1}\n} + @@xml[:body] << %{#{@tab*2}#{para}#{@tab*1}\n} + @@xml[:body] << %{#{@tab*1}\n} + @@xml[:body] << "#{@tab*0}" + end + def group_structure(para='') + para.gsub!(/<:group(?:-end)?>/,'') + para.strip! + @@xml[:body] << %{#{@tab*0}} + @@xml[:body] << %{#{@tab*1}#{@tab*1}\n} + @@xml[:body] << %{#{@tab*2}#{para}#{@tab*1}\n} + @@xml[:body] << %{#{@tab*1}\n} + @@xml[:body] << "#{@tab*0}" + end + def poem_structure(para='') + para.gsub!(/<:verse(?:-end)?>/,'') + para.strip! + @@xml[:body] << %{#{@tab*0}} + @@xml[:body] << %{#{@tab*1}#{@tab*1}\n} + @@xml[:body] << %{#{@tab*2}#{para}#{@tab*1}\n} + @@xml[:body] << %{#{@tab*1}\n} + @@xml[:body] << "#{@tab*0}" << "\n" + end + def code_structure(para='') + para.gsub!(/<:code(?:-end)?>/,'') + para.strip! + @@xml[:body] << %{#{@tab*0}} + @@xml[:body] << %{#{@tab*1}#{@tab*1}\n} + @@xml[:body] << %{#{@tab*2}#{para}#{@tab*1}\n} + @@xml[:body] << %{#{@tab*1}\n} + @@xml[:body] << "#{@tab*0}" << "\n" + end + def table_structure(table='') #tables + @@xml[:body] << %{#{@tab*0}} + @@xml[:body] << %{#{@tab*1}#{table}\n#{@tab*1}\n} # unless lv # main text, contents, body KEEP + @@xml[:body] << "#{@tab*0}" << "\n" #if para[@regx] + @endnotes=[] + end + def tidywords(wordlist) + wordlist.each do |x| + x.gsub!(/&/,'&') unless x =~/&\S+;/ + end + end + def xml_clean(para) + para.gsub!(/#{Mx[:gl_o]}[1-9]:\S*?#{Mx[:gl_c]}/,'') #Danger, watch + para + end + def markup + data=[] + xml_sc(@md) + @endnotes,@level,@cont,@copen,@xml_contents_close=[],[],[],[],[] + @rcdc=false + (0..6).each { |x| @cont[x]=@level[x]=false } + (4..6).each { |x| @xml_contents_close[x]='' } + @data.each do |para| + data << SiSU_AO_DocumentStructureExtract::Structure.new(@md,para).structure #takes on Mx marks + end + data.each do |para| + if para !~/^\s*(?:%+ |<:code>)/ + if @md.sem_tag and para =~/[:;]\{|\}[:;]/ + para=@trans.xml_semantic_tags(para) + end + if para =~/[:;]\{|\}[:;]/ + para=SiSU_Sem::Tags.new(para,@md).rm.all + end + end + para=@trans.markup_light(para) + @trans.char_enc.utf8(para) if @sys.locale =~/utf-?8/i #% utf8 + para.gsub!(/^@(\S+?):/,"#{Mx[:lv_o]}@\\1#{Mx[:lv_c]}") + if para =~/\A#{Mx[:lv_o]}@(\S+?)#{Mx[:lv_c]}\s*(.+?)\Z/m # for headers + d_meta=SiSU_TextUtils::HeaderScan.new(@md,para).meta + if d_meta; xml_head(d_meta) + end + end + para='' if para=~/#{Mx[:lv_o]}@\S+?#{Mx[:lv_c]}/ + if @rcdc==false \ + and (para =~/~metadata/ or para =~/^1~meta\s+Document Information/) + @rcdc=true + end + if para !~/(^@\S+?:|^\s*$||)/ + @sto=SiSU_text_parts::SplitTextObject.new(@md,para).lev_segname_para + unless @rcdc + SiSU_XML_Format::FormatScroll.new(@md,@sto.text) if @sto.format =~/i[1-9]|ordinary/ + case @sto.format + when /^(1):(\S*)/ + xml_clean(para) + xml_structure(para,$1,$2) + para=@sto.lev_para_ocn.heading_body1 + when /^(2):(\S*)/ + xml_clean(para) + xml_structure(para,$1,$2) + para=@sto.lev_para_ocn.heading_body2 + when /^(3):(\S*)/ + xml_clean(para) + xml_structure(para,$1,$2) + para=@sto.lev_para_ocn.heading_body3 + when /^(4):(\S*)/ # work on see SplitTextObject + xml_clean(para) + xml_structure(para,$1,$2) + para=@sto.lev_para_ocn.heading_body4 + when /^(5):(\S*)/ + xml_clean(para) + xml_structure(para,$1,$2) + para=@sto.lev_para_ocn.heading_body5 + when /^(6):(\S*)/ + xml_clean(para) + xml_structure(para,$1,$2) + para=@sto.lev_para_ocn.heading_body6 + else + if para =~ /<:verse>/ + para=poem_structure(para) + elsif para =~ /<:group>/ + para=group_structure(para) + elsif para =~ /<:code>/ + para.gsub!(//,'>') + para=code_structure(para) + elsif para =~// \ + and para =~/^(-\{{2}~\d+|)/ # -endnote + para='' + end + if para =~/.*<:#>.*$/ + para=case para + when /<:i1>/ + format_text=FormatTextObject.new(para,'') + format_text.scr_inden_ocn_e_no_paranum + when /<:i2>/ + format_text=FormatTextObject.new(para,'') + format_text.scr_inden_ocn_e_no_paranum + end + end + if para =~/<:center>/ + one,two=/(.*)<:center>(.*)/.match(para)[1,2] + format_text=FormatTextObject.new(one,two) + para=format_text.center + end + end + para.gsub!(/<:\S+?>/,'') + para.gsub!(//,'') ## Clean Prepared Text #bugwatch reinstate + para + end + para + end + 6.downto(4) do |x| + y=x - 1; v=x - 3 + @@xml[:body] << "#{@tab*5}\n#{@tab*y}\n" if @level[x]==true + end + 3.downto(1) do |x| + y=x - 1 + @@xml[:body] << "#{@tab*y}\n" if @level[x]==true + end + end + def pre + rdf=SiSU_XML_Tags::RDF.new(@md) + dir=SiSU_Env::InfoEnv.new + @@xml[:head],@@xml[:body]=[],[] + css=SiSU_Env::CSS_Select.new(@md).xml_sax + encoding=if @sys.locale =~/utf-?8/i then '' + else '' + end + @@xml[:open] =< +#{rdf.comment_xml_sax} + +WOK + @@xml[:head] << "\n" + @@xml[:body] << "\n" + end + def post + @@xml[:head] << @@xml[:sc] + @@xml[:head] << "\n" + @@xml[:body] << "\n" + @@xml[:close] = "\n" + end + def publish + content=[] + content << @@xml[:open] << @@xml[:head] << @@xml[:body] << @@xml[:metadata] + content << @@xml[:owner_details] if @md.stmp =~/\w\w/ + content << @@xml[:tail] << @@xml[:close] + Output.new(content.join,@md).xml + @@xml={} + end + end + class Output + def initialize(data,md) + @data,@md=data,md + end + def xml + @sisu=[] + @data.each do |para| + para.gsub!(/<:\S+?>/,'') + para.gsub!(//,'') + para="#{para}\n" unless para.empty? + @sisu << para + end + new_file_data=@sisu.join + @sisu=new_file_data.scan(/.+/) + SiSU_Env::FileOp.new(@md).mkdir + filename_sxm=SiSU_Env::FileOp.new(@md,@md.fn[:sxs]).mkfile_pwd + if filename_sxm.is_a?(File) + @sisu.each {|para| filename_sxm.puts para} + filename_sxm.close + else puts 'file not created, is directory writable?' + end + end + end + class Tidy + def initialize(md,dir) + @md,@env=md,dir + @prog=SiSU_Env::InfoProgram.new + end + def xml + if @prog.tidy !=false #note values can be other than true + if (@md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + 'invert', + 'Using XML Tidy', + 'check document structure' + ).colorize unless @md.opt.act[:quiet][:set]==:on + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + '', + '', + 'check document structure' + ) + tell.grey_open unless @md.opt.act[:quiet][:set]==:on + tidyfile='/dev/null' #don't want one or screen output, check for alternative flags + tidy =SiSU_Env::SystemCall.new("#{Dir.pwd}/#{@md.fn[:sxs]}",tidyfile) + tidy.well_formed? + tell.p_off unless @md.opt.act[:quiet][:set]==:on + end + end + end + end + end +end +__END__ +#+END_SRC + +* sst_identify_markup.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/sst_identify_markup.rb" +# <> +module SiSU_Markup + class MarkupInform + attr_accessor :version + def initialize(version,message,declared_markup='',declared_type='') + @version,@message,@declared_markup,@declared_type=version,message,declared_markup,declared_type + end + def version + @version + end + def message + @message + end + def declared_version + @declared_markup + end + def declared_type + @declared_type + end + def history + MarkupHistory.new(@version).query + end + end + class MarkupIdentify + def initialize(opt) + @opt=opt + @description='This is a script attempts to identify the version of markup used in SiSU (and provides information on changes in markup)' + end + def help + print <= 200 + if y =~ /(?:~{\*+|~\[\*|~\[\+)\s/ + version='0.42' + markup=MarkupInform.new(version,'0.42' + oldlinks,@declared_markup,@declared_type) + break + end + end + if (y =~/^1~/ and f =~/(?:\.sst|\.ssm|\.ssi)/) \ + and not @flag_38 + version='0.37' + markup=MarkupInform.new(version,'0.37 is substantially 0.16 - 0.36 markup with new file-extension' + oldlinks,@declared_markup,@declared_type) + break + end + if y =~/^1~/ \ + and f =~/\.([rs])([123])/ \ + and not @flag_38 + t,n=$1,$2 + version='0.16' + instruct=if t =~/r/ + " (change file extension from .#{t}#{n} to .ssm)" + else " (change file extension from .#{t}#{n} to .sst)" + end + markup=MarkupInform.new(version,'0.16 - 0.36' + instruct + links,@declared_markup,@declared_type) + break + end + if y =~/^0\{~/ \ + and not @flag_38 + version='0.1' + markup=MarkupInform.new(version,'0.1 - 0.15',@declared_markup,@declared_type) + break + end + if y =~/^0\{{3}/ \ + and not @flag_38 + markup=MarkupInform.new('circa. 1997','old, check date',@declared_markup,@declared_type) + break + end + markup='Not a recognised file type ' + end + end + markup + else MarkupHistory.new(@opt).help_query + end + end + def determine_markup_version + if @opt.fns.nil? \ + or @opt.fns.empty? + MarkupHistory.new(@opt).help_identify + end + if File.exist?(@opt.fns) + if @opt.fns =~/\.(?:sst|ssm|ssi|s[123i]|r[123])/ + markup=identify #(@opt.fns) + if defined? markup.version + unless @opt.act[:quiet][:set]==:on + message=unless markup.declared_version.empty? + "#{@opt.fns}\n markup Type Declared as SiSU #{markup.declared_version} #{markup.declared_type}\n appears to be SiSU #{markup.version}" + else + "Markup Type Appears to be SiSU #{markup.version}\n in file #{@opt.fns}" + end + puts message + puts %{"sisu --query-#{markup.version}" for a brief description of markup type} + end + end + else puts 'file-type not recognised: ' + @opt.fns + end + else puts 'file not found: ' + @opt.fns + end + (defined? markup.version) \ + ? markup.version + : 'markup type/version not determined' + end + def markup_version? + if @opt.fns.empty? + @opt.files.each do |fns| + @opt.fns=fns + determine_markup_version + end + else determine_markup_version + end + end + end + class MarkupHistory + def initialize(opt) + @opt=opt + end + def sisu_3_0 + < +f=$* +cf=f[0].to_s +f.shift +match_and_replace=[] +unless f.length > 0; f=Dir.glob("[a-z]*.ss?") #restricted to sisu type files, it need not be +end +puts "SiSU files:" +puts f +f.each do |x| + SiSU_Markup::MarkupIdentify.new(x).markup_version? +end +#+END_SRC + +* sst_do_inline_footnotes.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/sst_do_inline_footnotes.rb" +# <> +module SiSU_ConvertFootnotes + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'dp' # dp.rb + include SiSU_Param + require_relative 'ao_syntax' # ao_syntax.rb + include SiSU_AO_Syntax + require_relative 'i18n' # i18n.rb + class Instantiate < SiSU_Param::Parameters::Instructions + @@flag={} #Beware!! + def initialize + @@flag['table_to']=false + @@counter=@@column=@@columns=@@flag_vocab=0 + @@endnote={} + @@endnote_array=@@word_mode=[] + @@endnote_call_counter=1 + @@line_mode='' + end + end + class Source #{@md.fns}.fn" + ).txt_red unless @md.opt.act[:quiet][:set]==:on + ao.each {|s| ao_array << "#{s.strip}\n\n" unless s.strip.empty?} + ao_array + else + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + '*WARN* no footnote conversion done, problem with source file', + 'to override use --convert=footnote-force (this is not advised)' + ).warn unless @md.opt.act[:quiet][:set]==:on + '' + end + end + def read_fnm + ao=[] + ao=(FileTest.file?(@fnm)) \ + ? (File.open(@fnm){ |f| ao=Marshal.load(f)}) + : (SiSU_ConvertFootnotes::Source.new(@opt).create_ao) #watch + end + end + class Output + def initialize(md,data) + @md,@data=md,data + @my_make=SiSU_Env::CreateFile.new(@md.fns) + SiSU_Env::InfoEnv.new(@md.fns) + @hard="#{Dir.pwd}/#{@md.fns}.fn" + end + def hard_output + filename_note=@my_make.file_note + @data.each {|s| filename_note.puts s.strip + "\n\n" unless s.strip.empty?} + end + end + class Make + @@endnote={} + @@endnote_array=@@word_mode=[] + @@endnote_call_counter=1 + @@comment='%' + @@flag={ ['table_to']=>false } + def initialize(md,data) + @md,@data=md,data + @@word_mode=[] + @env=SiSU_Env::InfoEnv.new(@md.fns) + l=SiSU_Env::StandardiseLanguage.new(@md.opt.lng).language + @language=l[:n] + @translate=SiSU_Translate::Source.new(@md,@language) + end + def reset + @@counter=@@column=@@columns=@@flag_vocab=0 + @@endnote={} + @@endnote_array=@@word_mode=[] + @@endnote_call_counter=1 + @@line_mode='' + end + def song + reset + data=@data + @metafile="#{@env.processing_path.ao}/#{@md.fns}.meta" + SiSU_Env::CreateFile.new(@md.fns) + data=data.join.split("\n\n") + data_new=[] + data.each do |x| + data_new << (x =~ /\n\n/m) \ + ? (x.split(/\n\n+/)) + : x + end + data=data_new.flatten + data=SiSU_ConvertFootnotes::Make.new(@md,data).character_check + data=SiSU_ConvertFootnotes::Make.new(@md,data).endnotes + SiSU_ConvertFootnotes::Output.new(@md,data).hard_output + reset + data + end + protected + def vocabulary + data=@data + tuned_file,vocab_insert=[],[] + data.each do |para| + if para =~/^1~/ \ + and @@flag_vocab==0 + vocab_insert << '@vocabulary: lex' << "\n\n" << para + tuned_file << vocab_insert unless para.nil? + @@flag_vocab=1 + else tuned_file << para unless para.nil? + end + end + tuned_file + end + def character_check + reset + data=@data + @tuned_file=[] + endnote_no=1 + data.each do |para| + para.strip! + para.gsub!(/^[{~}]\s*$/,'') + para.gsub!(/^#{@@comment}.*/,'') #remove comment and divider #% + para.gsub!(/<~#>|~#\s*/,'~#') + para.gsub!(/-#\s*/,'-#') + para.gsub!(/(~\{ )\s+/,'\1') + para.gsub!(/ \/\//,'
') #added 2004w29 + para.gsub!(/
/,'
') #needed by xml, xhtml etc. + para.gsub!(/`/,"'") + para.gsub!(/\342\200\231/,"'") #if para =~/’/ #Avoid #‘ ’ #“ ” + para.gsub!(/\t/,' ') + para.gsub!(/�/,' ') #watch, replace with char code + para.gsub!(/[“”]/,'""') + para.gsub!(/[­–—]/,'-') #— – chk + para.gsub!(/·/,'*') + para.gsub!(/\\copy(?:right)?\b/,'©') + para.gsub!(/\\trademark\b|\\tm\b/,'®') + para.gsub!(/\44/,'$') #$ watch + para=para + "\n" + case para + when /\^~/ # endnotes + #% Note must do this first (earlier loop) and then enter gathered data into ~^\d+ + sub_para=para.dup + @@endnote_array << sub_para.gsub!(/\n/,'').gsub!(/\^~\s+(.+)\s*/,'~{ \1 }~').strip + endnote_no+=1 + para=nil if para =~/\^~ .+/ #removes 'binary' endnote now in endnote array for later insertion + end + @tuned_file << para unless para.nil? + end + @tuned_file + end + def name_endnote_seg + data=@data + @tuned_file=[] + data.each do |para| + para.gsub!(/<:3>\s*<:ee>/, + "#{@@endnote['special_align']}


\r " + + "#{@@endnote['seg_name_3']}

" + + "#{@@endnote['special_align_close']}") + para.gsub!(/<:2>\s*<:ee>/, + "#{@@endnote['special_align']}


\r " + + "#{@@endnote['seg_name_2']}

" + + "#{@@endnote['special_align_close']}") + para.gsub!(/<:1>\s*<:ee>/, + "#{@@endnote['special_align']}


\r " + + "#{@@endnote['seg_name_1']}

+#WOK +#) + @endnotes << wrap + end + end + def xml_head + metadata=SiSU_Metadata::Summary.new(@md).xhtml_scroll.metadata + @per.head << metadata + end + def name_tags(dob) + tags='' + if defined? dob.tags \ + and dob.tags.length > 0 # insert tags "hypertargets" + dob.tags.each do |t| + tags=tags << %{} + end + end + tags + end + def xml_structure(dob,type='norm') + if dob.is ==:para \ + || dob.is ==:heading + named=name_tags(dob) + if dob.is==:heading + lv=dob.ln + dob.ln + 2 + else lv=nil + end + extract_endnotes(dob) + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'\1'). #footnote/endnote clean + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,'\1') + util=SiSU_TextUtils::Wrap.new(dob.obj,70) + wrapped=util.line_wrap + @per.body << if defined? dob.ocn + %{#{Ax[:tab]*0}} + else "#{Ax[:tab]*0}" + end + @per.body << %{#{Ax[:tab]*1}#{named}\n#{Ax[:tab]*2}#{wrapped}\n#{Ax[:tab]*1}} unless lv # main text, contents, body KEEP + @per.body << %{#{Ax[:tab]*1}#{named}\n#{Ax[:tab]*2}#{wrapped}\n#{Ax[:tab]*1}} if lv # main text, contents, body KEEP + @per.body << @endnotes.compact.join if @endnotes.length > 0 # main text, endnotes KEEP + @per.body << "#{Ax[:tab]*1}#{dob.ocn}" if defined? dob.ocn + @per.body << "#{Ax[:tab]*0}" + @endnotes=[] + end + end + def block_structure(dob) + named=name_tags(dob) + dob=@trans.markup_block(dob) + dob.obj=dob.obj.strip. + gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'\1'). #footnote/endnote clean + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,'\1') #footnote/endnote clean + @per.body << %{#{Ax[:tab]*0}} + @per.body << %{#{Ax[:tab]*1}#{dob.ocn}} + @per.body << %{#{Ax[:tab]*1}#{named}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*2}#{dob.obj}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*1}} + @per.body << "#{Ax[:tab]*0}" + end + def group_structure(dob) + named=name_tags(dob) + dob=@trans.markup_group(dob) + dob.obj=dob.obj.strip. + gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'\1'). #footnote/endnote clean + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,'\1') #footnote/endnote clean + @per.body << %{#{Ax[:tab]*0}} + @per.body << %{#{Ax[:tab]*1}#{dob.ocn}} + @per.body << %{#{Ax[:tab]*1}#{named}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*2}#{dob.obj}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*1}} + @per.body << "#{Ax[:tab]*0}" + end + def poem_structure(dob) + named=name_tags(dob) + dob=@trans.markup_group(dob) + dob.obj=dob.obj.strip + @per.body << %{#{Ax[:tab]*0}} + @per.body << %{#{Ax[:tab]*1}#{dob.ocn}} + @per.body << %{#{Ax[:tab]*1}#{named}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*2}#{dob.obj}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*1}} + @per.body << "#{Ax[:tab]*0}" + end + def code_structure(dob) + named=name_tags(dob) + dob=@trans.markup_group(dob) + dob.obj=dob.obj.gsub(/\s\s/,'  ').strip + @per.body << %{#{Ax[:tab]*0}} + @per.body << %{#{Ax[:tab]*1}#{dob.ocn}} + @per.body << %{#{Ax[:tab]*1}#{named}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*2}#{dob.obj}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*1}} + @per.body << "#{Ax[:tab]*0}" + end + def table_structure(dob) + named=name_tags(dob) + table=SiSU_XHTML_Shared::TableXHTML.new(dob) + @per.body << %{#{Ax[:tab]*0}} + @per.body << %{#{Ax[:tab]*1}#{dob.ocn}} + @per.body << %{#{Ax[:tab]*2}#{named}#{table.table.obj}} + @per.body << "#{Ax[:tab]*0}" + end + def markup(data) + @endnotes=[] + @rcdc=false + @level,@cont,@copen,@xml_contents_close=[],[],[],[] + xml_head + (0..7).each { |x| @cont[x]=@level[x]=false } + (4..7).each { |x| @xml_contents_close[x]='' } + data.each do |dob| + dob=@trans.markup(dob) + if @rcdc==false \ + and (dob.obj =~/~meta/ \ + and dob.obj =~/Document Information/) + @rcdc=true + end + if dob.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + if defined? dob.ocn #look to move to format section + ocn=(dob.ocn.to_s =~/\d+/) ? dob.ocn : nil + @p_num=SiSU_XML_Format::ParagraphNumber.new(@md,ocn) + end + if not @rcdc + x=SiSU_XML_Format::FormatSeg.new(@md,dob) + if dob.is==:heading + xml_structure(dob) + dob.obj=case dob.ln + when 0 then x.heading_body0 + when 1 then x.heading_body1 + when 2 then x.heading_body2 + when 3 then x.heading_body3 + when 4 then x.heading_body4 + when 5 then x.heading_body5 + when 6 then x.heading_body6 + when 7 then x.heading_body7 + end + else + if dob.is ==:verse + poem_structure(dob) + elsif dob.is ==:group + group_structure(dob) + elsif dob.is ==:block + block_structure(dob) + elsif dob.is ==:code + code_structure(dob) + elsif dob.is ==:table + table_structure(dob) + elsif dob.is ==:para \ + and dob.indent.to_s =~/[1-9]/ \ + and dob.bullet_==true + xml_structure(dob,"indent_bullet#{dob.indent}") + elsif dob.is ==:para \ + and dob.indent.to_s =~/[1-9]/ \ + and dob.indent == dob.hang + xml_structure(dob,"indent#{dob.indent}") + elsif dob.is==:para \ + and dob.hang.to_s =~/[0-9]/ \ + and dob.indent != dob.hang + xml_structure(dob,"hang#{dob.hang.to_s}_indent#{dob.indent.to_s}") + else xml_structure(dob) + end + end + if dob.obj =~/.*<:#>.*$/ #investigate removal + dob.obj=if dob.obj =~ /#{Mx[:pa_o]}:i[1-9]#{Mx[:pa_c]}/ + txt_obj={ txt: dob } + format_text=FormatTextObject.new(@md,txt_obj) + format_text.scr_inden_ocn_e_no_paranum + end + end + else # + end + dob.obj=dob.obj.gsub(/#{Mx[:pa_o]}:\S+#{Mx[:pa_c]}/,'') if dob.obj + end + end + 6.downto(4) do |x| + y=x - 1; v=x - 3 + @per.body << "#{Ax[:tab]*5}\n#{Ax[:tab]*y}" if @level[x]==true + end + 3.downto(1) do |x| + y=x - 1 + @per.body << "#{Ax[:tab]*y}" if @level[x]==true + end + end + def pre + rdf=SiSU_XML_Tags::RDF.new(@md) + @per.head,@per.body=[],[] + stylesheet=SiSU_Style::CSS_HeadInfo.new(@md,'xhtml').stylesheet + encoding=(@sys.locale =~/utf-?8/i) \ + ? '' + : '' + @per.open =< +WOK + @per.head << %{\n\t} + @per.body << '' + end + def post + @per.head << '' + @per.body << '' + @per.close = '' + end + def publish + content=[] + content << @per.open << @per.head << @per.body << @per.metadata + content << @per.tail << @per.close + content=content.flatten.compact + Output.new(content,@md).xhtml + @@xml={} + end + end + class Output + def initialize(data,md) + @data,@md=data,md + @file=SiSU_Env::FileOp.new(@md) + end + def xhtml + SiSU_Env::FileOp.new(@md).mkdir + filename_xml=@file.write_file.xhtml + @data.each do |str| + str=str.gsub(/\A\s+\Z/m,'') #str.gsub(/^\s+$/,'') + filename_xml.puts str unless str.empty? + end + filename_xml.close + end + end + class Tidy + def initialize(md,file) + @md,@file=md,file + @prog=SiSU_Env::InfoProgram.new + end + def xml + if @prog.tidy !=false + if (@md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + unless @md.opt.act[:quiet][:set]==:on + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + 'invert', + 'Using XML Tidy', + 'check document structure' + ).colorize + tell=SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + 'invert', + '', + '' + ) + tell.grey_open + end + tidyfile='/dev/null' #don't want one or screen output, check for alternative flags + tidy=SiSU_Env::SystemCall.new(@file,tidyfile) + tidy.well_formed? + tell.p_off unless @md.opt.act[:quiet][:set]==:on + end + end + end + end + end +end +__END__ +,** Notes: +tidy -xml scroll.xhtml >> index.tidy + + + + + + +#+END_SRC + +* epub2.rb +** xhtml_epub2.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2.rb" +# <> +module SiSU_XHTML_EPUB2 + begin + require 'pstore' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('pstore NOT FOUND (LoadError)') + end + require_relative 'se_hub_particulars' # se_hub_particulars.rb + include SiSU_Particulars + require_relative 'xml_shared' # xml_shared.rb + include SiSU_XML_Munge + require_relative 'xhtml_table' # xhtml_table.rb + require_relative 'xhtml_epub2_format' # xhtml_epub2_format.rb + include SiSU_XHTML_EPUB2_Format + require_relative 'xhtml_epub2_segments' # xhtml_epub2_segments.rb + include SiSU_XHTML_EPUB2_Seg + require_relative 'xhtml_epub2_tune' # xhtml_epub2_tune.rb + include SiSU_XHTML_EPUB2_Tune + require_relative 'xhtml_epub2_concordance' # xhtml_epub2_concordance.rb + require_relative 'xhtml_epub2_persist' # xhtml_epub2_persist.rb + class Source + def initialize(opt) + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + end + def read + begin + songsheet + ensure + Dir.chdir(@opt.f_pth[:pth]) + end + end + def songsheet + begin + @md=@particulars.md + @fnb=@md.fnb + @env=@particulars.env + unless @opt.act[:quiet][:set]==:on + tool=(@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? "#{@env.program.epub_viewer} #{@md.file.output_path.epub.dir}/#{@md.file.base_filename.epub}" + : "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}" + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'EPUB', + tool + ).green_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'EPUB', + tool + ).green_title_hi + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + @opt.fns, + "#{@md.file.output_path.epub.dir}/#{@md.file.base_filename.epub}" + ).flow + end + end + @env.processing_path.epub_bld #(@md) + @env.processing_path.epub_cp_images(@md) + data=nil + SiSU_Env::FileOp.new(@md).mkdir.output.epub + @tuned_file_array=SiSU_XHTML_EPUB2::Source::XHTML_Environment.new(@particulars).tuned_file_instructions + data=@tuned_file_array + per=SiSU_XHTML_EPUB2::Source::Toc.new(@md,data).songsheet + data=@tuned_file_array + SiSU_XHTML_EPUB2::Source::ScrollHeadAndSegToc.new(@md,per).in_common #watch + SiSU_XHTML_EPUB2::Source::Seg.new(@md,data).songsheet + SiSU_XHTML_EPUB2::Source::Output.new(@md).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + unless (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + texfiles=Dir["#{@env.processing_path.tune}/#{@opt.fns}*"] + texfiles.each do |f| + if FileTest.file?(f) + File.unlink(f) + end + end + end + SiSU_Env::Clear.new(@opt.selections.str,@opt.fns).param_instantiate + @@flag,@@scr,@@seg,@@seg_endnotes,@@seg_subtoc={},{},{},{},{} + @@tracker=0 + @@seg_name,@@seg_name_html,@@seg_subtoc_array,@@seg_endnotes_array,@@tablefoot=Array.new(5){[]} + @@filename_seg,@@seg_url,@@to_lev4,@@get_hash_to,@@get_hash_fn='','','','','' + end + end + private + class XHTML_Environment + def initialize(particulars) + @particulars=particulars + @md,@env=particulars.md,particulars.env + @env,@css=particulars.env,SiSU_Style::CSS.new + end + def directories + SiSU_Env::FileOp.new(@md).mkdir.output.epub + end + def tuned_file_instructions + @tell=SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set]) + directories + ao_array=@particulars.ao_array # ao file drawn here + @tuned_file_array=SiSU_XHTML_EPUB2_Tune::Tune.new(ao_array,@md).songsheet + @tuned_file_array + end + end + class Endnotes + include SiSU_XHTML_EPUB2_Format + def initialize(md,data) + @md,@data=md,data + end + def scroll + @scr_endnotes=[] + @data.each do |dob| + pg=dob.dup + unless pg.is ==:code + if pg.obj =~/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]})[\d*+]+ / + endnote_array=[] + if pg.obj=~/#{Mx[:en_a_o]}[\d*+].+?#{Mx[:en_a_c]}/m + endnote_array = pg.obj.scan(/#{Mx[:en_a_o]}[\d*+]+(.+?)#{Mx[:en_a_c]}/m) + end + if pg.obj=~/#{Mx[:en_b_o]}[\d*]+\s.+?#{Mx[:en_b_c]}/m + endnote_array = pg.obj.scan(/#{Mx[:en_b_o]}[\d*]+(.+?)#{Mx[:en_b_c]}/m) + end + if pg.obj=~/#{Mx[:en_b_o]}[\d+]+\s.+?#{Mx[:en_b_c]}/m + endnote_array = pg.obj.scan(/#{Mx[:en_b_o]}[\d+]+(.+?)#{Mx[:en_b_c]}/m) + end + endnote_array.flatten.each do |note| + txt_obj={ txt: note } + format_scroll=SiSU_XHTML_EPUB2_Format::FormatScroll.new(@md,txt_obj) + @scr_endnotes << format_scroll.endnote_body + end + end + end + end + @scr_endnotes + end + end + class Toc + @@seg_url='' + @@firstseg=nil + def initialize(md=nil,data='') + @md,@data=md,data + @epub=SiSU_XHTML_EPUB2_Format::HeadInformation.new(@md) + @tell=SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set]) if @md + @make=SiSU_Env::ProcessingSettings.new(@md) + @per=SiSU_XHTML_EPUB2_Persist::PersistTOC.new + end + def songsheet #extracts toc for scroll & seg + begin + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + 'Toc' + ).txt_grey + end + toc=nil + @@firstseg=nil + SiSU_XHTML_EPUB2_Persist::PersistTOC.new.persist_init + md_opf_a_content,md_opf_a_spine,md_opf_a_guide=[],[],[] + @nav_no=0 + @s_a_no,@s_b_no,@s_c_no,@s_d_no,@lv5_no,@lv6_no=0,0,0,0,0,0 + @per.ncx << @epub.toc_ncx.open #epub ncx navmap + @per.ncx << @epub.toc_ncx.head_open << @epub.toc_ncx.head << @epub.toc_ncx.head_close + @per.ncx << @epub.toc_ncx.doc_title << @epub.toc_ncx.doc_author + @per.ncx << @epub.toc_ncx.navmap_open + @per.opf << @epub.metadata_opf.package_open + @per.opf << @epub.metadata_opf.metadata + @per.opf << @epub.metadata_opf.manifest_open + @per.seg << %{
\n
} + @per.scr << %{
\n
} + if defined? @md.make.cover_image \ + and @md.make.cover_image.is_a?(Hash) \ + and @md.make.cover_image[:cover] =~/\S+/ + md_opf_a_content << @epub.metadata_opf.manifest_cover_image_information(@md) + md_opf_a_spine << @epub.metadata_opf.spine_cover_image + md_opf_a_guide << @epub.metadata_opf.guide_cover_image + end + md_opf_a_content << @epub.metadata_opf.manifest_content_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=[false,false,false,false,false,false,false] + @dob_toc2,@dob_toc3=nil,nil + @ncx_cls=[] + @level_a_first_occurrence=true + @data.each do |dob| + if dob.is==:heading \ + || dob.is==:heading_insert + dob_toc=dob.dup + toc=case dob_toc.ln + when 0 + @s_a_no +=1 + lv_name='section_a' + @s_a_no.to_s + @nav_no+=1 + @nav_no2=@nav_no + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[5] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[4] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[3] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[2] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[1] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[0] + @ncxo[0],@ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]= + true, false, false, false, false, false, false, false + @epub.sections(dob_toc,lv_name) + if @level_a_first_occurrence \ + && @make.build.toc? + @per.ncx << @epub.toc_ncx.navmap_sisu_toc(@nav_no) #epub ncx navmap, toc + @nav_no+=1 + @level_a_first_occurrence=false + end + @per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc + md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name) + md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name) + md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name) + SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_0 + when 1 + @s_b_no +=1 + lv_name='section_b' + @s_b_no.to_s + @nav_no+=1 + @nav_no2=@nav_no + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[5] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[4] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[3] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[2] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[1] + @ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]= + true, false, false, false, false, false, false + @epub.sections(dob_toc,lv_name) + @per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc + md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name) + md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name) + md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name) + SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_1 + when 2 + @s_c_no +=1 + lv_name='section_c' + @s_c_no.to_s + @nav_no+=1 + @nav_no2=@nav_no + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[5] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[4] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[3] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[2] + @ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]= + true, false, false, false, false, false + @epub.sections(dob_toc,lv_name) + @per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc + md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name) + md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name) + md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name) + SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_2 + when 3 + @s_d_no +=1 + lv_name='section_d' + @s_d_no.to_s + @nav_no+=1 + @nav_no3=@nav_no + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[5] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[4] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[3] + @ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]= + true, false, false, false, false + @epub.sections(dob_toc,lv_name) + @per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc + md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name) + md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name) + md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name) + SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_3 + when 4 + @ncx_cls=[] + lv_name=dob_toc.name + @nav_no+=1 + @dob_name=dob.name + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[5] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[4] + @ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]= + true, false, false, false + @per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc + md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name) + md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name) + md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name) + SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_4 + when 5 + @ncx_cls=[] + hashtag='#o' + dob_toc.ocn.to_s + lv_name=@dob_name + @nav_no+=1 + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[5] + @ncxo[5],@ncxo[6],@ncxo[7]= + true, false, false + @per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc + md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag) + md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag) + md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name,hashtag) + SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_5 + when 6 + @ncx_cls=[] + hashtag='#o' + dob_toc.ocn.to_s + lv_name=@dob_name + @nav_no+=1 + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6] + @ncxo[6],@ncxo[7]= + true, false + @per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc + md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag) + md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag) + md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name,hashtag) + SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_6 + when 7 + @ncx_cls=[] + hashtag='#o' + dob_toc.ocn.to_s + lv_name=@dob_name + @nav_no+=1 + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7] + @ncxo[7]=true + @per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc + md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag) + md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag) + md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name,hashtag) + SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_7 + else nil + end + toc.each do |k,d| + d.gsub!(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ') + end if toc + if @@firstseg.nil? \ + and dob.ln==4 \ + and dob.name =~/\S+/ + @@firstseg=dob.name + end + if toc + begin + @per.seg << toc[:seg] + @per.scr << toc[:seg] + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + end + end + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[5] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[4] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[3] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[2] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[1] + @per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[0] + @ncxo[0],@ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=false,false,false,false,false,false,false + md_opf_a_content << @epub.metadata_opf.manifest_images(@md.ec[:image]) + @per.seg << "
\n
" + @per.scr << "
\n
" + @per.ncx << @epub.toc_ncx.navmap_close + @per.ncx << @epub.toc_ncx.close + @per.opf << md_opf_a_content << @epub.metadata_opf.manifest_close + @per.opf << @epub.metadata_opf.spine_open << md_opf_a_spine << @epub.metadata_opf.spine_close + @per.opf << @epub.metadata_opf.guide_open << md_opf_a_guide << @epub.metadata_opf.guide_close + @per.opf << @epub.metadata_opf.package_close + @per.opf=@per.opf.flatten + SiSU_XHTML_EPUB2::Source::Output.new(@md,@per.opf).epub_metadata_opf + SiSU_XHTML_EPUB2::Source::Output.new(@md,@per.ncx).epub_toc_ncx + @md.firstseg=@@firstseg + @per + ensure + SiSU_XHTML_EPUB2_Persist::Persist.new.persist_init + end + end + protected + def level_0 + dob=@data + linkname=dob.obj.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/,'').strip + link=dob.ocn + title=linkname + toc={} + txt_obj={ txt: title } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc[:seg]=format_toc.lev1 + title=if dob.ocn ==0 then linkname + else + @per.scr << '
' + link=(dob.ln) \ + ? dob.ln + : '' + %{#{linkname}} + end + txt_obj={ txt: title } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc[:scr]=format_toc.lev1 + toc + end + def level_1 + dob=@data + linkname=dob.obj.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/,'').strip + link=dob.ocn + title=if dob.obj !~/Document Information/ + linkname + else + link='metadata' + %{#{linkname}} + end + toc={} + txt_obj={ txt: title } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc[:seg]=if dob.name =~/^meta/ \ + and dob.obj =~/Document Information/ #check + format_toc.lev0 + else format_toc.lev1 + end + title=if dob.ocn ==0 + if dob.name =~/^meta/ \ + and dob.obj =~/Document Information/ + %{#{linkname}} + else linkname + end + else + @per.scr << '
' + link=(dob.ln) \ + ? dob.ln + : '' + %{#{linkname}} + end + txt_obj={ txt: title } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc[:scr]=if dob.name =~/^meta/ \ + and dob.obj =~/Document Information/ + format_toc.lev0 + else format_toc.lev1 + end + toc + end + def level_2 + dob=@data + linkname=dob.obj.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/,'').strip + ocn=dob.ocn + if ocn \ + and ocn !~/#/ + p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn) + end + txt_obj={ txt: linkname } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc={} + toc[:seg]=format_toc.lev2 + if p_num + title=%{#{p_num.goto}#{linkname}} + txt_obj={ txt: title } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc[:scr]=format_toc.lev2 + end + toc + end + def level_3 + dob=@data + linkname=dob.obj.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/,'').strip + ocn=dob.ocn + if ocn \ + and ocn !~/#/ + p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn) + end + txt_obj={ txt: linkname } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc={} + toc[:seg]=format_toc.lev3 + if p_num + title=%{#{p_num.goto}#{linkname}} + txt_obj={ txt: title } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc[:scr]=format_toc.lev3 + end + toc + end + def level_4 + dob=@data + linkname=dob.obj.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/,'').strip + ocn=dob.ocn + p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn) if ocn + if dob.ln==4 + seg_link=%{ + #{dob.obj} + } + @@seg_url=dob.name + elsif dob.obj =~/\d+.\d+.\d+.\d+|\d+.\d+.\d+|\d+.\d+|\d+/ + seg_link=dob.obj.gsub(/^(\d+.\d+.\d+.\d+|\d+.\d+.\d+|\d+.\d+|\d+)(.*)/, + %{} + + %{\\1 \\2 }) + end + p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn) if ocn + txt_obj={ txt: seg_link } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc={} + toc[:seg]=format_toc.lev4 + title=%{#{p_num.goto}#{linkname}} if p_num + txt_obj={ txt: title } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc[:scr]=format_toc.lev4 + toc + end + def level_5 + dob=@data + linkname=dob.obj.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/,'').strip + ocn=dob.ocn + toc={} + if ocn \ + and ocn.to_s !~/#/ + p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn) + lnk_n_txt=%{ + #{linkname} + } + txt_obj={ txt: lnk_n_txt } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc[:seg]=format_toc.lev5 + title=%{#{p_num.goto}#{linkname}} + txt_obj={ txt: title } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc[:scr]=format_toc.lev5 + end + toc + end + def level_6 + dob=@data + linkname=dob.obj.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/,'').strip + ocn=dob.ocn + toc={} + if ocn \ + and ocn.to_s !~/#/ + p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn) + lnk_n_txt=%{ + #{linkname} +} + txt_obj={ txt: lnk_n_txt } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc[:seg]=format_toc.lev6 + title=%{#{p_num.goto}#{linkname}} + txt_obj={ txt: title } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc[:scr]=format_toc.lev6 + end + toc + end + def level_7 + dob=@data + linkname=dob.obj.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/,'').strip + ocn=dob.ocn + toc={} + if ocn \ + and ocn.to_s !~/#/ + p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn) + lnk_n_txt=%{ + #{linkname} +} + txt_obj={ txt: lnk_n_txt } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc[:seg]=format_toc.lev7 + title=%{#{p_num.goto}#{linkname}} + txt_obj={ txt: title } + format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj) + toc[:scr]=format_toc.lev7 + end + toc + end + end + class ScrollHeadAndSegToc < Toc + def initialize(md='',per='',links_guide_toc='') + @md,@per,@links_guide_toc=md,per,links_guide_toc + end + def in_common + toc_shared=[] + segtoc=[] + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + 'Scroll & Segtoc' + ).txt_grey + end + format_head_toc=SiSU_XHTML_EPUB2_Format::HeadToc.new(@md) + dochead=format_head_toc.head + dochead=dochead.gsub(/toc\.(html)/,'doc.\1') #kludge + toc_shared << dochead #<< ads.div.major + segtoc << format_head_toc.head #<< ads.div.major + if defined? @md.rights.all \ + and @md.rights.all + rights=format_head_toc.rights.all + rights=SiSU_XHTML_EPUB2_Tune::CleanXHTML.new(rights).clean + end + if defined? @md.notes.prefix_b \ + and @md.notes.prefix_b + prefix_b=format_head_toc.prefix_b + prefix_b=SiSU_XHTML_EPUB2_Tune::CleanXHTML.new(prefix_b).clean + end + tmp_head=nil + doc_title_endnote=@md.title.full.gsub(/(\*+)/,'\1') + tmp_head=doc_title_endnote + "\n" + txt_obj={ txt: tmp_head } + format_txt_obj=SiSU_XHTML_EPUB2_Format::FormatTextObject.new(@md,txt_obj) + toc_shared << format_txt_obj.center_bold + segtoc << format_txt_obj.center_bold + if defined? @md.creator.author \ + and @md.creator.author + creator_endnote=@md.creator.author.gsub(/(\*+)/,%{#{$ep[:hsp]}\\1}) + tmp_head=creator_endnote + "\n" + txt_obj={ txt: tmp_head } + format_txt_obj=SiSU_XHTML_EPUB2_Format::FormatTextObject.new(@md,txt_obj) + toc_shared << format_txt_obj.center_bold + segtoc << format_txt_obj.center_bold + end + tmp_head=nil + if defined? @md.prefix_a \ + and @md.prefix_a + tmp_head ||= %{#{@md.prefix_a}\n} + toc_shared << tmp_head.dup + segtoc << tmp_head.dup + end + tmp_head=nil + toc_shared << @links_guide_toc + if defined? @md.rights.all \ + and @md.rights.all + toc_shared << rights + end + if defined? @md.prefix_b \ + and @md.prefix_b + toc_shared << prefix_b + end + #Table of Contents added/appended here + toc_shared << @per.scr + segtoc << @links_guide_toc + segtoc << @per.seg + if defined? @md.rights.all \ + and @md.rights.all + segtoc << rights + end + if defined? @md.prefix_b \ + and @md.prefix_b + segtoc << prefix_b + end + #Segtoc tail added here + segtoc << format_head_toc.xhtml_close + segtoc=segtoc.flatten.compact #watch + SiSU_XHTML_EPUB2::Source::Output.new(@md).make_cover_image + SiSU_XHTML_EPUB2::Source::Output.new(@md,segtoc).make_segtoc + segtoc=[] + @per.scr,@per.seg=[],[] + toc_shared + end + end + class Table < SiSU_XHTML_Table::TableXHTML + end + class Seg < SiSU_XHTML_EPUB2_Seg::Seg + end + class Output + def initialize(md,output='') + @md,@output=md,output + @epub_doc="#{@md.fnb}.epub" + @epub_header=SiSU_XHTML_EPUB2_Format::HeadInformation.new(@md) + @make=SiSU_Env::ProcessingSettings.new(@md) + @make_file=SiSU_Env::CreateFile.new(@md.fns) + end + def songsheet + mimetype + metainf_container + css + images if @md.ec[:image] + #concordance #uncomment to enable inclusion of concordance file + output_zip + end + def 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_file.epub.metainf_cont + out<<@epub_header.metainf_container + out.close + end + def css + out=@make_file.epub.xhtml_css + out << SiSU_XHTML_EPUB2_Format::CSS.new.css_epub_xhtml + out.close + end + def epub_toc_ncx + begin + out=@make_file.epub.toc_ncx + @output.each do |para| + unless para =~/\A\s*\Z/ + out.puts para + end + end + out.close + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + def epub_metadata_opf + begin + out=@make_file.epub.metadata + @output.each do |para| + unless para =~/\A\s*\Z/ + out.puts para + end + end + out.close + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + def images + img_pth=@md.env.path.image_source_include + img_src_pth=unless @md.opt.f_pth[:pth] =~/\/\S+?\/sisupod\/\S+?\/sisupod\/doc/ + @md.file.output_path.epub.rel_image + else + pt=/(\/\S+?\/sisupod\/\S+?\/sisupod)\/doc/.match(@md.opt.f_pth[:pth])[1] + pt + '/image' + end + @md.ec[:image].each do |x| + if FileTest.directory?("#{@md.env.processing_path.epub}/#{Ep[:d_oebps]}/image") \ + && FileTest.file?("#{img_src_pth}/#{x}") + FileUtils::cp("#{img_src_pth}/#{x}","#{@md.env.processing_path.epub}/#{Ep[:d_oebps]}/image") + elsif FileTest.directory?("#{@md.env.processing_path.epub}/#{Ep[:d_oebps]}/image") \ + && FileTest.file?("#{img_pth}/#{x}") + FileUtils::cp("#{img_pth}/#{x}","#{@md.env.processing_path.epub}/#{Ep[:d_oebps]}/image") + else STDERR.puts %{\t*WARN* did not find image - "#{x}" in #{img_src_pth} or #{img_pth} [#{__FILE__}:#{__LINE__}]} + end + end + end + def concordance + SiSU_XHTML_EPUB2_Concordance::Source.new(@md.opt).read + end + def output_zip + FileUtils::mkdir_p(@md.file.output_path.epub.dir) unless FileTest.directory?(@md.file.output_path.epub.dir) + if FileTest.directory?(@md.env.processing_path.epub) \ + and SiSU_Env::SystemCall.new.zip + pwd=Dir.pwd + Dir.chdir(@md.env.processing_path.epub) + system(" + zip -qXr9D #{@epub_doc} * + ") + FileUtils::mv(@epub_doc, @md.file.place_file.epub.dir) + Dir.chdir(pwd) + unless @md.opt.act[:maintenance][:set]==:on + FileUtils::rm_r(@md.env.processing_path.epub) + end + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).mark('*EXITED epub* zip program not found') unless SiSU_Env::SystemCall.new.zip + end + end + def make_cover_image + begin + if @md.make.cover_image? \ + and @md.make.cover_image.is_a?(Hash) \ + and @md.make.cover_image[:cover] =~/\S+/ + filename_xhtml=@make_file.epub.xhtml_cover_image + cover_image=< + + + + Cover + + + + + +
+
+ + + +
+
+ + +WOK + filename_xhtml.puts cover_image,"\n" + filename_xhtml.close + end + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + def make_segtoc + begin + if @make.build.toc? + filename_xhtml=@make_file.epub.xhtml_index + @output.each do |para| + para=para.strip + unless para =~/\A\s*\Z/ + filename_xhtml.puts para,"\n" + end + end + filename_xhtml.close + end + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + end + end +end +__END__ +#+END_SRC + +** xhtml_epub2_concordance.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2_concordance.rb" +# <> +module SiSU_XHTML_EPUB2_Concordance + require_relative 'se_hub_particulars' # se_hub_particulars.rb + include SiSU_Particulars + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'xhtml_parts' # xhtml_parts.rb + require_relative 'xhtml_epub2_format' # xhtml_epub2_format.rb + include SiSU_XHTML_EPUB2_Format + class Source + def initialize(opt) + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + end + def read + begin + @env,@md=@particulars.env,@particulars.md + wordmax=@env.concord_max + unless @md.wc_words.nil? + if @md.wc_words < wordmax + SiSU_XHTML_EPUB2_Concordance::Source::Words.new(@particulars).songsheet + else + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + "*WARN* concordance skipped, large document has over #{wordmax} words (#{@md.wc_words})" + ).warn unless @md.opt.act[:quiet][:set]==:on + end + else + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + "*WARN* wc (word count) is off, concordance will be processed for all files including those over the max set size of: #{wordmax} words" + ).warn unless @md.opt.act[:quiet][:set]==:on + SiSU_XHTML_EPUB2_Concordance::Source::Words.new(@particulars).songsheet + end + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + private + class DocTitle + #revisit, both requires (html & xml_shared) needed for stand alone operation (sisu -w [filename]) + require_relative 'xhtml_epub2' # xhtml_epub2.rb + def initialize(particulars) + @particulars,@md=particulars,particulars.md + @data=SiSU_XHTML_EPUB2::Source::XHTML_Environment.new(particulars).tuned_file_instructions + @fnb=@md.fnb + @lex_button=%{SiSU home} + @doc_details =<

" + + "#{@@endnote['special_align_close']}") + @tuned_file << para + end + if @md.flag_auto_endnotes \ + and @md.flag_separate_endnotes_make + @tuned_file << "\n1~endnotes Endnotes" #prob numbering, revisit + end + @tuned_file << "\n" + @tuned_file + end + def owner_details_seg + data << '1~owner.details Owner Details' + end + def number_sub_heading(para,num,title_no) + case para + when /#{num}~- / then para.gsub!(/#{num}~- /,"#{title_no} ") + when /^#{num}~#\s*/ then para.gsub!(/^#{num}~#\s*/,"#{title_no} ") + when /^#{num}~[a-z_\.]+ / + para.gsub!(/^#{num}~([a-z_\.]+)\s+(.+)/i,%{#{num}~\\1 #{title_no} \\2 <:name##{title_no}>}) + else para.gsub!(/^#{num}~ /,"#{num}~#{title_no} #{title_no} ") #main + end + if @md.toc_lev_limit \ + and @md.toc_lev_limit < num + para.gsub!(/^[2-6]~(?:~\S+)?\s*/,'!_ ') + end + para + end + def set_heading_top #% make sure no false positives + unless @md.set_heading_top + if (@md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + puts "\tdocument contains no top level heading, (will have to manufacture one)" + end + data=@data + @tuned_file=[] + data.each do |para| + unless @md.set_heading_top + if para !~/^(?:@\S+:|0~\S+)\s/m \ + and para !~/\A\s*\Z/m + @md.set_heading_top=true + head=(@md.title.full) \ + ? (":A~ #{@md.title.full}") + : (':A~ [no title provided]') + @tuned_file << head + end + end + @tuned_file << para + end + @tuned_file + end + end + def set_heading_seg #% make sure no false positives + unless @md.set_heading_seg + if (@md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + puts "\tdocument contains no segment level, (will have to manufacture one)" + end + data=@data + @tuned_file=[] + data.each do |para| + unless @md.set_heading_seg + if para !~/^(?:@\S+:|0~\S+|:[ABC]~)/m \ + and para !~/\A\s*\Z/m \ + and para !~/<:p[bn]>/ + @md.set_heading_seg=true + head=(@md.title.full) \ + ? ("1~seg [#{@md.title.full}]") + : ('1~seg [segment]') + @tuned_file << head + end + end + @tuned_file << para + end + @tuned_file + end + end + def set_header_title #% make sure no false positives + unless @md.set_header_title + if (@md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + puts "\t no document title provided, (will have to manufacture one)" + end + data=@data + @tuned_file=[] + data.each do |para| + unless @md.set_header_title + if para !~/^%{1,2}\s/m \ + and para !~/\A\s*\Z/m + @tuned_file << "0~title #{@md.heading_seg_first}" + @md.title.full=@md.heading_seg_first + @md.set_header_title=true + end + end + @tuned_file << para + end + @tuned_file + end + end + def endnotes #% endnote work zone + data=@data + @tuned_file=[] + endnote_ref=1 + data.each do |para| + case para # manually numbered endnotes --> + when /~\{\s+.+?\}~/ # auto-numbered endnotes --> + para.gsub!(/\s*\}~/,' }~') # required 2003w31 + @word_mode=para.scan(/\S+/) + word_mode=SiSU_ConvertFootnotes::Make.new(@md,@word_mode).endnote_call_number + para=word_mode.join(' ') + endnote_ref+=1 + when /~\^(?:\s|$)|<:e>/ #%Note inserts endnotes previously gathered from /^(|[-~]\{{3})/ (in earlier loop) + word_mode=para.scan(/\S+/) + word_mode=SiSU_ConvertFootnotes::Make.new(@md,word_mode).endnote_call_number + para=word_mode.join(' ') + endnote_ref+=1 + end + @tuned_file << para + end + @tuned_file + end + def endnote_call_number + data=@data + data.each do |word| + case word + when /~\{/ + unless word =~/~\{\*+/ + @@endnote_call_counter+=1 + end + when /~\^|<:e>/ + word.gsub!(/~\^|<:e>/,"#{@@endnote_array[@@endnote_call_counter-1]}") + @@endnote_call_counter+=1 + end + end + end + def strip_clean_extra_spaces(s) # ao output tuned + s=s.dup + s=s.gsub(/[ ]+([,.;:?](?:$|\s))/,'\1') + s=s.gsub(/ [ ]+/,' ') + s=s.gsub(/^ [ ]+/,'') + s=s.gsub(/ [ ]+$/,'') + s=s.gsub(/(<\/[bi]>')[ ]+(s )/,'\1\2') + end + def strip_clean_of_markup(s) # used for digest, define rules, make same as in db clean + s=s.dup + s=s.gsub(/(?:<\/?[ib]>|^:[A-C]~\S+|^[1-6]~\S+|~\{\d+\s.+?\}~)/,'') # markup and endnotes removed + #% same as db clean --> + s=s.gsub(/(.+?)<\/del>/,'DELETED(\1)') # deletions + s=s.gsub(/(\d+)<\/sup>/,'[\1]') + s=s.gsub(/(?: \\;|#{Mx[:nbsp]})+/,' ') #checking source Mx not necessary + s=s.gsub(/\{.+?\.(?:png|jpg|gif).+?\}(?:https?|file|ftp)\\\:\S+ /,' [image] ') # else image names found in search + s=s.gsub(/#{Mx[:lnk_o]}.+?\.(?:png|jpg|gif).+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,' [image] ') # else image names found in search, re-check + s=s.gsub(/\s\s+/,' ') + s=s.strip + end + end +end +__END__ +@particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) +ao_array=@particulars.ao_array # ao file drawn here +#+END_SRC + +* sst_convert_markup.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/sst_convert_markup.rb" +# <> +module SiSU_Modify + require_relative 'sst_identify_markup' # sst_identify_markup.rb + require_relative 'sst_from_xml' # sst_from_xml.rb + require_relative 'utils_response' # utils_response.rb + class ConvertMarkup + include SiSU_Response + def initialize(opt) + @opt=opt + @description='This is a script that contains canned text conversions for reuse' + @warn='WARNING, PROCEED AT YOUR OWN RISK, will make file changes.' + end + def current_match_and_replace + convert_37_to_38 + end + def message(text) + response='' + unless @opt.cmd=~/QQ/ \ + or @opt.act[:quiet][:set]==:on + response=response?(%{#{ text}\nProceed? }) + end + end + def help + print < ./#{s}" + FileUtils::cp("#{pwd}/#{f}","#{pwd}/#{s}") + else "File already exists, < #{s} > will not overwrite" + end + end + end + end + def convert_to_simple_xml_model_sax + SiSU_SimpleXML_ModelSax::Convert.new(@opt).read + end + def convert_to_simple_xml_model_dom + SiSU_simple_xml_model_dom::Convert.new(@opt).read + end + def convert_to_simple_xml_model_node + SiSU_simple_xml_model_node::Convert.new(@opt).read + end + def convert_kdi_to_sst + SiSU_Kdissert::Convert.new(@opt).read + end + def convert_s_xml_to_sst + SiSU_sstFromXML::Convert.new(@opt).read + end + def convert_footnotes + require_relative 'sst_do_inline_footnotes' + SiSU_ConvertFootnotes::Source.new(@opt).read + end + def conversion + #%% do it --------------------------> + if @opt.files \ + and @opt.files.length > 0 + mr=nil + #%% changes to make m match, r replace --------------------------> + if @opt.selections.str =~/--help/ then help + elsif @opt.selections.str =~/(?:convert|to)[=-](?:xml |sxs|sax|sxd|dom|sxn|node)/ + ext=case @opt.selections.str + when /(?:convert|to)[=-](?:xml|sxs|sax)/ then '.sxs.xml' + when /(?:convert|to)[=-](?:sxd|dom)/ then '.sxd.xml' + when /(?:convert|to)[=-](?:sxn|node)/ then '.sxn.xml' + end + message("#{@opt.files.inspect}\n\nWARNING, PROCEED AT YOUR OWN RISK,\noverwriting any equivalent file with the extension #{ext}") + mr=case @opt.selections.str + when /(?:convert|to)[=-](?:sxs|sax|xml )/ then convert_to_simple_xml_model_sax + when /(?:convert|to)[=-](?:sxd|dom)/ then convert_to_simple_xml_model_dom + when /(?:convert|to)[=-](?:sxn|node)/ then convert_to_simple_xml_model_node + else help + end + else + mr=case @opt.selections.str + when /(?:(?:37)?to-?38|--(?:convert|to)[=-](?:current|0.38))/ then convert_37_to_38 + when /(?:(?:38)?to-?37|--(?:convert|to)[=-](?:0.37))/ then convert_38_to_37 + when /(?:36to37)/ then convert_filename_36_to_37 + when /(?:convert|from)[=-]kdi/ then convert_kdi_to_sst + when /(?:(?:convert|from)[=-])?(?:xml_to_sst|xml2sst|sxml|sxs|sxd|sxd)/ then convert_s_xml_to_sst + when /(?:convert|to)[=-]footnotes/ then convert_footnotes + when /convert|default/ then current_match_and_replace + else help + end + end + unless @opt.selections.str =~/kdi/ + match_and_replace=mr + #start_processing =/not used in this example/i + end_processing =/END\s+OF\s+FILE/ + i=@opt.fns + if i =~/(?:\.sst|\.ssm|\.ssi)$/ + @new,@matched,@flag_start,@flag_end,@empty1,@empty2=true,false,false,false,false,false + o="#{i}.bk" #o is for old + markup_version=SiSU_Markup::MarkupIdentify.new(@opt).markup_version? + if (@opt.selections.str=~/37/ and markup_version=~/0.38/) \ + or (@opt.selections.str=~/current|38/ and markup_version=~/0.37/) + puts "#{i} #{markup_version}" + file=File.open(i,'r') + cont=file.readlines + file.close + cont.each do |y| + match_and_replace.each do |m,r,w| + if y =~m \ + and y =~w + if @new + @new=false + File.unlink(o) if File.exist?(o) + File.rename(i,o) + File.unlink(i) if File.exist?(i) + @file=File.new(i,'w') + @matched=true + break + end + end + end + end + if @matched + puts "conversion match in #{i}" unless @opt.act[:quiet][:set]==:on + @flag_start=true + cont.each do |y| + if y =~end_processing + @flag_end=true + end + if @flag_start \ + and not @flag_end + match_and_replace.each do |m,r,w| + if y =~m \ + and y =~w + puts m.inspect + ' -> ' + r unless @opt.act[:quiet][:set]==:on + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + puts "in: #{y}" + end + y.gsub!(m,r) if m and r + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + puts "out: #{y}" + end + end + end + end + @empty1=(y=~/^\s*$/) \ + ? true + : false + @file.puts y unless (@empty1==true and @empty2==true) + @empty2=(y=~/^\s*$/) \ + ? true + : false + end + @file.close + else puts "NO conversion match in #{i}" unless @opt.act[:quiet][:set]==:on + end + else + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + puts "Requested conversion #{@opt.selections.str} markup #{markup_version} identified in #{i}" + end + end + end + end + else puts 'this routine makes permanent changes to the contents of the files matched, as instructed within [no matches]' + end + end + end +end +#%% files to match for this conversion set -------------------------> +require_relative 'hub_options' # hub_options.rb +argv=$* +base_path=Dir.pwd +@opt=SiSU_Commandline::Options.new(argv,base_path) +case @opt.selections.str +when /=kdi/ + SiSU_Modify::ConvertMarkup.new(@opt).conversion +when /(?:36|37|38)?to-?(?:37|38)|--convert|--to|--from|default/ +@opt.files.each do |fns| + @opt.fns=fns + SiSU_Modify::ConvertMarkup.new(@opt).conversion +end +else + @opt.selections.str='--help' + SiSU_Modify::ConvertMarkup.new(@opt).help +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + sst + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/texinfo.org b/org/texinfo.org new file mode 100644 index 00000000..3046df51 --- /dev/null +++ b/org/texinfo.org @@ -0,0 +1,946 @@ +-*- mode: org -*- +#+TITLE: sisu texinfo +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:texinfo: +:wqa +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* texinfo.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/texinfo.rb" +# <> +module SiSU_TexInfo + require_relative 'html' # html.rb + require_relative 'dp' # dp.rb + include SiSU_Param + #include Stamp ... needed removed arbitrarily 2005w05/1 (warnings about undefined flags) + require_relative 'texinfo_format' # texinfo_format.rb + include SiSU_TexInfoFormat + @tex_file=[] + @@tabular="{tabular}" + @@table_pagebreak_counter,@@tex_endnote_call_counter,@@tex_table_flag,@@tex_counter,@@tex_column,@@tex_columns,@@counting=0,0,0,0,0,0,0 + @@column_instruct,@@tex_line_mode,@@tex_word_mode,@@start_table,@@line_mode='','','','','' + @@n,@@copyright,@@tableheader=nil,nil,nil + @@tex_col_w=[] + @@tex_pattern_margin_number="\\\\marginpar.+?\s+" + class Source + include SiSU_Param + include SiSU_TexInfo + def initialize(opt) + @opt=opt + @md=SiSU_Param::Parameters.new(@opt).get + @env=SiSU_Env::InfoEnv.new(@opt.fns) + end + def directories + begin + case @opt.fns + when /\.(?:-|ssm\.)?sst$/ + Dir.mkdir(@env.path.output) unless FileTest.directory?("#{@env.path.output}") + Dir.mkdir(@env.processing_path.texi) unless FileTest.directory?(@env.processing_path.texi) + end + rescue + SiSU_Screen::Ansi.new(opt,$!,$@).rescue do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def read + begin + song + ensure + Dir.chdir(@opt.f_pth[:pth]) + end + end + def song + begin + tool=(@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? "cd #{@md.file.output_path.texinfo.dir} && #{@env.program.texinfo} #{@md.file.base_filename.info}; cd -" + : "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}" + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + && ! @opt.act[:quiet][:set]==:on \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'TexInfo', + tool + ).green_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'TexInfo', + tool + ).green_title_hi + @md=SiSU_Param::Parameters.new(@opt).get + directories + @marshalfile=SiSU_Env::InfoFile.new(@opt.fns).marshal.ao_content + if FileTest.file?(@marshalfile)==true + File.open(@marshalfile) { |f| @@tuned_file=Marshal.load(f)} + #tell.meta_verse_skipped if @opt.selections.str =~/[vVM]/ + else + tex_array=IO.readlines(@opt.fns,'') + SiSU_Metaverse.songsheet(tex_array) + end + tex_array=@@tuned_file + TeXinfoMake.new(@md,tex_array).songsheet + tex_array='' + rescue; STDERR.puts SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],$!,$@).rescue + ensure + end + end + end + class TeXinfoMake + include SiSU_Param + include SiSU_TexInfoFormat + @@tex_1='(?:.+?)+~' #?? debug + @@tabular="{tabular}" + @@tex_pattern_margin_number="\\\\marginpar.+?\s+" + def initialize(md,data) + @md,@data=md,data + @env=SiSU_Env::InfoEnv.new(@md.fns) + @f=SiSU_Env::FileOp.new(@md) + end + def songsheet + begin + data=@data + data=pre(data) + data=endnote(data) + 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.act[:color_state][:set],$!,$@).rescue + ensure + end + end + def pre(data) + data_new=[] + data.each do |dob| + # DEBUG 2003w16 this is a kludge, because i could not get parameters + # from param, Sort out ... revert to more elegant solution + if dob.is =='table' + @@flag['tables']='y' # KLUDGE get from param + end + dob.obj=dob.obj.gsub(/<:p[bn]>/,''). + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1(\2 [linked to:] \3)'). + gsub(/(^|#{Mx[:gl_c]}|\s)\{(.+?)\}((?:https?|file):\/\/\S+)/,'\1(\2 [linked to:] \3)') + do_mono=SiSU_TexInfoFormat::Texinfo.new(@md,dob) + dob.obj=do_mono.spec_char(dob.obj) + data_new << dob + end + data_new + end + def endnote(data) + data_new=[] + data.each do |dob| + if dob.of==:para \ + || dob.of==:block + dob.obj=dob.obj.gsub(/\s*#{Mx[:en_a_o]}(?:\d+)\s+(.+?)#{Mx[:en_a_c]}/m,' @footnote{ \1} '). + gsub(/\s*#{Mx[:en_a_o]}(\*+)\s+(.+?)#{Mx[:en_a_c]}/m,' @footnote{ \1} ') + end + data_new << dob + end + data_new + end + def poem + data,data_new=@data,[] + @tex_file=[] + @@counting=0 + data.each do |dob| + if dob.is ==:code + @@flag['code']=true + @@counting=1 + end + if dob.is ==:verse + @@flag['poem']=1 + end + if @@flag['code'] + if @@flag['code'] \ + && (dob.obj =~ /#{Mx[:gr_o]}code[-_](?:end|close)#{Mx[:gr_c]}/) #watch change not tested 200501 #fix + @@flag['code']=false + end + if @@flag['code'] \ + && (dob.obj =~ /\S/) + sub_array=dob.obj.dup + @@line_mode=sub_array.scan(/.+/) + Tune.code_lines(@@line_mode) + dob.obj=@@line_mode.join + end + elsif @@flag['poem']==1 + if @@flag['poem']==1 \ + && (dob.obj =~ /#{Mx[:gr_o]}verse[-_](?:end|close)#{Mx[:gr_c]}/) #watch change not tested 200501 #fix + @@flag['poem']=0 + end + if @@flag['poem']==1 \ + && (dob.obj =~ /\S/) + sub_array=dob.obj.dup + @@line_mode=sub_array.scan(/.+/) + Tune.code_lines(@@line_mode) + dob.obj=@@line_mode.join + end + end + @tex_file << dob.obj + data_new << dob + end + data_new + end + def code_lines + data,data_new=@data,[] + data.each do |line| + if (line =~ /\S/) \ + && (line !~ /#{Mx[:gr_o]}(code|verse).+/) #fix + line=if @@flag['code'] + line.gsub(/^\s*(.+)/m,"\\noindent \\marginpar\[left-text\]{\\begin{tiny}#{@@counting}\\end{tiny}}\\1\\") + @@counting+=1 if @@flag['code'] + else line.gsub(/(.+)/m,'\noindent\1') + end + end + data_new << line + end + end + def tables + data,data_new=@data,[] + @tex_file=[] + @@tableheader=0 + data.each do |dob| + if dob.obj =~ /#{Mx[:tc_p]}|#{Mx[:gr_o]}T/ui #fix + do_mono=SiSU_TexInfoFormat::Texinfo.new(@md,dob) + dob.obj=do_mono.longtable # using longtable latex package + end + @tex_file << dob.obj + data_new << dob + end + data_new + end + def markup(data) + data_new=[] + @tex_file=[] + @row_break='\\\\\\' + @break_page="#{@row_break}\n#{@row_break} \n" + @tex_file << SiSU_TexInfoFormat::Texinfo.new(@md).head + mono=SiSU_TexInfoFormat::Texinfo.new(@md) + @tex_file << mono.topnode(@md.title.full) + texinfo_menu=[] + n_menu,n_submenu=0,0 + @submenu,@subsubmenu={},{} + data.each do |dob| + if dob.is ==:heading \ + && (dob.ln.to_s =~ /^[0-3]$/) + toc=SiSU_TexInfoFormat::Texinfo.new(@md,dob) + texinfo_menu << toc.menu + elsif dob.is ==:heading \ + && (dob.ln.to_s =~ /^[4-6]$/) + toc=SiSU_TexInfoFormat::Texinfo.new(@md,dob) + texinfo_menu << toc.menu + case dob.ln + when 4 + n_menu+=1 + @submenu[n_menu]=[] + when 5 + n_submenu+=1 + @subsubmenu[n_menu]=[] + @submenu[n_menu] << toc.menu + when 6 + n_submenu+=1 + @subsubmenu[n_submenu]=[] + @subsubmenu[n_submenu] << toc.menu + end + else + dob.obj=dob.obj.gsub(/\s*(?:<:?br>|
)\s*/,"\n\n") + end + data_new << dob + end + data=data_new + texinfo_menu=texinfo_menu.compact + texinfo_menu << "* Dublin Core::" + @tex_file << texinfo_menu + @tex_file << "* Index::\n" + + "@end menu\n\n" + + "@c %% 5\n\n" + n_menu,n_submenu=0,0 + @@do_submenu,@@do_subsubmenu=1,1 + data_new=[] + data.each do |dob| + unless defined? dob.ln and dob.ln == (5..6) + mono=SiSU_TexInfoFormat::Texinfo.new(@md,dob) + end + if dob.is==:heading + case dob.ln + when 0 then dob=mono.level0 + when 1 then dob=mono.level1 + when 2 then dob=mono.level2 + when 3 then dob=mono.level3 + when 4; + @@n4_txt=dob.obj + dob=mono.level4 + n_menu+=1 + @@do_submenu,@@do_subsubmenu=1,1 + when 5; + n_submenu+=1 + @@do_subsubmenu=1 + @@n5_txt=dob.obj + if @@do_submenu==1 + menu=SiSU_TexInfoFormat::TeXinfoTxt.new(@md,dob,@submenu[n_menu]) + dob.obj="#{menu.submenu}#{SiSU_TexInfoFormat::Texinfo.new(@md,dob,@@n4_txt).level5.obj}" + @@do_submenu=0 + else dob.obj="#{SiSU_TexInfoFormat::Texinfo.new(@md,dob,@@n4_txt).level5.obj}" + end + when 6; + if @@do_submenu==1 + menu=SiSU_TexInfoFormat::TeXinfoTxt.new(@md,dob,@submenu[n_menu]) + dob.obj="#{menu.submenu}#{SiSU_TexInfoFormat::Texinfo.new(@md,dob,@@n5_txt).level6.obj}" + dob.obj="#{menu.subsubmenu}#{mono.level6.obj}" + @@do_subsubmenu=0 + else dob.obj="#{SiSU_TexInfoFormat::Texinfo.new(@md,dob,@@n5_txt).level6.obj}" + end + end + else + if dob.obj !~/\S/ + dob.obj=nil + else + if dob.is==:para \ + && (dob.obj !~/#{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}/) + dob.obj=dob.ocn.is_a?(Fixnum) \ + ? "#{dob.obj} #{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}\n\n" : "#{dob.obj}\n\n" + end + end + end + #%case with endnotes + dob.obj=dob.obj.gsub(/\s*[0-8]\\+(\S+)?\s+/,' ') if dob.obj + data_new << dob + end + [data_new, @tex_file] + end + def number_titles + data,data_new=@data,[] + @tex_file=[] + data.each do |dob| + if (@md.markup =~ /num_top/i) \ + && (dob.obj !~ /#{Rx[:meta]}/) + if (dob.obj =~ /^[1-6]\\+(?:~\S+)?\s*/) \ + && (dob.obj !~ /<:\d-endnotes>/) + header=dob.obj[//m, 1].gsub(/-/m,'.') + dob.obj=dob.obj.gsub(/^(?:[1-6]\\+(?:~\S+)|<:([12356]|4-.+?-)>)\s*/, + "\\1 #{header} ") + end + elsif dob.obj=~ /|||/ + if dob.obj=~ // + dob.obj=dob.obj.gsub(//,'\1 ') + end + end + @tex_file << dob.obj + end + data_new << dob + end + def tail(data) + tex=SiSU_TexInfoFormat::Texinfo.new(@md) + objs_txt=[] + data.each do |dob| + if dob.obj \ + && (dob.is !=:structure \ + && dob.is !=:comment) + objs_txt << dob.obj if dob.obj + end + end + objs_txt << tex.dublincore << tex.tail + objs_txt + end + def output(data) + filename_texinfo=%{#{@env.processing_path.texi}/#{@md.fnb}.texinfo} + file_texinfo=File.new(filename_texinfo,'w+') + puts filename_texinfo if @md.opt.act[:maintenance][:set]==:on + data.each {|s| (file_texinfo.puts s,"\n") if s} + file_texinfo.close + end + def makeinfo + if @md.fns =~/\.(?:-|ssm\.)?sst$/ + m=/(.+?)\.((?:-|ssm\.)?sst)$/.match(@md.fns) + fnb,sfx=m[1],m[2] + pwd=Dir.pwd + case sfx + when /(?:-|ssm\.)?sst$/ + @env=SiSU_Env::InfoEnv.new(@md.fns,@md.opt.selections.str) + Dir.chdir(@env.processing_path.texi) + texinfo=SiSU_Env::SystemCall.new("#{fnb}.texinfo") + texinfo.makeinfo + end + Dir.chdir(pwd) + end + def place_info + unless FileTest.directory?(@f.output_path.texinfo.dir) + FileUtils::mkdir_p(@f.output_path.texinfo.dir) + end + info_src=%{#{@env.processing_path.texi}/#{@md.fnb}.info} + Dir.glob("#{info_src}*").sort.each do |f| + FileUtils::cp(f, File.dirname(@f.place_file.info.dir)) # bug should provide dir without need to extract it! + end + end + end + end +end +__END__ +#+END_SRC + +* texinfo_format.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/texinfo_format.rb" +# <> +module SiSU_TexInfoFormat + @@table_pg_break_counter=1 + require_relative 'dp' # dp.rb + include SiSU_Param + class Texinfo + @@tex_1='\\\\~' #?? debug + @@tabular="{tabular}" + @@tex_pattern_margin_number="\\\\marginpar.+?\s+" + def initialize(md,dob=nil,up='') + @md,@dob,@up=md,dob,up + if dob.is_a?(Hash) + p dob.class + p caller + elsif dob.is_a?(String) + p dob.class + p caller + end + end + def head + t=Time.now + year=t.year + title=spec_char(@md.title.full) + title=title.gsub(/<(br|p|i)>|<\/\s*(br|p|i)>|<(br|p)\s*\/>/," #{Tex[:backslash]*2} "). + gsub(/\$/,"\\$"). + gsub(/[,]\s*/,' - ') + if @md.title.sub + subtitle=spec_char(@md.title.sub) + subtitle=subtitle.gsub(/<(br|p|i)>|<\/\s*(br|p|i)>|<(br|p)\s*\/>/," #{Tex[:backslash]*2} "). + gsub(/\$/,"\\$"). + gsub(/[,]\s*/,' - ') + subtitle="\n@subtitle #{subtitle}\n" + end + subtitle ||='' + author=@md.author if @md.author + author ||='' + author=author.gsub(/[\*]/,'') #if author + #SiSU_Env::InfoVersion.instance.get_version + head =<|<\/\s*(br|p|i)>|<(br|p)\s*\/>/," #{Tex[:backslash]*2} "). + gsub(/\$/,"\\$"). + gsub(/[,]\s*/,' - ') + "@c %% 4\n" + + "@ifnottex\n" + + "@node Top\n" + + "@top #{txt}\n\n" + + "@insertcopying\n" + + "@end ifnottex\n\n" + + "@menu\n" + end + def dublincore + if defined? @md.title.full \ + and @md.title.full=~/\S+/ + full_title=spec_char(@md.title.full) + end + if defined? @md.creator.author \ + and @md.creator.author=~/\S+/ + author=spec_char(@md.creator.author) + end + if defined? @md.publisher \ + and @md.publisher=~/\S+/ + publisher=spec_char(@md.publisher) + end + if defined? @md.creator.contributor \ + and @md.creator.contributor=~/\S+/ + contributor=spec_char(@md.contributor) + end + if defined? @md.date.published \ + and @md.date.published=~/\S+/ + date=spec_char(@md.date.published) + end + if defined? @md.date.created \ + and @md.date.created=~/\S+/ + date_created=spec_char(@md.date.created) + end + if defined? @md.date.issued \ + and @md.date.issued=~/\S+/ + date_issued=spec_char(@md.date.issued) + end + if defined? @md.date.available \ + and @md.date.available=~/\S+/ + date_available=spec_char(@md.date.available) + end + if defined? @md.date.valid \ + and @md.date.valid=~/\S+/ + date_valid=spec_char(@md.date.valid) + end + if defined? @md.date.modified \ + and @md.date.modified=~/\S+/ + date_modified=spec_char(@md.date.modified) + end + if defined? @md.classify.subject \ + and @md.classify.subject=~/\S+/ + subject=spec_char(@md.classify.subject) + end + if defined? @md.notes.description \ + and @md.notes.description=~/\S+/ + description=spec_char(@md.description) + end + if defined? @md.notes.coverage \ + and @md.notes.coverage=~/\S+/ + coverage=spec_char(@md.notes.coverage) + end + if defined? @md.notes.relation \ + and @md.notes.relation=~/\S+/ + relation=spec_char(@md.notes.relation) + end + #type=spec_char(@md.type) if @md.type #dc + if defined? @md.notes.format \ + and @md.notes.format=~/\S+/ + format=spec_char(@md.notes.format) + end + #if defined? @md.identifier.sisupod \ + #and @md.identifier.sisupod=~/\S+/ + # identifier=spec_char(@md.identifier.sisupod) + #end + if defined? @md.original.source \ + and @md.original.source=~/\S+/ + source=spec_char(@md.original.source) + end + if defined? @md.title.language \ + and @md.title.language=~/\S+/ + language=spec_char(@md.title.language) + end + if defined? @md.rights.all \ + and @md.rights.all=~/\S+/ + rights=spec_char(@md.rights.all) + end + rights=spec_char(@md.rights.all) + full_title="Title: #{full_title}\n\n" if full_title #dc + author="Author: #{author}\n\n" if author #dc + subject="Subject: #{subject}\n\n" if subject #dc + description="Description: #{description}\n\n" if description #dc + publisher="Publisher: #{publisher}\n\n" if publisher #dc + contributor="Contributor: #{contributor}\n\n" if contributor #dc + date="Date: #{date}\n\n" if date #dc + date_created="Date Created: #{date_created}\n\n" if date_created #dc + date_issued="Date Issued: #{date_issued}\n\n" if date_issued #dc + date_available="Date Available: #{date_available}\n\n" if date_available #dc + date_valid="Date Valid: #{date_valid}\n\n" if date_valid #dc + date_modified="Date Modified: #{date_modified}\n\n" if date_modified #dc + format="Format: #{format}\n\n" if format #dc + identifier="Identifier: #{identifier}\n\n" if identifier #watch #dc + source="Source: #{source}\n\n" if source #dc + language="Language: #{language}\n\n" if language #dc + relation="Relation: #{relation}\n\n" if relation #dc + coverage="Coverage: #{coverage}\n\n" if coverage #dc + rights="Rights: #{rights}\n\n" if rights #dc + <'). + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{').gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}'). + gsub(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/i,'~'). + gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!'). + gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#'). + gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*'). + gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/'). + gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_'). + gsub(/#{Mx[:gl_o]}#092#{Mx[:gl_c]}/,'\\'). + gsub(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})\s*/,"\n\n"). # watch + gsub(/&atild;<\/font><\/sup>/,' '). + #gsub(/\\/,'\\backslash '). + gsub(/<:pb>/,'\\newpage'). + gsub(/\\backslash copyright/,'\\copyright '). + gsub(/\^/,'\\wedge '). + gsub(/(\$)/,"\\$"). + gsub(/\~/,'\\~'). + gsub(/#{Mx[:url_o]}(https?:\S+?)#{Mx[:url_c]}/,'<\1>'). + gsub(/#{Mx[:url_o]}_(https?:\S+?)#{Mx[:url_c]}/,'\1'). + gsub(/§/i,'\S'). + gsub(/£/i,'\pounds'). + gsub(/å/,'\aa').gsub(/Å/,'\AA'). + gsub(/æ/,'\ae').gsub(/Æ/,'\AE'). + gsub(/ø/,'\o').gsub(/Ø/,'\O'). + gsub(/
/i,' '). + gsub(/<\/a>/i,' '). + gsub(//i,' '). + gsub(/#{Mx[:br_paragrph]}/i,''). #watch + gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'*\1*'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'/\1/'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'_\1_'). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,'[\1]'). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'^\1^'). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'+\1+'). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'"\1"'). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'-\1-'). + gsub(/@/i,'@@'). + gsub(/\{/,'@{').gsub(/\}/,'@}'). + gsub(/(?: |#{Mx[:nbsp]})+/,' '). # ~ character for hardspace + gsub(/&(\S+?);/,' '). + gsub(/&/,'<=and>'). + gsub(/(\s+&\s+)/,' and '). + gsub(/(\&)/,"\\&"). + gsub(/"(.+?)"/,"`\\1'"). # open & close " + gsub(/\s+"/," `"). # open " + gsub(/^([1-6-]\\+(?:~\S+)?|<.+?>)?\s*"/,'\1`'). # open " + gsub(/"(\s|\.|,|:|;)/,"'\\1"). # close " + gsub(/"([1-6-]\\+(?:~\S+)?|<.+?>)?\s*$/,"'\\1"). # close " + gsub(/"(\.|,)/,"'"). # close " + gsub(/\s+'/," `"). # open ' + gsub(/^([1-6-]\\+(?:~\S+)?|<.+?>)?\s*'/,'\1`'). # open ' + gsub(/(|<\/font>)/,'') + end + def longtable + @end_table="\\end{longtable}" + @row_break='\\\\\\' + if @dob[/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}\s+c(\d+);(.+?)#{Mx[:gr_c]}/ui] #CHECK !> closure #fix + no_of_cols,cols_width=$1,$2 + @@tableheader=1 if @dob =~ /#{Mx[:gr_o]}Th/i #fix + @w=cols_width.split(/;\s+/) + @@number_of_cols=no_of_cols + @colW=[] + @colW << '{' + @w.each do |x| + col_w=x.gsub(/.+/,'l\|') #unless x.nil? + @colW << "#{col_w}" if col_w + end + @colW << '}' + @colW=@colW.join + @@start_table="\\setlength{\\LTleft}{0pt}\n\\setlength{\\LTright}{\\fill}\n" + + "\\begin{longtable}[hb]#{@colW}\n" + @dob.obj=@dob.obj.gsub(/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}\s+c\d+?;.+#{Mx[:gr_c]}/u,"#{@@start_table}") #fix + end + if @dob =~/#{Mx[:gr_o]}TZ#{Mx[:gr_c]}/ #fix + @dob.obj=@dob.obj.gsub(/#{Mx[:gr_o]}TZ#{Mx[:gr_c]}/," #{@end_table}") #fix + end + @dob.obj=@dob.obj.gsub(/#{Mx[:tc_o]}#{Mx[:tc_p]}/u,'') + if @@tableheader==1 + if @dob =~/#{Mx[:tc_p]}\d+?#{Mx[:tc_p]}(.+?)(?:#{Mx[:tc_p]}|!)/u + tablefoot=para[/\/,1] + @dob.obj=@dob.obj.gsub(/\/,''). + gsub(/#{Mx[:tc_p]}\d+?#{Mx[:tc_p]}(.+?)(?:#{Mx[:tc_p]}|!)/u, + "{\\begin{tiny} {\\bfseries \\1}\\end{tiny}}&"). + gsub(/&>\s*$/, + " #{@row_break} \\hline\\endhead #{@row_break}") + @dob="#{@dob} \\multicolumn{#{@@number_of_cols}}{l}{\\tiny #{tablefoot}} \\\\ \\hline\n\\endfoot\n\\hline\n" if tablefoot + @@tableheader=0 + @@number_of_cols=0 + end + else + if @dob =~/#{Mx[:tc_p]}\d+?#{Mx[:tc_p]}(.+?)(?:#{Mx[:tc_p]}|!)/u + @dob.obj=@dob.obj.gsub(/#{Mx[:tc_p]}\d+?#{Mx[:tc_p]}(.+?)(?:#{Mx[:tc_p]}|!)/u,"\\begin{tiny}\\1\\end{tiny}&"). + gsub(/&>\s*$/," #{@row_break}") + end + end + @dob + end + def scopedtable + # some features related to headers have been incorporated in longtable + # that are not included yet here, so until synced is broken on some + # input files, work needs to be done if is to work as before + @end_table="\\end{tabular}" + @row_break='\\\\\\\\' + @break_page="#{@row_break}\n#{@row_break} \n" + if @dob[/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}\s+c(\d+);(.+?)#{Mx[:gr_c]}/ui] #fix + cols_width=$2 + @w=cols_width.split(/;\s+/) + @colW=[] + @w.each do |x| + col_w=((x.to_i*12)/100.00).to_s #unless x.nil? + @colW << "p{#{col_w}cm}" if col_w + end + @@start_table="\\begin{tabular}{#{@colW}}\n" + @dob.obj=@dob.obj.gsub(/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}\s+c\d+?;.+#{Mx[:gr_c]}/u,"#{@@start_table}") #fix + end + if @dob =~/#{Mx[:gr_o]}TZ#{Mx[:gr_c]}/ #fix + @dob.obj=@dob.obj.gsub(/#{Mx[:gr_o]}TZ#{Mx[:gr_c]}/,"#{@end_table}") #fix + @@table_pg_break_counter=1 + end + if @dob =~/#{Mx[:tc_o]}#{Mx[:tc_p]}/u + if @@table_pg_break_counter==28 # taken from 34 ideal for portrait to 28 which suits landscape + @dob = + "\n\n#{@end_table} \n" + + "#{@break_page}" + + "#{@@start_table}\n" + @@table_pg_break_counter=1 + else + @dob.obj=@dob.obj.gsub(/#{Mx[:tc_o]}#{Mx[:tc_p]}/u,'') + @@table_pg_break_counter+=1 + @dob.obj=@dob.obj.gsub(/\/,'') + end + end + if @dob =~/#{Mx[:tc_p]}\d+?#{Mx[:tc_p]}(.+?)(?:#{Mx[:tc_p]}|!)/u + @dob.obj=@dob.obj.gsub(/#{Mx[:tc_p]}\d+?#{Mx[:tc_p]}(.+?)(?:#{Mx[:tc_p]}|!)/u,"\\begin{tiny}\\1\\end{tiny}&"). + gsub(/&>\s*$/,"#{@row_break}") + end + @dob + end + def graphics + dir=SiSU_Env::InfoEnv.new(@md.fns) + @dob.obj=@dob.obj.gsub(/<::\s+(\S+?)\s+>/i, #watch + "\\includegraphics*[width=11pt]{#{dir.path.image_source_include}/c_\\1.png}") + end + def image + dir=SiSU_Env::InfoEnv.new(@md.fns) + width="100" + width=@dob[/<:image.+?width=``(\d+)''.+?>/im,1] + width=width.to_i*0.4 + @dob.obj=@dob.obj.gsub(/<:image\s+((?:https?|file|ftp)\S+)\s+(\S+)\s+.+\s+?>/i, + "\\href{\\1}{\\includegraphics*[width=#{width}pt]{#{dir.path.image_source_include}/\\2}}"). + gsub(/<:image\s+(\S+)\s+.+\s+?>/i, + "\\includegraphics*[width=#{width}pt]{#{dir.path.image_source_include}/\\1}") + end + def png + # very messy clean up ! - work area, testing + z=@dob[/\\\{(.+?)\}(?:image|png)/,1] # match operator for z \\ fragile ! + image=z.scan(/\S+/)[0] #image,w,x,y=z.scan(/\S+/) + image=image.gsub(/\\/,'') + @dob.obj=@dob.obj.gsub(/\\\{\S+\.(png|jpg|gif).+?\}(image|png)/,"") # fragile match operator\\ fragile ! + end + def http + # very messy clean up ! - work area, testing + z=@dob[/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,1] # match operator for z \\ fragile ! + url=@dob[/((?:https?|file|ftp):\S+)/im,1] + if @dob =~/\.(png|jpg|gif)/ + image=z.scan(/\S+/)[0] #image,w,x,y=z.scan(/\S+/) + image=image.gsub(/\\/,'') + width=200 + width=z[/w=(\d+)/im,1] if z =~/w=(\d+)/ + width=width.to_i*0.8 + width=400 if width > 400 + c=z[/``(.+?)''/im,1] + caption="{\\\\\\\ \n\\begin{scriptsize}#{c}\\end{scriptsize}&}" if c + end + if image + dir=SiSU_Env::InfoEnv.new(@md.fns) + @dob.obj=@dob.obj.gsub(/#{Mx[:lnk_o]}\S+\.(png|jpg|gif).+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/, # fragile match operator\\ fragile ! + "\n\\href{#{url}}{\\includegraphics*[width=#{width}pt]{#{dir.path.image_source_include}/#{image}}}#{caption}") + else + link=z[/(.+?)\\/im,1] + @dob.obj=@dob.obj.gsub(/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+#{Mx[:url_c]}/,"\n\\noindent\\href{#{url}}{#{link}}") # fragile match operator\\ fragile ! + end + end + end + class TeXinfoTxt + def initialize(md,dob,txt) + @md,@dob,@txt=md,dob,txt + end + def clean(dob,txt) + if dob.is==:heading \ + and txt !~/#{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}/ + txt=dob.ocn.is_a?(Fixnum) \ + ? "#{dob.obj} #{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}" : dob.obj + end + txt.strip + end + def submenu + txt=@txt.join("\n") + txt=clean(@dob,txt) + txt="@menu\n#{txt}\n@end menu\n\n" + txt=txt.gsub(/.+/m,"#{txt}") + end + def subsubmenu + txt=@txt.join("\n") + txt=clean(@dob,txt) + txt="@menu\n#{txt}\n@end menu\n\n" + txt=txt.gsub(/.+/m,"#{txt}") + end + end +end +__END__ +watch title, might need full_title +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + texinfo + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/texpdf.org b/org/texpdf.org new file mode 100644 index 00000000..3aa25fcd --- /dev/null +++ b/org/texpdf.org @@ -0,0 +1,2969 @@ +-*- mode: org -*- +#+TITLE: sisu tex pdf +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:texpdf: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* texpdf +** texpdf.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/texpdf.rb" +# <> +module SiSU_TeX + begin + require 'pstore' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('pstore NOT FOUND (LoadError)') + end + require_relative 'texpdf_parts' # texpdf_parts.rb + require_relative 'se_hub_particulars' # se_hub_particulars.rb + include SiSU_Particulars + require_relative 'texpdf_format' # texpdf_format.rb + include SiSU_TeX_Pdf + require_relative 'shared_metadata' # shared_metadata.rb + require_relative 'prog_text_translation' # prog_text_translation.rb + @tex_file=@@tex_footnote_array=@@tex_col_w=[] + @@tabular="{tabular}" + @@column_instruct=@@squigle_close=@@tex_line_mode=@@tex_word_mode=@@line_mode='' + @@tex_debug_counter=@@table_pagebreak_counter=@@tex_footnote_call_counter=@@tex_table_flag=@@tex_counter=@@tex_column=@@tex_columns=@@tex_columns=@@counting=0 + @@tex_pattern_margin_number=/\\\\begin\\\{tiny\\\}\\\\hspace\\\{0mm\\\}\\\\end\\\{tiny\\\}\\\{\\\\marginpar.+?\s+/ + @@n=@@tableheader=@@rights=nil + @@date ||=SiSU_Env::InfoDate.new + class Source + begin + require 'pstore' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('pstore NOT FOUND (LoadError)') + end + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'ao' # ao.rb + include SiSU_AO + include SiSU_TeX + def initialize(opt) + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + @md=@particulars.md + @env=SiSU_Env::InfoEnv.new(@md.fns) #@env=@particulars.env + end + def directories + begin + case @opt.fns + when /\.(?:-|ssm\.)?sst$/ + SiSU_Env::FileOp.new(@md).mkdir + Dir.mkdir(@env.processing_path.tex) unless FileTest.directory?(@env.processing_path.tex) + end + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def read + begin + song + ensure + Dir.chdir(@opt.f_pth[:pth]) + end + end + def song + begin + @md=@particulars.md + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'LaTeX/PDF', + "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}" + ).green_title_hi unless @opt.act[:quiet][:set]==:on + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + @env.url.output_tell + if @md.opt.act[:pdf_l][:set]==:on + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + @opt.fns, + "#{@env.program.pdf_viewer} #{@md.file.output_path.pdf.dir}/#{@md.file.base_filename.pdf_l}#{@md.papersize_array[0]}.pdf" + ).flow + end + if @md.opt.act[:pdf_p][:set]==:on + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + @opt.fns, + "#{@opt.fns} #{@env.program.pdf_viewer} #{@md.file.output_path.pdf.dir}/#{@md.file.base_filename.pdf_p}#{@md.papersize_array[0]}.pdf" + ).flow + end + end + @md=@particulars.md + $flag=@md.opt.selections.str #introduced to pass 0 for no object citation numbers... to texpdf_format + directories + #% needed needs to be reprogrammed !!! + ao_array=SiSU_AO::Source.new(@opt).get # ao file drawn here + SiSU_TeX::Source::LaTeXcreate.new(@particulars).songsheet + ao_array='' + pwd=Dir.pwd + SiSU_TeX::Source::LaTeXtoPdf.new(@md,@particulars.env).latexrun_selective + Dir.chdir(pwd) + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + unless (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + texfiles=Dir["#{@env.processing_path.tex}/#{@opt.fns}*"] + texfiles.each do |f| + if FileTest.file?(f) + File.unlink(f) + end + end + end + @tex_file=@@tex_footnote_array=[] + @@column_instruct='' + @@squigle_close=@@tex_line_mode=@@tex_word_mode=@@line_mode='' + @@tex_debug_counter=@@table_pagebreak_counter=@@tex_footnote_call_counter=@@tex_table_flag=@@tex_counter=@@tex_column=@@tex_columns=@@tex_columns=@@counting=0 + @@tex_col_w=[] + @@n=@@tableheader=@@rights=nil + @@date=SiSU_Env::InfoDate.new + @@flag={} + $flag=1 #remove at some stage + SiSU_Env::Clear.new(@opt.selections.str,@opt.fns).param_instantiate + end + end + private + class LaTeXtoPdf + @@n_lpdf||=0 #change + def initialize(md,env) + @md,@env=md,env + @f=SiSU_Env::FileOp.new(@md).base_filename + end + def latex_do(texfilename,papersize) + @texfilename=texfilename + @@n_lpdf=@@n_lpdf+1 + tex_fn_base=@texfilename.gsub(/\.tex$/,'') + tell=SiSU_Screen::Ansi.new(@md.opt.selections.str) + if @md.opt.act[:pdf_p][:set]==:on + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + "#{papersize} portrait ->" + ).dark_grey_title_hi + end + cmd=SiSU_Env::SystemCall.new("#{tex_fn_base}.tex",'',@md.opt.selections.str) + if @md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on + tell.grey_open + end + if "#{tex_fn_base}" =~/\w+/ \ + and "#{papersize}" =~/\w+/ + 2.times { |i| cmd.latex2pdf(@md,papersize) } #comment out to skip processing of latex portrait + end + if @md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on + tell.p_off + end + end + if @md.opt.act[:pdf_l][:set]==:on + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + "#{papersize} landscape ->" + ).dark_grey_title_hi + end + cmd=SiSU_Env::SystemCall.new("#{tex_fn_base}.landscape.tex",'',@md.opt.selections.str) + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + tell.grey_open + end + if "#{tex_fn_base}" =~/\w+/ \ + and "#{papersize}" =~/\w+/ + 2.times { |i| cmd.latex2pdf(@md,papersize) } #comment out to skip processing of latex landscape + end + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + tell.p_off + end + end + pwd=Dir.pwd + if @md.opt.act[:pdf_p][:set]==:on + portrait_pdf="#{pwd}/#{tex_fn_base}.pdf" + end + if @md.opt.act[:pdf_l][:set]==:on + landscape_pdf="#{pwd}/#{tex_fn_base}.landscape.pdf" + end + case papersize + when /a4/ then pdf_p=@f.pdf_p_a4; pdf_l=@f.pdf_l_a4 + when /a5/ then pdf_p=@f.pdf_p_a5; pdf_l=@f.pdf_l_a5 + when /b5/ then pdf_p=@f.pdf_p_b5; pdf_l=@f.pdf_l_b5 + when /letter/ then pdf_p=@f.pdf_p_letter; pdf_l=@f.pdf_l_letter + when /legal/ then pdf_p=@f.pdf_p_legal; pdf_l=@f.pdf_l_legal + else pdf_p=@f.pdf_p_a4; pdf_l=@f.pdf_l_a4 + end + FileUtils::mkdir_p(@md.file.output_path.pdf.dir) unless FileTest.directory?(@md.file.output_path.pdf.dir) + cX=SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set]).cX + if @md.opt.act[:pdf_p][:set]==:on + if FileTest.file?(portrait_pdf) + FileUtils::cp(portrait_pdf,"#{@md.file.output_path.pdf.dir}/#{pdf_p}") + FileUtils::rm(portrait_pdf) + else + STDERR.puts "#{__FILE__}:#{__LINE__} NOT FOUND: #{portrait_pdf}" if @md.opt.act[:maintenance][:set]==:on + errmsg="pdf file not generated #{portrait_pdf.gsub(/.+?([^\/]+?\.pdf)$/,'\1')} (check texlive dependencies)" + if @md.opt.act[:no_stop][:set]==:on + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error("#{errmsg}, proceeding without pdf output (as requested)") + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error("#{errmsg}, STOPPING") + exit + end + end + end + if @md.opt.act[:pdf_l][:set]==:on + if FileTest.file?(landscape_pdf) + FileUtils::cp(landscape_pdf,"#{@md.file.output_path.pdf.dir}/#{pdf_l}") + FileUtils::rm(landscape_pdf) + else + STDERR.puts "#{__FILE__}:#{__LINE__} NOT FOUND: #{landscape_pdf}" if @md.opt.act[:maintenance][:set]==:on + errmsg="pdf file not generated #{landscape_pdf.gsub(/.+?([^\/]+?\.pdf)$/,'\1')} (check texlive dependencies)" + if @md.opt.act[:no_stop][:set]==:on + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error("#{errmsg}, proceeding without pdf output (as requested)") + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error("#{errmsg}, STOPPING") + exit + end + end + end + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + @@n_lpdf, + 'processed (SiSU LaTeX to pdf - using pdfetex aka. pdftex or pdflatex)' + ).generic_number + end + end + def latexrun_selective + begin + pwd=Dir.pwd + Dir.chdir(pwd) #watch + @tex_f_no=0 + if FileTest.file?(@env.source_file_with_path) + @md.papersize_array.each do |ps| + if @md.fns =~/\.(?:-|ssm\.)?sst$/ + case @md.fns + when /\.(?:-|ssm\.)?sst$/ + if FileTest.directory?(@env.processing_path.tex)==true + Dir.chdir(@env.processing_path.tex) + texfile=@md.fns.gsub(/$/,".#{ps}.tex"). + gsub(/~/,'-') + if @md.opt.act[:pdf_p][:set]==:on \ + or @md.opt.act[:pdf_l][:set]==:on + latex_do(texfile,ps) + if @md.opt.act[:pdf_p][:set]==:on + if File.exist?(texfile) \ + and File.size(texfile) > 0 + #@tex_f_no+=1 + else + errmsg="zero file size #{@env.processing_path.tex}/#{texfile}" + if @md.opt.act[:no_stop][:set]==:on + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error("#{errmsg}, proceeding without pdf output (as requested)") + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error("#{errmsg}, STOPPING") + exit + end + end + end + end + end + end + end + end + case @md.papersize_array[0] #default pdf + when /a4/ then pdf_p=@f.pdf_p_a4; pdf_l=@f.pdf_l_a4 + when /a5/ then pdf_p=@f.pdf_p_a5; pdf_l=@f.pdf_l_a5 + when /b5/ then pdf_p=@f.pdf_p_b5; pdf_l=@f.pdf_l_b5 + when /letter/ then pdf_p=@f.pdf_p_letter; pdf_l=@f.pdf_l_letter + when /legal/ then pdf_p=@f.pdf_p_legal; pdf_l=@f.pdf_l_legal + else pdf_p=@f.pdf_p_a4; pdf_l=@f.pdf_l_a4 + end + if @md.opt.act[:pdf_p][:set]==:on + if FileTest.file?("#{@md.file.output_path.pdf.dir}/#{pdf_p}") + mklnk=((@md.file.output_dir_structure.by_language_code?) \ + || (@md.file.output_dir_structure.by_filetype?)) \ + ? "#{@md.fnb}.portrait.pdf" + : 'portrait.pdf' + if FileTest.directory?(@md.file.output_path.pdf.dir) + pwd=Dir.pwd + Dir.chdir(@md.file.output_path.pdf.dir) + FileUtils::rm_f(mklnk) + FileUtils::ln_s(pdf_p, mklnk) + Dir.chdir(pwd) + end + end + end + if @md.opt.act[:pdf_l][:set]==:on + if FileTest.file?("#{@md.file.output_path.pdf.dir}/#{pdf_l}") + mklnk=((@md.file.output_dir_structure.by_language_code?) \ + || (@md.file.output_dir_structure.by_filetype?)) \ + ? "#{@md.fnb}.landscape.pdf" + : 'landscape.pdf' + pwd_set=Dir.pwd + Dir.chdir(@md.file.output_path.pdf.dir) + FileUtils::rm_f(mklnk) + FileUtils::ln_s(pdf_l, mklnk) + Dir.chdir(pwd_set) + end + end + else + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + "*WARN* FILE NOT FOUND: << #{@md.fns} >> - requested latex system processing skipped" + ).warn + end + lst=Dir["*.{aux,log,out}"] + lst.each {|file| File.unlink(file)} if lst + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + end + class LaTeXcreate + include SiSU_Parts_TeXpdf + @@tex_head={ + 'a4'=> { p: nil, l: nil }, + 'a5'=> { p: nil, l: nil }, + 'b5'=> { p: nil, l: nil }, + 'letter'=>{ p: nil, l: nil }, + 'legal'=> { p: nil, l: nil }, + 'book'=> { p: nil, l: nil } + } + @@prefix_b=nil + def initialize(particulars) + @particulars=particulars + @md=@particulars.md + @env=SiSU_Env::InfoEnv.new(@md.fns) #@env=@particulars.env + @data=@particulars.ao_array # ao file drawn here + @st={ tex: {} } + @tex_ml=SiSU_TeX_Pdf::UseTeX.new(@md) + @dp=@@dp ||=SiSU_Env::InfoEnv.new.digest.pattern + l=SiSU_Env::StandardiseLanguage.new(@md.opt.lng).language + @language=l[:n] + @translate=SiSU_Translate::Source.new(@md,@language) + @codeblock_box='listings' #alternative 'boites' + @make ||=SiSU_Env::ProcessingSettings.new(@md) + end + def songsheet + begin + data=@data + @@tex_footnote_array=[] + @@rights=nil + txt_gen=if @md.opt.act[:pdf_l][:set]==:on \ + and @md.opt.act[:pdf_p][:set]==:on + 'pdfTex portrait & landscape' + elsif @md.opt.act[:pdf_l][:set]==:on + 'pdfTex landscape' + elsif @md.opt.act[:pdf_p][:set]==:on + 'pdfTex portrait' + else + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('error: neither landscape nor portrait') + end + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + txt_gen + ).txt_grey + end + if defined? @md.rights.all \ + and not @md.rights.all.empty? + sp_char=SiSU_TeX_Pdf::SpecialCharacters.new(@md,@md.rights.copyright.copyright_and_license.dup) + copymark='Copyright {\begin{small}{\copyright\end{small}} ' + #copymark='Copyright {\begin{small}^{\copyright\end{small}} ' + copyright=sp_char.special_characters_safe.gsub(/\s*Copyright \(C\)/, copymark) + @@rights||="\n #{Tex[:backslash]*2}[3]\\ \\linebreak #{copyright}" + end + if defined? @md.notes.prefix_b \ + and not @md.notes.prefix_b.empty? + sp_char=SiSU_TeX_Pdf::SpecialCharacters.new(@md,@md.notes.prefix_b) + prefix_b=sp_char.special_characters_safe + @@prefix_b="\n #{Tex[:backslash]*2}[3]\\ \\linebreak \\ #{prefix_b}\n" unless @@prefix_b + end + data=pre(data) + data=footnote(data) + if @md.flag_tables #WORK ON 2009 + data=tables(data) #uncomment to start experimenting with tables + end + data=number_paras(data) + data=markup(data) + output(data) + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + protected + def pre(data) + @tex_file=[] + data.each do |dob| + # DEBUG 2003w16 this is a kludge, because i could not get parameters + # from param, Sort out ... revert to more elegant solution + # even more of a kludge as had to insert newlines where code is used not satisfactory, think about + dob.tmp=dob.obj #.dup + if dob.is==:para \ + || dob.is==:heading + dob.tmp=dob.tmp.gsub(/#{Mx[:mk_o]}:name#\S+?#{Mx[:mk_c]}/,'') + dob.tmp=SiSU_TeX_Pdf::SpecialCharacters.new(@md,dob.tmp).special_characters + if dob.tmp =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/ + dob.tmp=SiSU_TeX_Pdf::FormatTextObject.new(@md,dob.tmp).url_str_internal(dob.tmp) + end + elsif dob.is ==:code + dob.tmp=if @codeblock_box=='listings' + dob.tmp + else + SiSU_TeX_Pdf::SpecialCharacters.new(@md,dob.tmp).special_characters_code + end + elsif dob.is ==:break + if dob.obj==Mx[:br_page]; dob.tmp='\newpage' + elsif dob.obj==Mx[:br_page_new]; dob.tmp='\clearpage' + elsif dob.obj==Mx[:br_page_line]; dob.tmp=' \\ \hline \\ ' + elsif dob.obj==Mx[:br_obj]; dob.tmp='\parasep' + end + elsif dob.is==:comment \ + || dob.is==:meta + dob.tmp='' #dob.tmp=nil + end + end + data + end + def footnote(data) + data.each do |dob| + # EMBEDDED FOOTNOTES / ENDNOTES should be straightforward but not quite a synch. + if dob.tmp =~/#{Mx[:en_a_o]}[\d*+]+\s|#{Mx[:en_b_o]}([*+]\d+)\s/ + dob.tmp=dob.tmp.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/m,"\\footnote[\\1]{%\n \\2} "). + gsub(/#{Mx[:en_b_o]}([*+]\d+)\s+(.+?)#{Mx[:en_b_c]}/m,"\\FootnoteA{\\1}{%\n \\2} "). + gsub(/#{Mx[:en_a_o]}([*+]+)\s+(.+?)#{Mx[:en_a_c]}/m,"\\FootnoteA{\\1}{%\n \\2} ") + end + end + data + end + def tables_hash(md,dob) + @block={} + @dob=dob + @md.papersize_array.each do |ps| + @@tableheader={ ps => { p: 0, l: 0 } } + dob.tmp={ tmp: dob.tmp, paper_size: ps } + format_l=SiSU_TeX_Pdf::FormatTextObject.new(md,dob) + dob.tmp={ tmp: dob.tmp, paper_size: ps } + format_p=SiSU_TeX_Pdf::FormatTextObject.new(md,dob) + @block[ps]={ + l: format_l.longtable_landscape, + p: format_p.longtable_portrait + } + end + @dob.tmp=@block + @dob + end + def tables(data) + @tex_file=[] + data.each do |dob| + @tex_file << if dob.is_a?(String) \ + or dob.is_a?(Hash) + dob + elsif dob.is==:table + tables_hash(@md,dob) #Hash result + else dob + end + end + @tex_file + end + def enclose(dob) + dob + end + def box_boites(dob,ocn) + sp_char=SiSU_TeX_Pdf::SpecialCharacters.new(@md,dob.tmp,dob.is) + dob.tmp=sp_char.special_characters_safe + dob.tmp=dob.tmp.gsub(/(#{Mx[:nbsp]})/m,'{\color{mywhite}\1}'). + #dob.tmp.gsub(/#{Mx[:nbsp]}/m,'{~}') # dob.tmp.gsub(/#{Mx[:nbsp]}\s*/m,'{~}') + gsub(/#{Mx[:vline]}/m,'\vline'). + gsub(/ \\( |#{Mx[:br_nl]})/,' {\textbackslash}\1'). + gsub(/#{Mx[:br_nl]}\s*\Z/m,''). + gsub(/#{Mx[:br_nl]}{2}/,'\newline \\\\\\ '). + gsub(/#{Mx[:br_nl]}/,' \\\\\\ '). + gsub(/\n\n\n/m," \\newline\n\n") + ocn=SiSU_TeX_Pdf::FormatTextObject.new(@md).ocn_display(dob) + dob.tmp = ocn \ + + @tex_ml.paraskip_small \ + + '\begin{Codeblock}' \ + + '\begin{codeblockboitebox} \hardspace \newline ' \ + + dob.tmp \ + + '\end{codeblockboitebox}' \ + + '\end{Codeblock}' \ + + "\n" \ + + @tex_ml.paraskip_normal + dob + end + def box_listings(dob,ocn) + sp_char=SiSU_TeX_Pdf::SpecialCharacters.new(@md,dob.tmp,dob.is) + dob.tmp=sp_char.characters_code_listings + dob.tmp=dob.tmp.gsub(/^\s+/m,''). #bug, fix earlier, should be made unecessary + gsub(/#{Mx[:nbsp]}/m,' '). + gsub(/#{Mx[:vline]}/m,'|'). + gsub(/#{Mx[:br_nl]}(?:\s?\n)?/m,"\n"). + gsub(/\n\n\n/m," \n\n") + ocn=SiSU_TeX_Pdf::FormatTextObject.new(@md).ocn_display(dob) + dob.tmp = ocn \ + + @tex_ml.paraskip_small \ + + '\begin{Codeblock}' \ + + "\n" \ + + '\begin{lstlisting} ' \ + + "\n" \ + + dob.tmp \ + + "\n" \ + + '\end{lstlisting} ' \ + + "\n" \ + + '\end{Codeblock}' \ + + "\n" \ + + @tex_ml.paraskip_normal + dob + end + def markup_common(dob) + if dob.of==:block + @lineone=if dob.is==:block \ + || dob.is==:group \ + || dob.is==:alt \ + || dob.is==:verse + dob.tmp=dob.tmp.gsub(/#{Mx[:nbsp]}/m,' \hardspace '). + gsub(/#{Mx[:gl_bullet]}/m,'\txtbullet \hardspace '). #Bullet environment not used for grouped text, no hanging indent here + gsub(/#{Mx[:br_nl]}+/m,"\n\n") #match not ideal, but currently not inserting extra newlines anyway + ocn=SiSU_TeX_Pdf::FormatTextObject.new(@md).ocn_display(dob) + dob.tmp=if dob.is==:group \ + || dob.is==:block \ + || dob.is==:alt + dob.tmp=SiSU_TeX_Pdf::SpecialCharacters.new(@md,dob.tmp).special_characters_safe + ocn \ + + @tex_ml.paraskip_small \ + + "\n" \ + + ' \\begin{footnotesize}' \ + + "\n\n" \ + + dob.tmp \ + + '\\end{footnotesize}' \ + + "\n" \ + + @tex_ml.paraskip_normal + elsif dob.is==:verse + dob.tmp=dob.tmp.gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/m,'\begin{bfseries}\1 \end{bfseries}'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/m,'\emph{\1}'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/m,'\uline{\1}') + ocn \ + + @tex_ml.paraskip_tiny \ + + "\n" \ + + ' \\begin{footnotesize}' \ + + "\n\n" \ + + dob.tmp \ + + '\\end{footnotesize}' \ + + "\n" \ + + @tex_ml.paraskip_normal \ + + "\n\\linebreak\n" + end + dob + elsif dob.is ==:code + dob=if @codeblock_box == 'listings' + box_listings(dob,ocn) + elsif @codeblock_box == 'boites' + box_boites(dob,ocn) + else + box_boites(dob,ocn) + end + dob + else 'error' #should never occur + end + dob=enclose(dob) unless (dob.tmp.is_a?(String) && dob.tmp =~/^$/) + dob + else + tst=SiSU_TeX_Pdf::FormatTextObject.new(@md,dob) + case dob.is + when :heading + case dob.ln + when 0 + tst.title_level_A + when 1 + tst.section_heading_level_B + when 2 + tst.section_heading_level_C + when 3 + tst.section_heading_level_D + when 4 + tst.heading_level_1 + when 5 + tst.heading_level_2 + when 6 + tst.heading_level_3 + when 7 + tst.heading_level_4 + else dob + end + when :heading_insert + br="\n\\\\\n" + if dob.name=='book_index' + h=tst.section_heading_level_B + heading="\\clearpage\n" + h.tmp + idx_arr=[] + idx=SiSU_Particulars::CombinedSingleton.instance.get_idx_raw(@md.opt).raw_idx + idx.each do |x| + x=if x.is_a?(String) + x=SiSU_TeX_Pdf::SpecialCharacters.new(@md,x).special_characters + x=SiSU_TeX_Pdf::FormatTextObject.new(@md,x).url_str_internal(x,true) + else x=nil + end + idx_arr << x.sub(/,$/,'') if x.is_a?(String) + end + idx_str=idx_arr.join(br) + l=heading + br + idx_str + p=heading + br + + '\begin{multicols}{2}' + br + + idx_str + br + + '\end{multicols}' + dob.tmp={ l: l, p: p } + elsif dob.ln==2 \ + and dob.obj=~/Metadata\b/ + tst.section_heading_level_B + elsif dob.ln==4 \ + and dob.obj=~/Metadata\b/ + h=tst.heading_level_1 + metadata=SiSU_Metadata::TeX_Metadata.new(@md).metadata_tex + dob.tmp=h.tmp + ' ' + '\begin{scriptsize}' + metadata.join(br) + '\end{scriptsize}' + else dob.tmp='' # dob.tmp={ l: '', p: '' } + end + when :para + if dob.bullet_ + dob.tmp=tst.bullet + elsif dob.indent \ + and dob.hang \ + and dob.indent =~/[1-9]/ \ + and dob.indent == dob.hang + dob.tmp=tst.indent + elsif dob.hang \ + and dob.hang =~/[0-9]/ \ + and (dob.indent != dob.hang or dob.indent =~/[1-9]/) + dob.tmp=tst.hang + else + dob.tmp=dob.tmp.strip + dob=enclose(dob) unless (dob.tmp.is_a?(String) && dob.tmp =~/^$/) + end + else + dob.tmp=dob.tmp.strip unless dob.is==:code + dob=enclose(dob) unless (dob.tmp.is_a?(String) && dob.tmp =~/^$/) + end + if dob.is_a?(String) + dob.tmp=dob.tmp.gsub(/\s*(?:#{Mx[:br_line]}|#{Mx[:br_nl]})\s*/,' \newline '). #% tread with care + gsub(/(\.#{Tex[:tilde]}\S*\s*|<:\S+>|#{Mx[:fa_o]}.*?#{Mx[:fa_c]}|#{Mx[:gr_o]}.*?#{Mx[:gr_c]}||)/,' ') #% tread with care + end + dob + end + if (dob.tmp.is_a?(String) and dob.tmp =~/(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image\b)/m) \ + && dob.is !=:code + dob=SiSU_TeX_Pdf::BareUrls.new(@md,dob).bare_urls + tst=SiSU_TeX_Pdf::FormatTextObject.new(@md,dob) + dob=tst.urls_txt_and_images + dob + elsif (dob.tmp.is_a?(String) and dob.tmp =~/https?:\/\/\S+\b/m) \ + && dob.is ==:code \ + && @codeblock_box !='listings' + dob=SiSU_TeX_Pdf::BareUrls.new(@md,dob).bare_urls_in_code + dob + end + if dob.class !=Hash \ + && (dob.tmp.is_a?(String) and dob.tmp =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}image\b/) \ + && dob.is !=:code + tst=SiSU_TeX_Pdf::FormatTextObject.new(@md,dob) + end + dob + end + def tex_box_listings + <<-WOK +\\definecolor{listinggray}{gray}{0.9} +\\definecolor{lbcolor}{rgb}{0.9,0.9,0.9} +\\lstset{ + backgroundcolor=\\color{lbcolor}, + tabsize=4, + rulecolor=, + language=, + basicstyle=\\scriptsize, + upquote=true, + aboveskip={1.5\\baselineskip}, + columns=fixed, + showstringspaces=false, + extendedchars=true, + breaklines=true, + prebreak = \\raisebox{0ex}[0ex][0ex]{\\ensuremath{\\hookleftarrow}}, + frame=single, + showtabs=false, + showspaces=false, + showstringspaces=false, + identifierstyle=\\ttfamily, + keywordstyle=\\color[rgb]{0,0,1}, + commentstyle=\\color[rgb]{0.133,0.545,0.133}, + stringstyle=\\color[rgb]{0.627,0.126,0.941}, +} + WOK + end + def tex_box_boites + <<-WOK +\\def\\codeblockboitebox{% + \\def\\bkvz@before@breakbox{\\ifhmode\\par\\fi\\vskip\\breakboxskip\\relax}% + \\def\\bkvz@set@linewidth{\\advance\\linewidth -2\\fboxrule + \\advance\\linewidth -2\\fboxsep} % + \\def\\bk@line{\\hbox to \\linewidth{% + \\ifbkcount\\smash{\\llap{\\the\\bk@lcnt\\ }}\\fi + \\psframebox*[framesep=0pt,linewidth=0pt]{% + \\vrule\\@width\\fboxrule \\hskip\\fboxsep + \\box\\bk@bxa + \\hskip\\fboxsep \\vrule\\@width\\fboxrule + }% + }}% + %\\def\\bkvz@top{\\hrule\\@height\\fboxrule} + \\def\\bkvz@top{\\hrule height .6pt}% + \\def\\bkvz@bottom{\\hrule\\@height\\fboxrule}% + \\breakbox} +\\def\\endcodeblockboitebox{\\endbreakbox} + WOK + end + def tex_codeblock + codeblock_box=if @codeblock_box=='listings' + tex_box_listings + elsif @codeblock_box=='boites' + tex_box_boites + else + tex_box_boites + end + codeblock_box + end + def markup(data) + @tex_file=[] + home=the_text.txt_home.gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}|#{Mx[:br_paragraph]}|\\\\/,' - ') #no line splitting in heading neither html nor latex + title=@md.title.full.gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}|#{Mx[:br_paragraph]}|\\\\/,' - ') #no line splitting in heading neither html nor latex + @md.papersize_array.each do |ps| + if @md.opt.act[:pdf_p][:set]==:on + txt_obj={ txt: "#{home}: - #{title}", paper_size: ps, orientation: :portrait } + orient_portrait=SiSU_TeX_Pdf::FormatHead.new(@md,txt_obj) + @@tex_head[ps][:p]=orient_portrait.document_head_with_orientation(@codeblock_box) + end + if @md.opt.act[:pdf_l][:set]==:on + txt_obj={ txt: "#{home}: - #{title}", paper_size: ps, orientation: :landscape } + orient_landscape=SiSU_TeX_Pdf::FormatHead.new(@md,txt_obj) + @@tex_head[ps][:l]=orient_landscape.document_head_with_orientation(@codeblock_box) + end + end + @tex_file << <<-WOK +#{@tex_ml.header}#{@tex_ml.footer} +\\tolerance=300 +\\clubpenalty=300 +\\widowpenalty=300 +\\makeatother +\\makeatother +\\chardef\\txtbullet="2022 +\\chardef\\tilde="7E +%\\chardef\\asterisk="2A +\\def\\asterisk{{\\rm \\char42} } +\\definecolor{Light}{gray}{.92} +\\newcommand{\\Codeblock}[1]{\\normaltext\\raggedright\\small\\ttfamily\\texbackslash#1} +\\newcommand{\\monosp}[1]{\\normaltext\\ttfamily\\texbackslash#1} +\\newcommand{\\parasep}{\\\\ \\begin{center}*\\hspace{2em}*\\hspace{2em}*\\end{center} \\\\} +\\newcommand{\\hardspace}{{~}} +%\\newcommand{\\hardspace}{\\hspace{.5em}} +\\newcommand{\\caret}{{\\^{~}}} +\\newcommand{\\pipe}{{\\textbar}} +\\newcommand{\\curlyopen}{\{} +\\newcommand{\\curlyclose}{\}} +\\newcommand{\\lt}{{\UseTextSymbol{OML}{<}}} +\\newcommand{\\gt}{{\UseTextSymbol{OML}{>}}} +\\newcommand{\\slash}{{/}} +\\newcommand{\\underscore}{\\_} +\\newcommand{\\exclaim}{\\Verbatim{!}} +#{tex_codeblock} +% (tilde hash amp affected by http) +% \\sloppy +\\begin{document} + WOK + @copymark='' #check and remove as now is superflous + x={} + txt_obj={ title: @md.title.full } + if @md.opt.act[:pdf_l][:set]==:on + x[:l]=SiSU_TeX_Pdf::FormatTextObject.new(@md,txt_obj).title_landscape + end + if @md.opt.act[:pdf_p][:set]==:on + x[:p]=SiSU_TeX_Pdf::FormatTextObject.new(@md,txt_obj).title_portrait + end + @tex_file << x + x=nil + if defined? @md.creator.author \ + and @md.creator.author + sp_char=SiSU_TeX_Pdf::SpecialCharacters.new(@md,@md.creator.author) + author=sp_char.special_characters + @tex_file << if @md.author_home + <<-WOK + +\\author{\\href{#{@md.author_home}}{#{@copymark} \\textnormal{#{author}}}} + WOK + else "\n\\author{#{@copymark} \\textnormal{#{author}}}" + end + end + if defined? @md.make.cover_image \ + and not @md.make.cover_image.nil? \ + and @md.make.cover_image[:cover] =~/\S+/ + x={} + dir=SiSU_Env::InfoEnv.new(@md.fns) + x[:l] =<<-WOK +\\titlepic{\\includegraphics[width=0.3\\textwidth]{#{dir.path.image_source_include}/#{@md.make.cover_image[:cover]}}} + WOK + x[:p] =<<-WOK +\\titlepic{\\includegraphics[width=0.6\\textwidth]{#{dir.path.image_source_include}/#{@md.make.cover_image[:cover]}}} + WOK + @tex_file << x + x=nil + end + @tex_file << unless @md.fnb =~/^mail\s*$/ then @tex_ml.site + else '\date' + end + @tex_file << <<-WOK +\\pagenumbering{roman}\\maketitle +\\pagestyle{fancy} + WOK + if defined? @md.rights.all \ + and @md.rights.all + @tex_file << "\\newpage\n" + @tex_file << @@rights + @tex_file << @@prefix_b if defined? @md.creator.prefix_b and @md.creator.prefix_b + end + x={} + 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 + if @md.opt.act[:pdf_l][:set]==:on + x[:l] =<<-WOK +#{@tex_ml.newpage(:landscape)} +\\pagestyle{fancy} +#{toc}#{toc_pb[:l]} +\\pagenumbering{arabic} +#{@tex_ml.paraskip_normal} +#{@tex_ml.newpage(:landscape)} + WOK + end + if @md.opt.act[:pdf_p][:set]==:on + x[:p] =<<-WOK +#{@tex_ml.newpage(:portrait)} +\\pagestyle{fancy} +#{toc}#{toc_pb[:p]} +#{@tex_ml.newpage(:portrait)} +\\pagenumbering{arabic} +#{@tex_ml.paraskip_normal} +#{@tex_ml.newpage(:portrait)} + WOK + end + @tex_file << x + x=nil + data.each do |dob| #% case follows with levels 1-6 indents & graphics + if dob.is_a?(Hash) + elsif dob.of==:para \ + || dob.of==:block #GATEWAY FIX FIX stuff + dob=markup_common(dob) + elsif dob.is==:table + if ( dob.tmp['a4'] \ + or dob.tmp['a5'] \ + or dob.tmp['b5'] \ + or dob.tmp['letter'] \ + or dob.tmp['legal']) + @md.papersize_array.each do |ps| + if dob.tmp[ps] + if (dob.tmp[ps][:p] and dob.tmp[ps][:l]) + dob.tmp[ps]={ + p: markup_common(dob.tmp[ps][:p]), + l: markup_common(dob.tmp[ps][:l]) + } + else p "#{__FILE__}:#{__LINE__}" if @md.opt.act[:maintenance][:set]==:on + end + end + end + elsif dob.tmp.is_a?(Hash) \ + and (dob.tmp[:p] and dob.tmp[:l]) + dob = { + p: markup_common(dob.tmp[:p]), + l: markup_common(dob.tmp[:l]) + } + else p "#{__FILE__}:#{__LINE__}" if @md.opt.act[:maintenance][:set]==:on + end + end + @tex_file << dob + end + @st[:tex][:stmp]||=@md.stmpd + stamp=@st[:tex][:stmp] if @st[:tex][:stmp] + if stamp + use=stamp.gsub(/\n/,"#{Tex[:backslash]*2}\n") + @tex_file << "\n\\newpage\n" + @tex_file << "\\section*" + + "{#{@tex_ml.owner_chapter}}\n" + + "\\addcontentsline{toc}" + + "{section}{#{@tex_ml.owner_chapter}}\n" + @tex_file << "#{use}\n" + @tex_file << @@rights if @@rights + end + @tex_file << "\n\\end{document}" + end + def number_paras_numbering(dob) # need tables and other types of object + if dob.of ==:para + paranum=dob.ocn ? dob.ocn : '' + paranum = '' if paranum.to_i==0 + 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" + # dob.tags.each do |t| + # tags=tags +"\\hspace{0mm}\\hypertarget{#{t}}{\\hspace{0mm}}" + # 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 + dob + end + def number_paras(data) + data.each do |dob| + dob=if dob.is_a?(Hash) + if ( dob['a4'] \ + or dob['a5'] \ + or dob['b5'] \ + or dob['letter'] \ + or dob['legal']) + para_hash={} + @md.papersize_array.each do |ps| + if defined? dob.tmp and dob.tmp[ps] + if (dob.tmp[ps][:p] and dob.tmp[ps][:l]) + para_hash[ps]={ + p: number_paras_numbering(dob.tmp[ps][:p]), + l: number_paras_numbering(dob.tmp[ps][:l]) + } + dob.tmp=para_hash + else p "#{__FILE__}:#{__LINE__}" if @md.opt.act[:maintenance][:set]==:on + end + end + end + elsif (dob.tmp[:p] and dob.tmp[:l]) + dob.tmp = { + p: number_paras_numbering(dob.tmp[:p]), + l: number_paras_numbering(dob.tmp[:l]) + } + else p "#{__FILE__}:#{__LINE__}" if @md.opt.act[:maintenance][:set]==:on + end + else + dob=if dob.of !=:comment \ + || dob.of !=:meta \ + || dob.of !=:layout + number_paras_numbering(dob) + else dob + end + end + end + data + end + def output_morph_hash(o) + ps,h,fn=o[:ps],o[:h],o[:filename] + if h[ps] \ + and (h[ps][:p] or h[ps][:l]) + if @md.opt.act[:pdf_p][:set]==:on + if h[ps][:p] + h[ps][:p]=h[ps][:p].gsub(/[ ]+$/m,''). + gsub(/\n\n\n+/m,"\n\n") + end + if h[ps][:p] !~/\A\s*\Z/ + fn[:portrait].puts h[ps][:p],"\n" + end + end + if @md.opt.act[:pdf_l][:set]==:on + if h[ps][:l] + h[ps][:l]=h[ps][:l].gsub(/[ ]+$/m,''). + gsub(/\n\n\n+/m,"\n\n") + end + if h[ps][:l] !~/\A\s*\Z/ + fn[:landscape].puts h[ps][:l],"\n" + end + end + elsif (h[:p] or h[:l]) + if @md.opt.act[:pdf_p][:set]==:on + if h[:p] + h[:p]=h[:p].gsub(/[ ]+$/m,''). + gsub(/\n\n\n+/m,"\n\n") + end + if h[:p] !~/\A\s*\Z/ + fn[:portrait].puts h[:p],"\n" + end + end + if @md.opt.act[:pdf_l][:set]==:on + if h[:l] + h[:l]=h[:l].gsub(/[ ]+$/m,''). + gsub(/\n\n\n+/m,"\n\n") + end + if h[:l] !~/\A\s*\Z/ + fn[:landscape].puts h[:l],"\n" + end + end + else p "#{__FILE__}:#{__LINE__}" if @md.opt.act[:maintenance][:set]==:on + end + end + def output(array) + @array=array=array.flatten.compact + fns=@md.fns.gsub(/~/,'-') #this is a sorry fix, but necessary as it appears latex programs like not ~ + @md.papersize_array.each do |ps| + texfile_landscape=(@md.opt.act[:pdf_l][:set]==:on) \ + ? (File.new("#{@env.processing_path.tex}/#{fns}.#{ps}.landscape.tex",'w+')) + : nil + texfile_portrait=(@md.opt.act[:pdf_p][:set]==:on) \ + ? (File.new("#{@env.processing_path.tex}/#{fns}.#{ps}.tex",'w+')) + : nil + file={ + landscape: texfile_landscape, + portrait: texfile_portrait + } + if @md.opt.act[:pdf_p][:set]==:on + file[:portrait] << @@tex_head[ps][:p] + end + if @md.opt.act[:pdf_l][:set]==:on + file[:landscape] << @@tex_head[ps][:l] + end + array.each do |morph| + if morph.is_a?(String) + #morph.gsub!(/^\s+/,'') + if morph !~/\A\s*\Z/ + if @md.opt.act[:pdf_p][:set]==:on + file[:portrait].puts morph,"\n" + end + if @md.opt.act[:pdf_l][:set]==:on + file[:landscape].puts morph,"\n" + end + end + elsif morph.class.inspect =~ /SiSU_AO_DocumentStructure/ \ + and morph.tmp \ + and morph.tmp.is_a?(String) + if morph.is !=:code \ + && morph.of !=:block + morph.tmp=morph.tmp.gsub(/^\s+/,'') + else morph.tmp + end + if (morph.tmp !~/\A\s*\Z/) \ + || morph.is==:code + if @md.opt.act[:pdf_p][:set]==:on + file[:portrait].puts morph.tmp,"\n" + end + if @md.opt.act[:pdf_l][:set]==:on + file[:landscape].puts morph.tmp,"\n" + end + end + elsif morph.is_a?(Hash) #inserted headers and the like, only + h={ ps: ps, h: morph, filename: file } + output_morph_hash(h) + elsif morph.tmp.is_a?(Hash) #tables & images? + h={ ps: ps, h: morph.tmp, filename: file } + output_morph_hash(h) + end + end + array=@array + if @md.opt.act[:pdf_p][:set]==:on + file[:portrait].close + end + if @md.opt.act[:pdf_l][:set]==:on + file[:landscape].close + end + end + @@tex_head={ + 'a4'=> { p: nil, l: nil }, + 'a5'=> { p: nil, l: nil }, + 'b5'=> { p: nil, l: nil }, + 'letter'=>{ p: nil, l: nil }, + 'legal'=> { p: nil, l: nil }, + 'book'=> { p: nil, l: nil } + } + array=[] + end + end + end +end +__END__ +#+END_SRC + +** texpdf_parts.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/texpdf_parts.rb" +# <> +module SiSU_Parts_TeXpdf + require_relative 'generic_parts' # generic_parts.rb + include SiSU_Parts_Generic + def the_line_break + ' \\ ' + end + def url_decoration + def tex_open #'{\UseTextSymbol{OML}{<}}' + Dx[:url_o] + end + def tex_close #'{\UseTextSymbol{OML}{>}}' + Dx[:url_c] + end + def txt_open + '<' + end + def txt_close + '>' + end + self + end + def the_font + def set_fonts + 'verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman' + end + self + end + class TeX + def initialize(papersize='') + @papersize=papersize + end + def a4 + def portrait + def w + 160 + end + def h + 228 + end + def img_px + 450 + end + self + end + def landscape + def w + 238 + end + def h + 160 + end + def img_px + 300 + end + self + end + self + end + def letter + def portrait + def w + 166 + end + def h + 212 + end + def img_px + 468 + end + self + end + def landscape + def w + 226 + end + def h + 166 + end + def img_px + 290 + end + self + end + self + end + def legal + def portrait + def w + 168 + end + def h + 286 + end + def img_px + 474 + end + self + end + def landscape + def w + 296 + end + def h + 166 + end + def img_px + 420 + end + self + end + self + end + def b5 + def portrait + def w + 140 + end + def h + 204 + end + def img_px + 356 + end + self + end + def landscape + def w + 200 + end + def h + 130 + end + def img_px + 260 + end + self + end + self + end + def a5 + def portrait + def w + 112 + end + def h + 162 + end + def img_px + 280 + end + self + end + def landscape + def w + 152 + end + def h + 100 + end + def img_px + 190 + end + self + end + self + end + def dimensions + case @papersize + when /a4/ then a4 + when /letter/ then letter + when /legal/ then legal + when /b5/ then b5 + when /a5/ then a5 + else a4 + end + end + end +end +__END__ +#+END_SRC + +** texpdf_format.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/texpdf_format.rb" +# <> +module SiSU_TeX_Pdf + require_relative 'texpdf_parts' # texpdf_parts.rb + @@table_pg_break_counter=1 + class BareUrls + include SiSU_Parts_TeXpdf + def initialize(md,dob=nil) + @md,@dob=md,dob + end + def bare_urls + @dob.obj=@dob.obj.gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@[a-zA-Z0-9_-]+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/, + "#{url_decoration.tex_open}\\begin{scriptsize}\\email{\\1}#{url_decoration.tex_close}") + @dob.tmp=@dob.tmp.gsub(/(^|[^\\])_/m,'\1\_'). #watch may not work + gsub(/(^|[^#{Mx[:lnk_c]}])#{Mx[:url_o]}_?(?:\\?_)?(\S+?)#{Mx[:url_c]}/m, + "\\1#{url_decoration.tex_open}\\begin{scriptsize}\\url{\\2}\\end{scriptsize}#{url_decoration.tex_close}") + @dob + end + def bare_urls_in_code + @dob.tmp=@dob.tmp.gsub(/(^|[^\\])_/m,'\1\_'). #watch may not work + gsub(/(https?:\/\/\S+?)([{]|[.,;)\]]?(?: |$))/m, + '\begin{scriptsize}\url{\1}\end{scriptsize}\2') + @dob + end + end + class FormatTextObject + include SiSU_Parts_TeXpdf + attr_accessor :string,:string1,:orientation,:url,:dir,:tex + @@sys=SiSU_Env::SystemCall.new + @@tex_pattern_margin_number=/\\begin\{tiny\}\\hspace\{0mm\}\\end\{tiny\}\{\\marginpar.+?\}\}\}/ + @@tableheader={ + 'a4' => { p: 0, l: 0 }, + 'a5' => { p: 0, l: 0 }, + 'b5' => { p: 0, l: 0 }, + 'letter' => { p: 0, l: 0 }, + 'legal' => { p: 0, l: 0 } + } + @@sys=SiSU_Env::SystemCall.new + def initialize(md,dob=nil) + @md,@dob=md,dob + if defined? @md.image \ + and @md.image =~/center/ + @center_begin,@center_end='\begin{center}','\end{center}' + else @center_begin,@center_end='','' + end + @start_table='' + @tx=SiSU_Env::GetInit.new.tex + @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) + 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]}/mu,'&'). + gsub(/#{Mx[:tc_c]}/m,'\\\\\\'). + gsub(/%/,'\%'). + gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'\begin{bfseries}\1 \end{bfseries}'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'\emph{\1}'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'\uline{\1}'). # ulem + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,"``\\1''"). # quote #CHECK + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'\uline{\1}'). # ulem + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'\sout{\1}'). # ulem + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,"\$^{\\textrm{\\1}}\$"). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,"\$_{\\textrm{\\1}}\$") + end + def longtable_landscape + end_table='\end{longtable}' + row_break='\\\\\\' + if @dob.is==:table + tw=case @dob.tmp[:paper_size] + when /a4/i then @tx.a4.landscape.w #European default, SiSU default + when /letter/i then @tx.letter.landscape.w #U.S. default + when /legal/i then @tx.legal.landscape.w #U.S. alternative + when /book|b5/i then @tx.b5.landscape.w #book default - larger + when /a5/i then @tx.a5.landscape.w + else @tx.a4.landscape.w #default currently A4 + end + textwidth=(tw.to_i/2) - 24 + colW=[] + colW << '{' + @dob.widths.each do |x| + x=(x.to_i * textwidth)/100 + col_w=x.to_s # x.gsub(/.+/,'l\|') #unless x.nil? + colW << "p{#{col_w}mm}" if col_w + end + colW << '}' + colW=colW.join + start_table="\n\\setlength{\\LTleft}{0pt}\n\\setlength{\\LTright}{\\fill}\n" + + "\\begin{tiny}\n\\begin{longtable}#{colW}\n" + rows=@dob.obj.split(/#{Mx[:br_nl]}/) + if @dob.head_ #result imperfect, check on + rows[0]=rows[0].gsub(/(^|.+?)(?:#{Mx[:tc_p]}|$)/u,'\bfseries \1&'). + gsub(/&\s*$/," #{row_break} \\hline\\endhead #{row_break}") + end + rows_new=[] + rows.each do |r| + r=table_special_characters(r) + r=r.gsub(/$/," #{row_break}\n") unless r =~/#{row_break*2}$/ + if r=~/\/ # not tested table footer if any + tablefoot=$1 + r=r.gsub(/\/,'') + r="#{r} \\multicolumn{#{@dob.cols}}{l}{\\tiny #{tablefoot}} \\\\ \\hline\n\\endfoot\n\\hline\n" + end + rows_new << r + end + table=rows_new.join #@dob[:ao].obj=rows.join + ocn_display(@dob) + start_table + table + " #{end_table}\n\\end{tiny}" + else '' + end + end + def longtable_portrait + end_table='\end{longtable}' + row_break='\\\\\\' + if @dob.is==:table + tw=case @dob.tmp[:paper_size] + when /a4/i then @tx.a4.portrait.w #European default, SiSU default + when /letter/i then @tx.letter.portrait.w #U.S. default + when /legal/i then @tx.legal.portrait.w #U.S. alternative + when /book|b5/i then @tx.b5.portrait.w #book default - larger + when /a5/i then @tx.a5.portrait.w + else @tx.a4.portrait.w #default currently A4 + end + textwidth=tw.to_i - 20 + colW=[] + colW << '{' + @dob.widths.each do |x| + x=(x.to_i * textwidth)/100 #x=(x.to_i/100.0 * 160) + col_w=x.to_s # x.gsub(/.+/,'l\|') #unless x.nil? + colW << "p{#{col_w}mm}" if col_w + end + colW << '}' + colW=colW.join + start_table="\n\\setlength{\\LTleft}{0pt}\n\\setlength{\\LTright}{\\fill}\n" + + "\\begin{tiny}\n\\begin{longtable}#{colW}\n" + rows=@dob.obj.split(/#{Mx[:br_nl]}/) + if @dob.head_ + rows[0]=rows[0].gsub(/(^|.+?)(?:#{Mx[:tc_p]}|$)/u,'\bfseries \1&'). + gsub(/&\s*$/," #{row_break} \\hline\\endhead #{row_break}") + end + rows_new=[] + rows.each do |r| + r=table_special_characters(r) + r=r.gsub(/$/," #{row_break}\n") unless r =~/#{row_break*2}$/ + if r=~/\/ # not tested table footer if any + tablefoot=$1 + r=r.gsub(/\/,'') + r="#{r} \\multicolumn{#{@dob.cols}}{l}{\\tiny #{tablefoot}} \\\\ \\hline\n\\endfoot\n\\hline\n" + end + rows_new << r + end + table=rows_new.join #@dob[:ao].obj=rows.join + ocn_display(@dob) + start_table + table + " #{end_table}\n\\end{tiny}" + else '' + end + end + def remove_footnotes(cont_ln) + cont_ln=if cont_ln =~/\\[Ff]ootnote/m + cont_ln.gsub(/\s*\\[Ff]ootnote\[\d+\]\{%\s+.+?\}\s*/m,' '). + gsub(/\s*\\[Ff]ootnote[A]\{[*+]+\d*\}\{%\S+.+?\}\s*/m,' ') + else cont_ln + end + end + def title_level_A + dob=@dob + dob.tmp=dob.tmp.strip if dob.tmp + dob.tmp=dob.tmp.gsub(/\\begin\{(bfseries|itshape)\}(.+?)\\end\{\1\}/m,'\2'). + gsub(/#{Mx[:url_o]}|#{Mx[:url_c]}/,'') + cont_ln=dob.tmp.dup + cont_ln=cont_ln.gsub(/\\begin\{(monosp)\}(.+?)\\end\{\1\}/m,'\2'). + gsub(@@tex_pattern_margin_number,'') + cont_ln=remove_footnotes(cont_ln) + cont_ln=cont_ln.gsub(/\{[\\]+(&)\}/,'\\1') + titleset='' + dob.tmp=dob.tmp.gsub(/^(.*)\n?$/m, + "#{titleset}\\part*{\\1} +\\markboth{#{@md.title.full}}\n") + dob + end + def section_heading_level(dob) + dob.tmp=dob.tmp.strip if dob.tmp + dob.tmp=dob.tmp.gsub(/\\begin\{(bfseries|itshape)\}(.+?)\\end\{\1\}/m,'\2'). + gsub(/#{Mx[:url_o]}|#{Mx[:url_c]}/,'') + cont_ln=dob.tmp.dup + cont_ln=cont_ln.gsub(/\\begin\{(monosp)\}(.+?)\\end\{\1\}/m,'\2'). + gsub(@@tex_pattern_margin_number,'') + cont_ln=remove_footnotes(cont_ln) + cont_ln=cont_ln.gsub(/\{[\\]+(&)\}/,'\\1') + dob.tmp=dob.tmp.gsub(/^(.*)\n?$/m, + "\\clearpage +\\part*{\\1} +\\addcontentsline{toc}{part}{#{cont_ln}} +\\markboth{#{@md.title.full}}\n") + dob + end + def heading_dev_null(dob) + dob.tmp,dob.obj='','' + dob + end + def heading_sublevels(dob) + if dob.lv=='1' + sect='section' + tocadd=%{\\addcontentsline{toc}{section}} + pre='' + post='' + headadd=%{\n\\markright{#{@md.title.full}}} + elsif dob.lv=='2' + sect='subsection' + tocadd=%{\\addcontentsline{toc}{subsection}} + pre='' + post=" \\\\\n" + headadd='' + elsif dob.lv=='3' + sect='subsubsection' + tocadd=%{\\addcontentsline{toc}{subsubsection}} + pre='' #pre='~~~~' + post=" \\\\\n" + headadd='' + end + dob.tmp=dob.tmp.strip if dob.tmp + dob.tmp=dob.tmp.gsub(/\\begin\{(bfseries|itshape)\}(.+?)\\end\{\1\}/m,'\2'). + gsub(/#{Mx[:url_o]}|#{Mx[:url_c]}/,'') + cont_ln=dob.tmp.dup + cont_ln=cont_ln.gsub(/\\begin\{(monosp)\}(.+?)\\end\{\1\}/m,'\2'). + gsub(@@tex_pattern_margin_number,''). + gsub(/#{Tex[:backslash]*2}/,"#{Tex[:backslash]*4}"). # added w42 + gsub(/\\footnote\[\d+\]\{%.+?\\end\{scriptsize\}\s*\}/m,''). #arbitrary bugfix, revisit should not be necessary, eg. wta.1994 2004w22 + gsub(/\\Footnote[A]\{[*+]+\d*\}\{%.+?\\end\{scriptsize\}\s*\}/m,'') #arbitrary bugfix, revisit should not be necessary, eg. wta.1994 2004w22 + if dob.name =~/endnotes/ + dob.tmp=dob.tmp.gsub(/.+/m,'') + end + cont_ln=remove_footnotes(cont_ln) + cont_ln=cont_ln.gsub(/\{[\\]+(&)\}/,'\\1') + dob.tmp=dob.tmp.gsub(/^(.*)?\n?$/m, + "\\#{sect}*{\\1} +#{tocadd}{#{pre}#{cont_ln}#{post}}#{headadd}") + dob + end + def section_heading_level_B + section_heading_level(@dob) + end + def section_heading_level_C + section_heading_level(@dob) + end + def section_heading_level_D + section_heading_level(@dob) + end + def heading_level_1 + if not @dob.use_ == :dummy + heading_sublevels(@dob) + else + heading_dev_null(@dob) + end + end + def heading_level_2 + heading_sublevels(@dob) + end + def heading_level_3 + heading_sublevels(@dob) + end + def heading_level_4 + heading_sublevels(@dob) + end + def hang + _idt=10 + indent = "#{_idt*(@dob.indent.to_i-1)}mm" + hang = "#{_idt*(@dob.hang.to_i - @dob.indent.to_i)}mm" + "\\begin{ParagraphHang}{#{indent}}{#{hang}}#{@dob.tmp} \\end{ParagraphHang}}" + end + def indent + indent=case @dob.indent + when /1/ then '0mm' + when /2/ then '10mm' + when /3/ then '20mm' + when /4/ then '30mm' + when /5/ then '40mm' + when /6/ then '50mm' + when /7/ then '60mm' + when /8/ then '70mm' + when /9/ then '80mm' + end + "\\begin{ParagraphIndent}{#{indent}}#{@dob.tmp} \\end{ParagraphIndent}}" + end + def bullet + blt=if @dob.indent + indent=case @dob.indent + when /1/ then '0em' + when /2/ then '1.0em' + when /3/ then '2.0em' + when /4/ then '3.0em' + when /5/ then '4.0em' + when /6/ then '5.0em' + when /7/ then '6.0em' + when /8/ then '7.0em' + when /9/ then '8.0em' + else '-1.0em' + end + "\\begin{Bullet}{#{indent}}$\\txtbullet$\\hspace{\\enspace}#{@dob.tmp}\\end{Bullet}" + else + "\\begin{Bullet}{-5mm}$\\txtbullet$\\hspace{\\enspace}#{@dob.tmp}\\end{Bullet}" + end + blt + end + def symbol_graphic + dir=SiSU_Env::InfoEnv.new(@md.fns) + image='c_' + /<:=\s*(\S+?)\s*>/m.match(@txt).captures.join + '.png' #watch + if FileTest.file?("#{dir.path.image_source_include}/#{image}") + @txt.gsub!(/<:=\s*(\S+?)\s*>/, + "\\includegraphics*[width=11pt]{#{dir.path.image_source_include}/c_\\1.png}") + else + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + "ERROR - image:", + %{"#{image}" missing}, + "search path: #{dir.path.image_source_include}" + ).error2 unless @md.opt.act[:quiet][:set]==:on + @txt.gsub!(/#{Mx[:lnk_o]}\S+\.(png|jpg|gif).+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,'') # fragile match operator\\ fragile ! + end + end + def url_str_internal(str,idx=nil) + map_nametags=SiSU_Particulars::CombinedSingleton.instance.get_map_nametags(@md).nametags_map #p map_nametags + rgx_url_internal=/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:rel_o]}#?\S+?#{Mx[:rel_c]}/m + while str =~/#{Mx[:lnk_o]}([^#{Mx[:lnk_o]}#{Mx[:lnk_c]}]+)#{Mx[:lnk_c]}#{Mx[:rel_o]}:(\S+?)#{Mx[:rel_c]}/m + link,url=$1,$2 + link,url=link.strip,url.strip + link.gsub!(/&/,"#{Xx[:protect]}&") + url="#{@env.url.root}/" + url + str.sub!(/#{Mx[:lnk_o]}[^#{Mx[:lnk_o]}#{Mx[:lnk_c]}]+#{Mx[:lnk_c]}#{Mx[:rel_o]}:\S+?#{Mx[:rel_c]}/m, + "#{url_decoration.tex_open}\\href{#{url}}{#{link}}#{url_decoration.tex_close}") + end + while str =~/#{Mx[:lnk_o]}([^#{Mx[:lnk_o]}#{Mx[:lnk_c]}]+)#{Mx[:lnk_c]}#{Mx[:rel_o]}#?(\S+?)#{Mx[:rel_c]}/m + link,url=$1,$2 + link,url=link.strip,url.strip + link.gsub!(/&/,"#{Xx[:protect]}&") + url.gsub!(/\\_/,'_') + ocn_lnk=if map_nametags[url] \ + and map_nametags[url][:ocn] + map_nametags[url][:ocn] + else nil + end + ocn_lnk=(url=~/^\d+$/ ? url : ocn_lnk) + if ocn_lnk and not ocn_lnk.empty? + idx \ + ? (str.sub!(rgx_url_internal,"\\hyperlink{#{ocn_lnk}}{#{link}}")) + : (str.sub!(rgx_url_internal,"#{url_decoration.tex_open}\\hyperlink{#{ocn_lnk}}{#{link}}#{url_decoration.tex_close}")) + else + puts %{name tag: "#{url}" not found} + str.sub!(rgx_url_internal,"#{link}") + end + #[keep] code that follows uses nametags directly, currently nametags converted to their ocn, related code: |texpdf.rb|@|hypertargets| + #idx \ + #? (str.sub!(rgx_url_internal,"\\hyperlink{#{url}}{#{link}}")) \ + #: (str.sub!(rgx_url_internal,"#{url_decoration.tex_open}\\hyperlink{#{url}}{#{link}}#{url_decoration.tex_close}")) + end + str=str.gsub(/#{Xx[:protect]}/,'') + end + def url_str(str) + rgx_url_generic=/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/m + while str =~rgx_url_generic + if str=~rgx_url_generic + regx_url=%r/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/m + z,url=regx_url.match(str).captures if str =~regx_url + url=url.strip + link=z.strip + link.gsub!(/&/,"#{Xx[:protect]}&") + str.sub!(rgx_url_generic,"#{url_decoration.tex_open}\\href{#{url}}{#{link}}#{url_decoration.tex_close}") + str=str.gsub(/#{Xx[:protect]}/,'') + str + else str + end + str + end + str + end + def url_with_txt(dob) + rgx_url_generic=/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/m + while dob.tmp =~rgx_url_generic + if dob.tmp=~rgx_url_generic + if dob.tmp =~/#{Mx[:lnk_o]}(?:.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/m + regx_url=%r/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/m + punctuate=/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/m.match(dob.tmp).captures.join + else + regx_url=%r/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/m + punctuate='' + end + z,url=regx_url.match(dob.tmp).captures if dob.tmp =~regx_url + url=url.strip + link=z.strip + link.gsub!(/&/,"#{Xx[:protect]}&") + dob.tmp.sub!(rgx_url_generic,"#{url_decoration.tex_open}\\href{#{url}}{#{link}}#{url_decoration.tex_close}#{punctuate}") + dob.tmp.gsub!(/#{Xx[:protect]}/,'') + #dob.tmp=dob.tmp.sub(rgx_url_generic,"#{url_decoration.tex_open}\\href{#{url}}{#{link}}#{url_decoration.tex_close}#{punctuate}"). + # gsub(/#{Xx[:protect]}/,'') + dob + else dob + end + dob + end + dob + end + def urls_txt_and_images + dob=@dob + dir=SiSU_Env::InfoEnv.new(@md.fns) + @dm={ + 'a4'=> @tx.a4.landscape.img_px, + 'letter'=> @tx.letter.landscape.img_px, + 'legal'=> @tx.legal.landscape.img_px, + 'b5'=> @tx.b5.landscape.img_px, + 'a5'=> @tx.a5.landscape.img_px + } + images_hash={ } + generic_rgx=/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image\b)/m + rgx_url_generic=/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/m + #url_bare_rgx=/#{Mx[:url_o]}\S+?#{Mx[:url_c]}/m + url_image_rgx=/#{Mx[:lnk_o]}[a-zA-Z0-9_\\-]+\.(?:png|jpg|gif).+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/m + image_rgx=/#{Mx[:lnk_o]}[a-zA-Z0-9_\\-]+\.(?:png|jpg|gif).+?#{Mx[:lnk_c]}image/m + @md.papersize_array.each do |ps| + images_hash[ps] = dob.tmp + while images_hash[ps] =~generic_rgx + if dob.tmp =~rgx_url_generic \ + and dob.tmp !~/\.(?:png|jpg|gif)|#{Mx[:lnk_c]}image\b/m + dob=url_with_txt(dob) + elsif images_hash[ps]=~generic_rgx + if dob.tmp=~rgx_url_generic + if images_hash[ps] =~/#{Mx[:lnk_o]}(?:.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/m + regx_url=%r/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/m + punctuate=/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/m.match(images_hash[ps]).captures.join + else + regx_url=%r/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/m + punctuate='' + end + z,url=regx_url.match(images_hash[ps]).captures if images_hash[ps] =~regx_url + url=url.strip + else + if images_hash[ps] =~/#{Mx[:lnk_o]}(?:.+?)#{Mx[:lnk_c]}image\.[^'"\s]+?(?:[;.,]?(?:\s|$)|(?:\s|$))/m + regx_url=%r/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}image\.[^'"\s]+?(?:[;.,]?(?:\s|$)|(?:\s|$))/m + punctuate=/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}image\.[^'"\s]+?([;.,]?(?:\s|$))/m.match(images_hash[ps]).captures.join + else + regx_url=%r/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}image/m + punctuate='' + end + z=regx_url.match(images_hash[ps])[1] if images_hash[ps] =~regx_url + url='' + end + if images_hash[ps] =~/#{Mx[:lnk_o]}\s*\S+\.?(?:png|jpg|gif)/m \ + and images_hash[ps]=~/\s+\d+x\d+(\s+|\s*#{Mx[:lnk_c]})/m + image=z.scan(/\S+/)[0] #image,x,y=z.scan(/\S+/) + image.gsub!(/\\/,'') + w=((z =~/\s(\d+)x\d*/) ? z[/\s(\d+)x\d*/,1] : 200) + width={} + width['a4'] = ((w.to_i > @dm['a4']) ? @dm['a4'] : w) + width['letter'] = ((w.to_i > @dm['letter']) ? @dm['letter'] : w) + width['legal'] = ((w.to_i > @dm['legal']) ? @dm['legal'] : w) + width['a5'] = ((w.to_i > @dm['a5']) ? @dm['a5'] : w) + width['b5'] = ((w.to_i > @dm['b5']) ? @dm['b5'] : w) + c=z[/``(.+?)''/m,1] + hsp="\n{\\color{mywhite} .}&~\n" # ~ character for hardspace + caption=(c ? "{\\\\\ \n\\begin{scriptsize}#{hsp*3}#{c}\\end{scriptsize}&}" : '') + elsif images_hash[ps] =~/#{Mx[:lnk_o]}\s*(\S+\.?\.(?:png|jpg|gif))/m + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + %{document built without image: "#{$1}" as image dimensions not provided (either image not found or neither imagemagick nor graphicsmagick is installed)?\n} + ).print_grey #unless @md.opt.act[:quiet][:set]==:on + images_hash[ps].gsub!(/#{Mx[:lnk_o]}\s*(\S+\.?\.(?:png|jpg|gif))/,'[image]') + end + if image #most images fc etc. #% clean up ! + if FileTest.file?("#{dir.path.image_source_include}/#{image}") + case images_hash[ps] + when url_image_rgx + images_hash[ps].sub!(url_image_rgx, + "#{@center_begin}\\\n\\href{#{url}}\n{\\includegraphics*[width=#{width[ps]}pt]{#{dir.path.image_source_include}/#{image}}}#{caption}#{@center_end}") + when image_rgx + images_hash[ps].sub!(image_rgx, + "#{@center_begin}\\\n\\includegraphics*[width=#{width[ps]}pt]{#{dir.path.image_source_include}/#{image}}#{caption}#{@center_end}") + end + images_hash[ps] + elsif @md.opt.f_pth[:pth] =~/\/\S+?\/sisupod\/\S+?\/sisupod\/doc/ + pt=/(\/\S+?\/sisupod\/\S+?\/sisupod)\/doc/.match(@md.opt.f_pth[:pth])[1] + img_src=pt + '/image' + if FileTest.file?("#{img_src}/#{image}") + case images_hash[ps] + when url_image_rgx + images_hash[ps].sub!(url_image_rgx, + "#{@center_begin}\\\n\\href{#{url}}{\\includegraphics*[width=#{width[ps]}pt]{#{img_src}/#{image}}}#{caption} #{@center_end}") + when image_rgx + images_hash[ps].sub!(image_rgx, + "#{@center_begin}\\\n\\includegraphics*[width=#{width[ps]}pt]{#{img_src}/#{image}}#{caption} #{@center_end}") + end + images_hash[ps] + end + + elsif @md.fns =~/\.(?:ssm\.)?sst$/ \ + and FileTest.file?("#{dir.path.image_source_include_local}/#{image}") + case images_hash[ps] + when url_image_rgx + images_hash[ps].sub!(url_image_rgx, + "#{@center_begin}\\\n\\href{#{url}}{\\includegraphics*[width=#{width[ps]}pt]{#{dir.path.image_source_include_local}/#{image}}}#{caption} #{@center_end}") + when image_rgx + images_hash[ps].sub!(image_rgx, + "#{@center_begin}\\\n\\includegraphics*[width=#{width[ps]}pt]{#{dir.path.image_source_include_local}/#{image}}#{caption} #{@center_end}") + end + images_hash[ps] + elsif @md.fns =~/\.-ss[tm]$/ \ + and FileTest.file?("#{dir.path.image_source_include_remote}/#{image}") + case images_hash[ps] + when url_image_rgx + images_hash[ps].sub!(url_image_rgx, + "#{@center_begin}\\\n\\href{#{url}}{\\includegraphics*[width=#{width[ps]}pt]{#{dir.path.image_source_include_remote}/#{image}}}#{caption}#{@center_end}") + when image_rgx + images_hash[ps].sub!(image_rgx, + "#{@center_begin}\\\n\\includegraphics*[width=#{width[ps]}pt]{#{dir.path.image_source_include_remote}/#{image}}#{caption}#{@center_end}") + end + images_hash[ps] + else + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + "ERROR - image:", + %{"#{image}" missing}, + "search locations: #{dir.path.image_source_include_local}, #{dir.path.image_source_include_remote} and #{dir.path.image_source_include}" + ).error2 unless @md.opt.act[:quiet][:set]==:on + if images_hash[ps] =~url_image_rgx \ + or images_hash[ps] =~image_rgx + images_hash[ps]='' + end + images_hash[ps] + end + else + link=z.strip #[/(.+?)\\/m,1] + images_hash[ps]="\\href{#{url}}{#{link}}#{punctuate}" if images_hash[ps] =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/ + images_hash[ps] + end + else images_hash[ps] + end + images_hash[ps] #=ocn_display(dob) + images_hash[ps] + end #while loop + images_hash + end + use_images_hash={} + images_hash.each do |k,t| + use_images_hash[k]={ l: t, p: t} + end + dob.tmp=use_images_hash + dob + end + def title + title=SiSU_TeX_Pdf::SpecialCharacters.new(@md,@md.title.full).special_characters_safe + "\n\\title{#{title}}" + end + def title_landscape + title + end + def title_portrait + title + end + end + class FormatHead + require_relative 'prog_text_translation' # prog_text_translation.rb + def initialize(md,t_o) + @md,@t_o=md,t_o + @env=SiSU_Env::InfoEnv.new(@md.fns) + if t_o.is_a?(Hash) + @txt =t_o[:txt] || nil + @subtitle=t_o[:subtitle] || nil + @ps=t_o[:paper_size] || nil + @ocn=t_o[:ocn] || nil + @layout=t_o[:orientation] || nil + else + p t_o.class + p caller + end + @tx=SiSU_Env::GetInit.new.tex + @tex2pdf=@@tex3pdf ||=SiSU_Env::SystemCall.new.tex2pdf_engine + @ps=@txt if @txt=~/(?:a4|letter|legal|book|a5|b5)/i + @lang ||=SiSU_i18n::Languages.new #.list[@md.opt.lng][:xlp] + @author=if defined? @md.creator.author \ + and @md.creator.author=~/\S+/ + SiSU_TeX_Pdf::SpecialCharacters.new(@md,@md.creator.author).special_characters_safe + else '' + end + @subject=if defined? @md.classify.subject \ + and @md.classify.subject=~/\S+/ + SiSU_TeX_Pdf::SpecialCharacters.new(@md,@md.classify.subject).special_characters_safe + else '' + end + @keywords=if defined? @md.classify.keywords \ + and @md.classify.keywords=~/\S+/ + SiSU_TeX_Pdf::SpecialCharacters.new(@md,@md.classify.keywords).special_characters_safe + else '' + end + end + def tex_head_lang #babel 18n + lang_char_arr=@md.i18n + mainlang_char=if @md.i18n == Array \ + and @md.i18n.length > 0 + lang_char_arr.slice(0) + else @md.opt.lng + end + mainlang=@lang.list[mainlang_char][:xlp] + otherlang=if mainlang != 'english' + [ @lang.list['en'][:xlp] ] + else [] + end + if lang_char_arr.length > 0 + lang_char_arr.slice(1..9).each { |ch| otherlang << @lang.list[ch][:xlp] } + otherlang=otherlang.uniq + end + otherlang=otherlang.join(',') + { mainlang: mainlang, otherlang: otherlang } + end + def tex_head_encode + texpdf_fontface=if defined? @md.make.texpdf_fontface.main \ + and not @md.make.texpdf_fontface.main.nil? \ + and @md.make.texpdf_fontface.main=~/\S{3,}/ + @md.make.texpdf_fontface.main + else @env.font.texpdf.main + end + texpdf_fontface_sans=if defined? @md.make.texpdf_fontface.sans \ + and not @md.make.texpdf_fontface.sans.nil? \ + and @md.make.texpdf_fontface.sans=~/\S{3,}/ # not used + @md.make.texpdf_fontface.sans + else @env.font.texpdf.sans + end + texpdf_fontface_serif=if defined? @md.make.texpdf_fontface.serif \ + and not @md.make.texpdf_fontface.serif.nil? \ + and @md.make.texpdf_fontface.serif=~/\S{3,}/ # not used + @md.make.texpdf_fontface.serif + else @env.font.texpdf.serif + end + texpdf_fontface_mono=if defined? @md.make.texpdf_fontface.mono \ + and not @md.make.texpdf_fontface.mono.nil? \ + and @md.make.texpdf_fontface.mono=~/\S{3,}/ + @md.make.texpdf_fontface.mono + else @env.font.texpdf.mono + end + texpdf_fontface_cjk=if @md.opt.lng =~/zh/ \ + and defined? @md.make.texpdf_fontface.cjk_zh \ + and not @md.make.texpdf_fontface.cjk_zh.nil? \ + and @md.make.texpdf_fontface.cjk_zh=~/\S{3,}/ + @md.make.texpdf_fontface.cjk_zh + elsif @md.opt.lng =~/ja/ \ + and defined? @md.make.texpdf_fontface.cjk_ja \ + and not @md.make.texpdf_fontface.cjk_ja.nil? \ + and @md.make.texpdf_fontface.cjk_ja=~/\S{3,}/ + @md.make.texpdf_fontface.cjk_ja + elsif @md.opt.lng =~/ko/ \ + and defined? @md.make.texpdf_fontface.cjk_ko \ + and not @md.make.texpdf_fontface.cjk_ko.nil? \ + and @md.make.texpdf_fontface.cjk_ko=~/\S{3,}/ + @md.make.texpdf_fontface.cjk_ko + elsif @md.opt.lng =~/(?:zh|ja|ko)/ \ + and defined? @md.make.texpdf_fontface.cjk \ + and not @md.make.texpdf_fontface.cjk.nil? \ + and @md.make.texpdf_fontface.cjk=~/\S{3,}/ + @md.make.texpdf_fontface.cjk + else + case @md.opt.lng + when /zh/ then @env.font.texpdf.cjk_zh + when /ja/ then @env.font.texpdf.cjk_ja + when /ko/ then @env.font.texpdf.cjk_ko + else @env.font.texpdf.cjk + end + end + # you may wish to check selected font against available fonts: + # fc-list :outline -f "%{family}\n" + # fc-list :lang=ja + case @tex2pdf + when /xe/ + if @md.opt.lng =~/(?:zh|ja|ko)/ + <<-WOK +\\usepackage{ucs, fontspec, xltxtra, xunicode, xeCJK} +\\setmainCJKlanguage{#{tex_head_lang[:mainlang]}} +\\setCJKmainfont{#{texpdf_fontface_cjk}} +\\XeTeXlinebreaklocale "#{tex_head_lang[:mainlang]}" +\\XeTeXlinebreakskip = 0pt plus 1pt +\\setotherlanguage{#{tex_head_lang[:otherlang]}} +\\setmainfont{#{texpdf_fontface}} +\\setmonofont[Scale=0.85]{#{texpdf_fontface_mono}} + WOK + elsif (tex_head_lang[:mainlang] == "english" \ + && (tex_head_lang[:otherlang] == "english" \ + || tex_head_lang[:otherlang] == "" \ + || tex_head_lang[:otherlang].length == 0)) + <<-WOK +\\usepackage{polyglossia, ucs, fontspec, xltxtra, xunicode} +\\setmainlanguage{#{tex_head_lang[:mainlang]}} +\\setmainfont{#{texpdf_fontface}} +\\setmonofont[Scale=0.85]{#{texpdf_fontface_mono}} +% \\setsansfont{#{texpdf_fontface_sans}} +% \\setromanfont{#{texpdf_fontface_serif}} + WOK + else + <<-WOK +\\usepackage{polyglossia, ucs, fontspec, xltxtra, xunicode} +\\setmainlanguage{#{tex_head_lang[:mainlang]}} +\\setotherlanguage{english} +\\setmainfont{#{texpdf_fontface}} +\\setmonofont[Scale=0.85]{#{texpdf_fontface_mono}} +% \\setsansfont{#{texpdf_fontface_sans}} +% \\setromanfont{#{texpdf_fontface_serif}} + WOK + end + when /pdf/ + if @md.file_encoding =~ /iso-?8859/i #% iso8859 + <<-WOK +% \\usepackage[latin1]{inputenc} +\\usepackage{fontspec} + WOK + else #% utf-8 assumed + <<-WOK +\\usepackage{babel} +\\usepackage{ucs} +\\usepackage[utf8x]{inputenc} + WOK + end + end + end + def tex_head_info + generator="Generated by: #{@md.project_details.project} #{@md.project_details.version} of #{@md.project_details.date_stamp} (#{@md.project_details.date})" if @md.project_details.version + lastdone="Last Generated on: #{Time.now}" + rubyv="Ruby version: #{@md.ruby_version}" + <<-WOK +%% SiSU (Linux & Ruby - \"better ways\") LaTeX output +%% #{generator} +%% #{rubyv} +%% LaTeX output +%% #{lastdone} +%% SiSU http://www.jus.uio.no/sisu + WOK + end + def tex_head_paper_portrait(d) + multicol=(@md.book_idx ? '\usepackage{multicol}' : '') + <<-WOK +#{tex_head_info} +\\usepackage{geometry} +\\documentclass[#{d[:fontsize]},#{d[:papertype]},titlepage]{scrartcl} %with titlepage +\\setlength{\\textheight}{#{d[:textheight]}mm} \\setlength{\\textwidth}{#{d[:textwidth]}mm} +\\setlength{\\oddsidemargin}{#{d[:oddsidemargin]}} \\setlength{\\evensidemargin}{#{d[:evensidemargin]}} +\\setlength{\\topmargin}{#{d[:topmargin]}} \\setlength{\\headheight}{#{d[:headheight]}} +\\setlength{\\headsep}{#{d[:headsep]}} +\\setlength{\\marginparsep}{#{d[:marginparsep]}} +\\setlength{\\marginparwidth}{#{d[:marginparwidth]}} +#{multicol} + WOK + end + def tex_head_paper_landscape(d) + <<-WOK +#{tex_head_info} +\\usepackage{geometry} +\\documentclass[#{d[:fontsize]},#{d[:papertype]},landscape,titlepage,twocolumn]{scrartcl} %with titlepage +\\setlength{\\textheight}{#{d[:textheight]}mm} \\setlength{\\textwidth}{#{d[:textwidth]}mm} +\\setlength{\\oddsidemargin}{#{d[:oddsidemargin]}} \\setlength{\\evensidemargin}{#{d[:evensidemargin]}} +\\setlength{\\topmargin}{#{d[:topmargin]}} \\setlength{\\headheight}{#{d[:headheight]}} +\\setlength{\\headsep}{#{d[:headsep]}} +\\setlength{\\columnsep}{#{d[:columnsep]}} +\\setlength{\\marginparsep}{#{d[:marginparsep]}} +\\setlength{\\marginparwidth}{#{d[:marginparwidth]}} + WOK + end + def tex_head_paper_portrait_dvi(d) + <<-WOK +#{tex_head_info} +\\documentclass[#{d[:fontsize]},#{d[:papertype]},titlepage]{scrartcl} %with titlepage +\\setlength{\\textheight}{#{d[:textheight]}mm} \\setlength{\\textwidth}{#{d[:textwidth]}mm} +\\setlength{\\oddsidemargin}{#{d[:oddsidemargin]}} \\setlength{\\evensidemargin}{#{d[:evensidemargin]}} +\\setlength{\\topmargin}{#{d[:topmargin]}} \\setlength{\\headheight}{#{d[:headheight]}} +\\setlength{\\headsep}{#{d[:headsep]}} +\\setlength{\\marginparsep}{#{d[:marginparsep]}} +\\setlength{\\marginparwidth}{#{d[:marginparwidth]}} + WOK + end + def tex_head_paper_dimensions + d={} + fontsize_set=if defined? @env.font.texpdf.size(@md.opt.act[:pdf_font_size]) \ + and not @env.font.texpdf.size(@md.opt.act[:pdf_font_size]).nil? + @env.font.texpdf.size(@md.opt.act[:pdf_font_size]) + else :na + end + case @layout + when :portrait + fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt') + d[:papertype],d[:fontsize]='a4paper',fontsize + d[:oddsidemargin],d[:evensidemargin],d[:topmargin]='0mm','0mm','-12pt' + d[:headheight],d[:headsep],d[:columnsep]='12pt','35pt','' + d[:marginparsep],d[:marginparwidth]='4mm','8mm' + case @ps #@md.papersize + when /a4/i #European default, SiSU default + fontsize=(fontsize_set==:na) ? '12pt' : (fontsize_set + 'pt') + d[:papertype],d[:fontsize]='a4paper',fontsize + d[:textheight],d[:textwidth]=@tx.a4.portrait.h,@tx.a4.portrait.w + when /letter/i #U.S. default + fontsize=(fontsize_set==:na) ? '12pt' : (fontsize_set + 'pt') + d[:papertype],d[:fontsize]='letterpaper',fontsize + d[:textheight],d[:textwidth]=@tx.letter.portrait.h,@tx.letter.portrait.w + when /legal/i #U.S. alternative + fontsize=(fontsize_set==:na) ? '12pt' : (fontsize_set + 'pt') + d[:papertype],d[:fontsize]='legalpaper',fontsize + d[:textheight],d[:textwidth]=@tx.legal.portrait.h,@tx.legal.portrait.w + when /book|b5/i #book default - larger + fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt') + d[:papertype],d[:fontsize]='b5paper',fontsize + d[:oddsidemargin],d[:evensidemargin],d[:topmargin]='-4mm','-4mm','-36pt' + d[:headheight],d[:headsep],d[:columnsep]='12pt','20pt','' + d[:textheight],d[:textwidth]=@tx.b5.portrait.h,@tx.b5.portrait.w + when /a5/i + fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt') + d[:papertype],d[:fontsize]='a5paper',fontsize + d[:oddsidemargin],d[:evensidemargin],d[:topmargin]='-4mm','-4mm','-36pt' + d[:headheight],d[:headsep],d[:columnsep]='11pt','12pt','' + d[:marginparsep],d[:marginparwidth]='4mm','6mm' + d[:textheight],d[:textwidth]=@tx.a5.portrait.h,@tx.a5.portrait.w + else #default currently A4 + fontsize=(fontsize_set==:na) ? '12pt' : (fontsize_set + 'pt') + d[:papertype],d[:fontsize]='a4paper',fontsize + d[:textheight],d[:textwidth]=@tx.a4.portrait.h,@tx.a4.portrait.w + end + when :landscape + fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt') + d[:papertype],d[:fontsize]='a4paper',fontsize + d[:oddsidemargin],d[:evensidemargin],d[:topmargin]='6mm','6mm','-12mm' + d[:headheight],d[:headsep],d[:columnsep]='12pt','20pt','40pt' + d[:marginparsep],d[:marginparwidth]='4mm','8mm' + case @ps #@md.papersize + when /a4/i #European default, SiSU default + fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt') + d[:papertype],d[:fontsize]='a4paper',fontsize + d[:textheight],d[:textwidth]=@tx.a4.landscape.h,@tx.a4.landscape.w + when /letter/i #U.S. default + fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt') + d[:papertype],d[:fontsize]='letterpaper',fontsize + d[:textheight],d[:textwidth]=@tx.letter.landscape.h,@tx.letter.landscape.w + when /legal/i #U.S. alternative + fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt') + d[:papertype],d[:fontsize],d[:columnsep]='legalpaper',fontsize,'48pt' + d[:textheight],d[:textwidth]=@tx.legal.landscape.h,@tx.legal.landscape.w + when /book|b5/i #book default - larger + fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt') + d[:papertype],d[:fontsize],d[:columnsep]='b5paper',fontsize,'35pt' + d[:textheight],d[:textwidth]=@tx.b5.landscape.h,@tx.b5.landscape.w + when /a5/i + fontsize=(fontsize_set==:na) ? '10pt' : (fontsize_set + 'pt') + d[:papertype],d[:fontsize],d[:columnsep]='a5paper',fontsize,'32pt' + d[:textheight],d[:textwidth]=@tx.a5.landscape.h,@tx.a5.landscape.w + else #default currently A4 + fontsize=(fontsize_set==:na) ? '12pt' : (fontsize_set + 'pt') + d[:papertype],d[:fontsize]='a4paper',fontsize + d[:textheight],d[:textwidth]=@tx.a4.landscape.h,@tx.a4.landscape.w + end + end + d + end + def tex_head_paper + case @layout + when :portrait + tex_head_paper_portrait(tex_head_paper_dimensions) + when :landscape + tex_head_paper_landscape(tex_head_paper_dimensions) + end + end + def hyperlinks_monochrome + <<-WOK + colorlinks=true, + urlcolor=myblack, + filecolor=myblack, + linkcolor=myblack, + WOK + end + def hyperlinks_colored + <<-WOK + colorlinks=true, + urlcolor=myblue, % \\href{...}{...} external url + filecolor=mygreen, % \\href{...} local file + linkcolor=myred, % \\href{...} and \\pageref{...} + WOK + end + def hyperlinks_color? + case @layout + when :portrait then hyperlinks_monochrome + if @env.texpdf_hyperlinks(@md.opt.act[:pdf_hyperlink_colors]).portrait != :na + case @env.texpdf_hyperlinks(@md.opt.act[:pdf_hyperlink_colors]).portrait + when :color then hyperlinks_colored + when :mono then hyperlinks_monochrome + else p __LINE__.to_s + ':error' + end + else hyperlinks_monochrome + end + when :landscape + if @env.texpdf_hyperlinks(@md.opt.act[:pdf_hyperlink_colors]).landscape != :na + case @env.texpdf_hyperlinks(@md.opt.act[:pdf_hyperlink_colors]).landscape + when :color then hyperlinks_colored + when :mono then hyperlinks_monochrome + else p __LINE__.to_s + ':error' + end + else hyperlinks_colored + end + end + end + def tex_head_pdftex + author=if defined? @md.creator.author \ + and @md.creator.author=~/\S+/ + SiSU_TeX_Pdf::SpecialCharacters.new(@md,@md.creator.author).special_characters_safe_no_urls + else '' + end + <<-WOK +\\usepackage{alltt} +\\usepackage{thumbpdf} +\\usepackage[#{@tex2pdf}, + #{hyperlinks_color?.strip} + pdftitle={#{@txt}}, + pdfauthor={#{author}}, + pdfsubject={#{@subject}}, + pdfkeywords={#{@keywords}}, + pageanchor=true, + plainpages=true, + pdfpagelabels=true, + pagebackref, + bookmarks=true, + bookmarksopen=true, + pdfmenubar=true, + pdfpagemode=UseOutline, + pdffitwindow=true, + pdfwindowui=true, + plainpages=false, +% pdfusetitle=true, +% pdfpagelayout=SinglePage, +% pdfpagelayout=TwoColumnRight, +% pdfpagelayout=TwoColumnLeft, +% pdfstartpage=3, + pdfstartview=FitH +] +{hyperref} +%% trace lost characters +% \\tracinglostchars = 1 +% \\tracingonline = 1 +\\usepackage[usenames]{color} +\\definecolor{myblack}{rgb}{0,0,0} +\\definecolor{myred}{rgb}{0.75,0,0} +\\definecolor{mygreen}{rgb}{0,0.5,0} +\\definecolor{myblue}{rgb}{0,0,0.5} +\\definecolor{mywhite}{rgb}{1,1,1} +\\usepackage{url} +\\urlstyle{sf} +%\\usepackage{breakurl} + WOK + end + def tex_head_codeblock(codeblock_box_type) + codeblock_box=if codeblock_box_type=='listings' + <<-WOK +\\usepackage{listings} +\\usepackage{color} +\\usepackage{textcomp} + WOK + elsif codeblock_box_type=='boites' + "\\usepackage{boites}" + else + "\\usepackage{boites}" + end + codeblock_box + end + def tex_head_misc + <<-WOK +\\usepackage{textcomp} +\\usepackage[parfill]{parskip} +\\usepackage[normalem]{ulem} +\\usepackage{soul} +\\usepackage{longtable} +\\usepackage[tc]{titlepic} +\\usepackage{graphicx} +\\makeatletter +\\parindent0pt +%\\usepackage{mathptmx} +\\usepackage{amssymb} +% amssymb used for backslash + WOK + end + def document_head_with_orientation(codeblock_box_type) + endnotes=("\\usepackage{endnotes}" if @txt =~/endnotes?/) || '' #not implemented see also def endnotes + @lang.list[@md.i18n[0]][:xlp] + <<-WOK +#{tex_head_paper} +#{tex_head_encode} +#{tex_head_pdftex} +#{tex_head_misc} +#{tex_head_codeblock(codeblock_box_type)} +\\setcounter{secnumdepth}{2} +\\setcounter{tocdepth}{4} +\\makeatletter +#{endnotes} +\\usepackage[multiple,ragged]{footmisc} +\\setlength\\footnotemargin{12pt} +\\usepackage[para]{manyfoot} +\\DeclareNewFootnote{A} +%\\DeclareNewFootnote[para]{A} +\\newenvironment{ParagraphIndent}[1]% +{ +\\begin{list}{}{% +\\setlength\\topsep{0pt}% +\\addtolength{\\leftmargin}{#1} +\\setlength\\parsep{0pt plus 1pt}% +} +\\item[] +} +{\\end{list}} + +\\newenvironment{ParagraphHang}[2]% +{ +\\begin{list}{}{% +\\setlength\\topsep{0pt}% +\\addtolength{\\leftmargin}{#1} +\\itemindent=#2 +\\setlength\\parsep{0pt plus 1pt}% +} +\\item[] +} +{\\end{list}} + +\\newenvironment{Bullet}[1]% +{ +\\begin{list}{}{% +\\setlength\\topsep{0pt}% +\\addtolength{\\leftmargin}{#1} +\\itemindent=-1em +\\setlength\\parsep{0pt plus 1pt}% +} +\\item[] +} +{\\end{list}} +\\usepackage{fancyhdr} +\\lhead{} +\\renewcommand{\\part}{\\\@startsection + {part}{1}{-2mm}% + {-\\baselineskip}{0.5\\baselineskip}% + {\\bfseries\\large\\upshape\\raggedright}} +\\renewcommand{\\section}{\\\@startsection + {section}{2}{-2mm}% + {-\\baselineskip}{0.5\\baselineskip}% + {\\bfseries\\large\\upshape\\raggedright}} +\\renewcommand{\\subsection}{\\\@startsection + {subsection}{3}{-2mm}% + {-\\baselineskip}{0.5\\baselineskip}% + {\\bfseries\\large\\upshape\\raggedright}} +\\renewcommand{\\subsubsection}{\\\@startsection + {subsubsection}{4}{-2mm}% + {-\\baselineskip}{0.5\\baselineskip}% + {\\normalfont\\normalsize\\bfseries\\raggedright}} +\\renewcommand{\\paragraph}{\\\@startsection + {paragraph}{5}{-2mm}% + {-\\baselineskip}{0.5\\baselineskip}% + {\\normalfont\\normalsize\\itshape\\raggedright}} +\\renewcommand{\\subparagraph}{\\\@startsection + {subparagraph}%{6}%{-2mm}% + {-\\baselineskip}{0.5\\baselineskip}% + {\\normalfont\\normalsize\\itshape\\raggedright}} +% \\makeatother +\\selectlanguage{#{@lang.list[@md.i18n[0]][:xlp]}} + WOK + end + def a4generic + end + end + class SpecialCharacters + include SiSU_Parts_TeXpdf + def initialize(md,str,is=:default) + @md,@txt,@is=md,str,is + @tex2pdf=@@tex3pdf ||=SiSU_Env::SystemCall.new.tex2pdf_engine + end + def xetex_code_listings(str,is=:default) # ~ ^ $ & % _ { } #LaTeX special characters - KEEP list + word=str.scan(/\S+|\n/) #unless line =~/^(?:@\S|%+\s)/ + para_array=[] + str=if word + word.each do |w| # _ - / # | : ! ^ ~ + w=w.gsub(/#{Mx[:gl_o]}#lt#{Mx[:gl_c]}/,'<').gsub(/#{Mx[:gl_o]}#gt#{Mx[:gl_c]}/,'>'). + gsub(/[\\]?~/,'~'). + gsub(/[#{Mx[:br_line]}#{Mx[:br_paragraph]}]/,"\n"). #watch + gsub(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/,'~'). #126 usual + gsub(/\\?\||#{Mx[:gl_o]}#124#{Mx[:gl_c]}/,'|') #unless is=='code' #unless w=~/<~\d+;(?:[ohmu]|[0-6]:)\d+;\w\d+>/ # | SiSU not really special sisu character but done, also LaTeX + para_array << w + end + str=para_array.join(' ') + str=str.strip unless is==:code + str + else '' + end + str=str.gsub(/\s*#{Mx[:mk_o]}:name#\S+?#{Mx[:mk_c]}\s*/,' '). + gsub(/.+?<-#>/,''). + gsub(/#{Mx[:br_eof]}/,''). + gsub(/#{Mx[:br_endnotes]}/,''). + #problem sequence -> + gsub(/&(?:lt|#060);/,'<'). # < SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#(?:gt|062)#{Mx[:gl_c]}/,'>'). # > SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{'). # { SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}'). # } SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/,'~'). # ~ SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#'). # SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!'). # ! SiSU not really special sisu character but done, also LaTeX + #gsub(/(^|\s)\*\s/,'\1\asterisk '). # * should you wish to escape astrisk e.g. describing \*{bold}* + gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*'). # * should you wish to escape astrisk e.g. describing \*{bold}* + gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-'). # - SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#043#{Mx[:gl_c]}/,'+'). # + SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#044#{Mx[:gl_c]}/,','). # + SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#038#{Mx[:gl_c]}/,'&'). #unless @txt=~/<:code>/ # / SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/'). # / SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#092#{Mx[:gl_c]}/,'\\'). # \ SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_'). # _ SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#124#{Mx[:gl_c]}/,'|'). # | SiSU not really special sisu character but done, also LaTeX + gsub(/#{Mx[:gl_o]}#058#{Mx[:gl_c]}/,':'). # : SiSU not really special sisu character but done, also LaTeX + gsub(/#{Mx[:gl_o]}#094#{Mx[:gl_c]}|\^/,'^'). # ^ SiSU not really special sisu character but done, also LaTeX + ##watch placement, problem sequence ^ + gsub(/&atild;<\/font><\/sup>/,' '). + gsub(/\\copy(right|mark)?/,'<=copymark>') # ok problem with superscript + end + def xetex_special_characters_1(str,is=:default) # ~ ^ $ & % _ { } #LaTeX special characters - KEEP list + word=str.scan(/\S+|\n/) #unless line =~/^(?:@\S|%+\s)/ + para_array=[] + str=if word + word.each do |w| # _ - / # | : ! ^ ~ + if w !~/https?:/ \ + and w=~/\/\S+?\// \ + and w.length > 6 + w=w.gsub(/([_.\/])/,'\1\-') + end + w=w.gsub(/#{Mx[:gl_o]}#lt#{Mx[:gl_c]}/,'<').gsub(/#{Mx[:gl_o]}#gt#{Mx[:gl_c]}/,'>'). + gsub(/[\\]?~/,'<=tilde>'). + gsub(/[#{Mx[:br_line]}#{Mx[:br_paragraph]}]/,' \newline '). #watch + gsub(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/,'<=tilde>'). #126 usual + gsub(/\\?\||#{Mx[:gl_o]}#124#{Mx[:gl_c]}/,'\pipe') #unless is=='code' #unless w=~/<~\d+;(?:[ohmu]|[0-6]:)\d+;\w\d+>/ # | SiSU not really special sisu character but done, also LaTeX + if w !~/#{Mx[:rel_o]}/ \ + and w !~/#{Mx[:gl_o]}#/ + w=w.gsub(/\#/,'<=hash>') + end + para_array << w + end + str=para_array.join(' ') + str=str.strip unless is==:code + str + else '' + end + str=str.gsub(/\s*#{Mx[:mk_o]}:name#\S+?#{Mx[:mk_c]}\s*/,' '). + gsub(/.+?<-#>/,''). + gsub(/#{Mx[:br_eof]}/,''). + gsub(/#{Mx[:br_endnotes]}/,'') + #problem sequence -> + str=str.gsub(/&(?:nbsp);|#{Mx[:nbsp]}/,'\hardspace') unless is==:code # < SiSU special character also LaTeX + str=str.gsub(/&(?:lt|#060);/,'\lt'). # < SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#(?:gt|062)#{Mx[:gl_c]}/,'\gt'). # > SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'\curlyopen'). # { SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'\curlyclose'). # } SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/,'<=tilde>'). # ~ SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'\#'). # # SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!'). # ! SiSU not really special sisu character but done, also LaTeX + gsub(/(^|\s)\*\s/,'\1\asterisk '). # * should you wish to escape astrisk e.g. describing \*{bold}* + gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'\*'). # * should you wish to escape astrisk e.g. describing \*{bold}* + gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-'). # - SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#043#{Mx[:gl_c]}/,'+'). # + SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#044#{Mx[:gl_c]}/,','). # + SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#038#{Mx[:gl_c]}/,'<=amp>'). #unless @txt=~/<:code>/ # / SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'\slash'). # / SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#092#{Mx[:gl_c]}/,'\textbackslash'). # \ SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'<=underscore>'). # _ SiSU special character also LaTeX + gsub(/#{Mx[:gl_o]}#124#{Mx[:gl_c]}/,'|'). # | SiSU not really special sisu character but done, also LaTeX + gsub(/#{Mx[:gl_o]}#058#{Mx[:gl_c]}/,':'). # : SiSU not really special sisu character but done, also LaTeX + gsub(/#{Mx[:gl_o]}#094#{Mx[:gl_c]}|\^/,'\caret'). # ^ SiSU not really special sisu character but done, also LaTeX + ##watch placement, problem sequence ^ + gsub(/&atild;<\/font><\/sup>/,' '). + gsub(/\\copy(right|mark)?/,'<=copymark>') # ok problem with superscript + end + def xetex_special_characters_2(str,is=:default) + str=str.gsub(/#{Mx[:gl_o]}#156#{Mx[:gl_c]}/,'\oe '). + gsub(/\$/,'\$'). + gsub(/\#/,'\#'). + gsub(/\%/,'\%'). + gsub(/\~/,'\~') #revist, should not be necessary to mark remaining tildes + if str !~/^\s*#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}image\s/ + str=str.gsub(/_/,'\_') + end + str=str.gsub(/\{/,'\{'). + gsub(/\}/,'\}') + str=if is==:code + str.gsub(/&/,'{\\\&}'). + gsub(/\\~(\\\{)/,'{$\tilde$}\1'). + gsub(/(\\\})\\~/,'\1{$\tilde$}'). + gsub(/\\~(\[)/,'{$\tilde$}\1'). + gsub(/(\])\\~/,'\1{$\tilde$}'). + gsub(/<=tilde>/,'{$\tilde$}'). + gsub(/<=hash>/,'{\#}') + else + str.gsub(/ |#{Mx[:nbsp]}/,'~'). # ~ character for hardspace + gsub(/&/,'<=amp>') + end + str=str.gsub(/&\S+?;/,' '). + gsub(/§/u,'\S'). #latex: space between next character not preserved? #str.gsub(/§ /,'\S ') + gsub(/£/u,'\pounds'). + gsub(//,' '). + gsub(/<\/a>/,' ') + unless is==:no_urls + str=str.gsub(/((?:^|\s)#{Mx[:lnk_c]})#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, + '\1\begin{scriptsize}\url{\2}\end{scriptsize}\3'). #special case \{ e.g. \}http://url + gsub(/#{Mx[:url_o]}\\_(\S+?)#{Mx[:url_c]}/, + '\begin{scriptsize}\url{\1}\end{scriptsize}'). #special case \{ e.g. \}http://url + gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/, + '\begin{scriptsize}\\url{\1}\end{scriptsize}') #specially escaped url no decoration + end + if is !=:code \ + and is !=:no_urls + str=str.gsub(/(^|#{Mx[:gl_c]}|\s)((?:https?|file|ftp):\/\/\S+?\.[^'"\s]+?)([;.,]?(?=\s|$))/, + "\\1#{url_decoration.tex_open}\\begin{scriptsize}\\url{\\2}\\end{scriptsize}#{url_decoration.tex_close}\\3") #url matching with decoration positive lookahead, sequence issue with { linked }http://url cannot use \b at start + end + str=str.gsub(/<:ee>/,''). + gsub(//,' '). #proposed change, insert, but may be redundant + gsub(/<(br|p)>|<\/\s*(br|p)>|<(br|p)\s*\/>/," #{Tex[:backslash]*2} "). # Work Area + gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'\begin{bfseries}\1 \end{bfseries}'). + gsub(/(.+?)<\/h\d+>/,'\begin{bfseries}\1 \end{bfseries}'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'\emph{\1}'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'\uline{\1}'). # ulem + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,"``\\1''"). # quote #CHECK + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'\uline{\1}'). # ulem + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'\sout{\1}'). # ulem + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,"\$^{\\textrm{\\1}}\$"). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,"\$_{\\textrm{\\1}}\$"). + gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'\begin{monosp}\1\end{monosp}') + unless is==:code + str=str.gsub(/"(.+?)"/,'“\1”'). # quote marks / quotations open & close " need condition exclude for code + gsub(/\s+"/,' “'). # open " + gsub(/^(#{Mx[:lv_o]}[1-6-]:\S*?#{Mx[:lv_c]}|<.+?>)?\s*"/,'\1“'). #fix Mx[:lv_o] # open " + gsub(/"(\s|\.|,|:|;)/,'”\1'). # close " + gsub(/"(#{Mx[:lv_o]}[1-6-]:\S*?#{Mx[:lv_c]}|<.+?>)?\s*$/,'”\1'). #fix Mx[:lv_o] # close " + gsub(/"(\.|,)/,'”'). # close " + gsub(/\s+'/,' `'). # open ' + gsub(/^(#{Mx[:lv_o]}[1-6-]:\S*?#{Mx[:lv_c]}|<.+?>)?\s*'/,'\1`') #fix Mx[:lv_o] # open ' + end + str=str.gsub(/(|<\/font>)/,''). + gsub(/\s*#{Mx[:fa_superscript_o]}(\S+?)#{Mx[:fa_superscript_c]}/,'^\1') + str + end + def xetex_special_characters_3(str) + str=str.gsub(/])/,'\1'). # clean up, incredibly messy :-( footnote indents, problems if match exists in ordinary paragraphs? check! Work Area 200501 a bit tricky as must be able to match multiple times, and to clean remainder + gsub(/([^<][^b][^r]\s+)\/>/,'\1') # clean up, incredibly messy :-( footnote indents, problems if match exists in ordinary paragraphs? check! Work Area 200501 a bit tricky as must be able to match multiple times, and to clean remainder + while str =~/(https?:\/\/\S+?)(?:<=tilde>\S+)+/ #tilde in urls \href treated differently from text #FIX + str=str.gsub(/(https?:\/\/\S+?)(?:<=tilde>(\S+))+/,'\1~\2') + end + str=str.gsub(/<=tilde>/,'{$\tilde$}'). + gsub(/(https?:\/\/\S+?)(?:(?:<=hash>)(\S+))+/,'\1#\2'). #hash in urls \href treated differently from text #FIX + gsub(/<=hash>/,'{\#}') + while str =~/(https?:\/\/\S+?)(?:<=amp>\S+)+/ #amp in urls \href treated differently from text #FIX + str=str.gsub(/(https?:\/\/\S+?)(?:<=amp>(\S+))+/,'\1&\2') + end + str=str.gsub(/<=amp>/,'{\\\&}'). #changed ... 2005 + gsub(/<=copymark>\s*(.+)/, + '^\copyright \textnormal{\1} \2') # watch likely to be problematic + str + end + def special_characters_safe_close(str) + str=str.gsub(/<=tilde>/,'{$\tilde$}'). + gsub(/<=hash>/,'{\#}'). + gsub(/<=amp>/,'{\\\&}'). #changed ... 2005 + gsub(/<=copymark>\s*(.+)/, + '^\copyright \textnormal{\1} \2') # watch likely to be problematic + end + def special_characters_code_fix(str) + str=str.gsub(/<=tilde>/,'{$\tilde$}') + str + end + def special_characters_unsafe_1(str) #depreciated, make obsolete + # some substitutions are sequence sensitive, rearrange with care. + str=str.gsub(/\\textbackslash (copyright|clearpage|newpage)/,"\\\\\\1") #kludge bad solution, find out where tail is sent through specChar ! + str + end + def special_characters # special characters - some substitutions are sequence sensitive, rearrange with care + str,is=@txt,@is + str=xetex_special_characters_1(str,is) unless str.nil? + str=special_characters_unsafe_1(str) unless str.nil? #xetex_special_characters_unsafe_1(@txt) + str=xetex_special_characters_2(str,is) unless str.nil? #issues with xetex + str=xetex_special_characters_3(str) unless str.nil? + @txt=str + end + def special_word_break_points + str=@txt + str=str.gsub(/([_,.;:\/|=])/,'\1\-'). + gsub(/(--)(\S{4,})/,'\1\-\2') + @txt=str + end + def special_number_break_points + str=@txt + str=str.gsub(/([0-9a-f]{8})/i,'\1\-') + @txt=str + end + def special_characters_safe # special characters - some substitutions are sequence sensitive, rearrange with care + str,is=@txt,@is + str=xetex_special_characters_1(str,is) unless str.nil? + str=xetex_special_characters_2(str,is) unless str.nil? # remove this to start with, causes issues + str=special_characters_safe_close(str) unless str.nil? + @txt=str + end + def special_characters_safe_no_urls + str,is=@txt,:no_urls + str=xetex_special_characters_1(str,is) unless str.nil? + str=xetex_special_characters_2(str,is) unless str.nil? # remove this to start with, causes issues + str=special_characters_safe_close(str) unless str.nil? + @txt=str + end + def characters_code_listings # special characters - some substitutions are sequence sensitive, rearrange with care + str,is=@txt,@is + str=xetex_code_listings(str,is) unless str.nil? + @txt=str + end + def special_characters_code + str=@txt + str=str.gsub(/ \\\\([ #{Mx[:br_nl]}]+|$)/,' \textbackslash\textbackslash\hardspace\1') + str + end + end + class UseTeX + include SiSU_Parts_TeXpdf + attr_accessor :url,:txt,:date + def initialize(md) + @md=md + @date=SiSU_Env::InfoDate.new # #{@date.year} + @copymark='{\\begin{footnotesize}\\raisebox{1ex}{\\copyright}\\end{footnotesize}}' + end + def skip + "\n\\vspace*{\\smallskipamount} \n" + end + def paraskip_normal + '\setlength{\parskip}{1ex plus0.5ex minus0.2ex}' + end + def paraskip_small + '\setlength{\parskip}{0.5ex plus0.2ex minus0.1ex}' + end + def paraskip_tiny + '\setlength{\parskip}{0.1ex plus0.1ex minus0.1ex}' + end + def skip_small + "\\smallskip{}" + end + def skip_small_vspace + "\n\\vspace*{\\smallskipamount} \n" + end + def skip_small_footnote + end + def skip_medium + "\n\\medskip{}\n\n" + end + def skip_dummy + "\n" + end + def header + "\\lhead[ ]{ }\n" + + "\\chead[ \\fancyplain{} \\bfseries \\footnotesize \\leftmark ]{ \\fancyplain{} \\bfseries \\footnotesize \\rightmark }\n" + + "\\rhead[ ]{ }\n" + end + def footer + "\\lfoot[\\textrm{\\thepage}]{\\tiny \\href{#{@md.footer_links[:left][:url]}}{#{@md.footer_links[:left][:say]}}}\n" + + "\\cfoot{\\href{#{@md.footer_links[:center][:url]}}{#{@md.footer_links[:center][:say]}}}\n" + + "\\rfoot[\\tiny \\href{}{}]{\\textrm{\\thepage}}\n" + end + def site + if not the_url.home.empty? \ + and not the_url.home_txt.empty? + "\n\\date{\\begin{tiny} \\end{tiny}}" + else '' + end + end + def owner_chapter + "Contact Details for Original Promulgating Authority" + end + #BOOK standard dimensions - 229x156 + def newpage(orientation) + case orientation + when :landscape # using longtable latex package + <<-WOK +\\clearpage + WOK + when :portrait + <<-WOK +\\newpage + WOK + end + end + def sisu_rights + v=SiSU_Env::InfoVersion.instance.get_version + base_prog_txt=if @md.base_program + case @md.base_program + when /kdissert/i then "\n\\\\ This document prepared using \\href{http://freehackers.org/~tnagy/kdissert/}{Kdissert \\ http://freehackers.org/~tnagy/kdissert/ } \\\\ Kdissert is Document Mapping software by Thomas Nagy" + else '' + end + else '' + end + <<-WOK +\\\\ ~ +{\\begin{footnotesize}#{base_prog_txt} +\\\\ Generated by \\href{http://www.jus.uio.no/sisu}{SiSU} \\begin{tiny}[ #{v.project} #{v.version} of #{v.date_stamp} ]\\end{tiny} \\href{http://www.jus.uio.no/sisu}{www.jus.uio.no/sisu} +\\\\ Copyright #{@copymark} 1997, current #{@date.year_static} Ralph Amissah, All Rights Reserved. +\\\\ SiSU is software for document structuring, publishing and search (with object citation numbering), \\href{http://www.sisudoc.org}{www.sisudoc.org} +\\\\ SiSU is released under \\href{http://www.fsf.org/licenses/gpl.html}{GPL 3 } or later, #{url_brace.tex_open}\\href{http://www.fsf.org/licenses/gpl.html}{http://www.fsf.org/licenses/gpl.html}#{url_brace.tex_close}. +{\\end{footnotesize} +\\\\ + WOK + end + def doc_sc_info_footnote_full + <<-WOK +\\footnote{%\nGenerated by \\href{http://www.jus.uio.no/sisu}{SiSU \\ www.jus.uio.no/sisu }\\ \\newline \\scriptsize{Document version information: \\emph{sourcefile} \\uline{#{@md.fnstex}}; \\emph{version} \\uline{#{@md.sc_number}}; \\emph{date} \\uline{#{@md.sc_date}}; \\emph{time} \\uline{#{@md.sc_time}}}} + WOK + end + def doc_sc_info_footnote_brief + " \\footnote{%\nGenerated by \\href{http://www.jus.uio.no/sisu}{SiSU} \\ \\href{http://www.jus.uio.no/sisu}{www.jus.uio.no/sisu} \\newline \\href{http://www.sisudoc.org}{www.sisudoc.org} \\\n}" + end + def doc_sc_info + v=SiSU_Env::InfoVersion.instance.get_version + <<-WOK +\\\\ +{\\begin{footnotesize} +Document version information: \\\\ +\\emph{sourcefile} \\uline{#{@md.fnstex}}; \\emph{version} \\uline{#{@md.sc_number}}; \\emph{date} \\uline{#{@md.sc_date}}; \\emph{time} \\uline{#{@md.sc_time}} \\\\ +Generated by \\href{http://www.jus.uio.no/sisu}{SiSU www.jus.uio.no/sisu }\\- version information: \\\\ +\\uline{ #{v.project} #{v.version} of #{v.date_stamp}} +\\end{footnotesize}}& + WOK + end + def doc_no_sc_info + v=SiSU_Env::InfoVersion.instance.get_version + <<-WOK +\\\\ +{\\begin{small} +Document information: \\\\ +\\emph{sourcefile} \\uline{#{@md.fnstex}} \\\\ +Generated by \\href{http://www.jus.uio.no/sisu}{SiSU www.jus.uio.no/sisu } \\\\ version information: \\ +\\uline{ #{v.project} #{v.version} of #{v.date_stamp}} + +\\end{small}}& + WOK + end + def endnotes #not used should be inserted before MetaData section which preceeds doc_tail, but is "part of document" + <<-WOK +\\subsection*{Endnotes} +\\addcontentsline{toc}{section}{Endnotes} +\\ +\\listofendnotes + WOK + end + end +end +__END__ +ag usepackage texpdf* +ag usepackage texpdf* | ag '\{.+?\}' +# texpdf_format.rb +ag usepackage texpdf* | ag --only-matching '\{.+?\}' + +,* sort & make unique +@tex2pdf +alltt.sty +amssymb.sty +babel.sty +boites.sty +breakurl.sty +color.sty +endnotes.sty +fancyhdr.sty +fontspec.sty +footmisc.sty +graphicx.sty +inputenc.sty +listings.sty +longtable.sty +manyfoot.sty +mathptmx.sty +multicol.sty +parskip.sty +polyglossia.sty +soul.sty +textcomp.sty +thumbpdf.sty +titlepic.sty +ucs.sty +ulem.sty +url.sty +xeCJK.sty +xltxtra.sty +xunicode.sty + +,* debian related +,** found in + +alltt.sty + texlive-latex-base: /usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty +amssymb.sty + texlive-base: /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty +babel.sty + texlive-latex-base: /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty +boites.sty + texlive-latex-extra: /usr/share/texlive/texmf-dist/tex/latex/boites/boites.sty +breakurl.sty + texlive-latex-extra: /usr/share/texlive/texmf-dist/tex/latex/breakurl/breakurl.sty +color.sty + texlive-latex-base: /usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty +endnotes.sty + texlive-latex-extra: /usr/share/texlive/texmf-dist/tex/latex/endnotes/endnotes.sty +fancyhdr.sty + texlive-latex-base: /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty +fontspec.sty + texlive-latex-recommended: /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.sty +footmisc.sty + texlive-latex-extra: /usr/share/texlive/texmf-dist/tex/latex/footmisc/footmisc.sty +graphicx.sty + texlive-latex-base: /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +inputenc.sty + texlive-latex-base: /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty +listings.sty + texlive-latex-recommended: /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty +longtable.sty + texlive-latex-base: /usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty +manyfoot.sty + texlive-latex-extra: /usr/share/texlive/texmf-dist/tex/latex/ncctools/manyfoot.sty +mathptmx.sty + texlive-font-utils: /usr/share/doc/texlive-doc/fonts/fontinst/examples/mathptmx/mathptmx.sty + texlive-latex-base: /usr/share/texlive/texmf-dist/tex/latex/psnfss/mathptmx.sty +multicol.sty + ptex-jtex: /usr/share/texmf/ajtex/multicol.sty + texlive-latex-base: /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty +parskip.sty + texlive-latex-recommended: /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty +polyglossia.sty + texlive-latex-recommended: /usr/share/texlive/texmf-dist/tex/latex/polyglossia/polyglossia.sty +soul.sty + texlive-latex-extra: /usr/share/texlive/texmf-dist/tex/latex/soul/soul.sty +textcomp.sty + texlive-latex-base: /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty +thumbpdf.sty + texlive-latex-recommended: /usr/share/texlive/texmf-dist/tex/generic/thumbpdf/thumbpdf.sty +titlepic.sty + texlive-latex-extra: /usr/share/texlive/texmf-dist/tex/latex/titlepic/titlepic.sty +ucs.sty + texlive-latex-extra: /usr/share/texlive/texmf-dist/tex/latex/ucs/ucs.sty +ulem.sty + texlive-plain-generic: /usr/share/texlive/texmf-dist/tex/generic/ulem/ulem.sty +url.sty + texlive-latex-base: /usr/share/texlive/texmf-dist/tex/latex/url/url.sty +xeCJK.sty + texlive-xetex: /usr/share/texlive/texmf-dist/tex/xelatex/xecjk/xeCJK.sty +xltxtra.sty + texlive-latex-recommended: /usr/share/texlive/texmf-dist/tex/latex/xltxtra/xltxtra.sty +xunicode.sty + texlive-latex-recommended: /usr/share/texlive/texmf-dist/tex/xelatex/xunicode/xunicode.sty + +,** belongs to + +texlive-base: + amssymb.sty +texlive-latex-base: + alltt.sty + babel.sty + color.sty + fancyhdr.sty + graphicx.sty + inputenc.sty + longtable.sty + mathptmx.sty + multicol.sty + textcomp.sty + url.sty +texlive-latex-extra: + boites.sty + breakurl.sty + endnotes.sty + footmisc.sty + manyfoot.sty + soul.sty + titlepic.sty + ucs.sty +texlive-latex-recommended: + fontspec.sty + listings.sty + parskip.sty + polyglossia.sty + thumbpdf.sty + xltxtra.sty + xunicode.sty +texlive-plain-generic: + ulem.sty +texlive-xetex: + xeCJK.sty + +,** all texlive packages used + +texlive-base +texlive-latex-base +texlive-latex-extra +texlive-latex-recommended +texlive-plain-generic +texlive-xetex + +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + texpdf + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/txt.org b/org/txt.org new file mode 100644 index 00000000..e7fb6a7c --- /dev/null +++ b/org/txt.org @@ -0,0 +1,3205 @@ +-*- mode: org -*- +#+TITLE: sisu txt +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:txt: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* types +** asciidoc +*** txt_asciidoc.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_asciidoc.rb" +# <> +module SiSU_Txt_AsciiDoc + require_relative 'ao' # ao.rb + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'shared_metadata' # shared_metadata.rb + require_relative 'generic_parts' # generic_parts.rb + require_relative 'txt_read' # txt_read.rb + require_relative 'txt_shared' # txt_shared.rb + require_relative 'txt_asciidoc_decorate' # txt_decorate.rb + require_relative 'txt_output' # txt_output.rb + include SiSU_Param + @@alt_id_count,@@alt_id_count=0,0 + @@tablefoot='' + class Source + include SiSU_Txt_Read + def initialize(opt) + @opt=opt + unless @opt.fns =~/(.+?)\.(?:-|ssm\.)?sst$/ + puts "#{sf} not a processed file type" + end + end + def read + begin + md=SiSU_Param::Parameters.new(@opt).get + specific={ + description: 'AsciiDoc (plaintext utf-8)', + output_path: md.file.output_path.asciidoc.dir, + output_file: md.file.base_filename.asciidoc, + } + read_generic(@opt,specific) + SiSU_Txt_AsciiDoc::Source::Scroll.new(md,@ao_array,@wrap_width).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + private + class Scroll @wrap_width + case dob.lc + when 0 then decorate.heading.underscore.l0*times + p_num << break_line*2 + when 1 then decorate.heading.underscore.l1*times + p_num << break_line*2 + when 2 then decorate.heading.underscore.l2*times + p_num << break_line*2 + when 3 then decorate.heading.underscore.l3*times + p_num << break_line*2 + when 4 then decorate.heading.underscore.l4*times + p_num << break_line*2 + when 5 then decorate.heading.underscore.l5*times + p_num << break_line*2 + when 6 then decorate.heading.underscore.l6*times + p_num << break_line*2 + end + end + end + def plaintext_structure(dob='',p_num='') #% Used to extract the structure of a document + heading_decoration=:inline #(:inline|:underscore) #switch heading decoration between inline & underscore options + util=nil + wrapped=if dob.is==:para \ + || dob.is==:heading + if dob.is==:heading + util=(heading_decoration== :inline) \ + ? (SiSU_TextUtils::Wrap.new(heading_decorated_inline(dob),@wrap_width,0)) + : (SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,0)) + elsif dob.is==:para + if dob.hang \ + and dob.hang =~/[0-9]/ \ + and dob.indent != dob.hang + util=SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,dob.indent.to_i*2,dob.hang.to_i*2) + #util=SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,dob.hang.to_i*2,0) + elsif dob.indent =~/[1-9]/ + util=if dob.bullet_ + SiSU_TextUtils::Wrap.new("* #{dob.obj}",@wrap_width,dob.indent.to_i*2) + else SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,dob.indent.to_i*2) + end + else + util=if dob.bullet_ + SiSU_TextUtils::Wrap.new("* #{dob.obj}",@wrap_width,0) + else SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,0) + end + end + else util=SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,0) + end + dob.is==:heading ? util.no_wrap_no_breaks : util.line_wrap + end + if heading_decoration== :underscore \ + and dob.is==:heading + @plaintext[:body] << wrapped + p_num # main text, contents, body KEEP + @plaintext[:body] << heading_decorated_underscore(dob,wrapped.length,p_num) + else + @plaintext[:body] << wrapped + p_num << break_line # main text, contents, body KEEP + end + if @@endnotes[:para] \ + and not @@endnotes_ + @@endnotes[:para].each {|e| @plaintext[:body] << e << break_line} + elsif @@endnotes[:para] \ + and @@endnotes_ + end + @@endnotes[:para]=[] + end + def markup(data) # Used for major markup instructions + SiSU_Env::InfoEnv.new(@md.fns) + @data_mod,@endnotes,@level,@cont,@copen,@plaintext_contents_close=Array.new(6){[]} + (0..6).each { |x| @cont[x]=@level[x]=false } + (4..6).each { |x| @plaintext_contents_close[x]='' } + plaintext_tail #($1,$2) + plaintext_metadata + table_message='[table conversion awaited, see other document formats]' + data.each do |dob| + dob.obj=dob.obj.gsub(/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}.+/um,"#{break_line}#{table_message}"). #fix + gsub(/.+?#{Mx[:gl_o]}-##{Mx[:gl_c]}/,''). # remove dummy headings (used by html) #check also [~-]# + gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/, + "#{decorate.bold.open}\\1#{decorate.bold.close}"). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/, + "#{decorate.italics.open}\\1#{decorate.italics.close}"). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/, + "#{decorate.underscore.open}\\1#{decorate.underscore.close}"). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/, + "#{decorate.subscript.open}\\1#{decorate.subscript.close}"). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/, + "#{decorate.superscript.open}\\1#{decorate.superscript.close}"). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/, + "#{decorate.insert.open}\\1#{decorate.insert.close}"). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/, + "#{decorate.cite.open}\\1#{decorate.cite.close}"). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/, + "#{decorate.strike.open}\\1#{decorate.strike.close}"). + gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/, + "#{decorate.monospace.open}\\1#{decorate.monospace.close}") + unless dob.is==:code + dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/,'\1'). + gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1'). + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1 [link: <\2>]'). + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}image/,'\1 [link: local image]'). + gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{the_text.url_open}\\1#{the_text.url_close}") + dob.obj=dob.obj.gsub(/\s*#{Mx[:en_a_o]}([\d*+]+)\s+(.+?)#{Mx[:en_a_c]}/,' footnote:[note\1,\2]'). + gsub(/\s*#{Mx[:en_b_o]}([\d*+]+\s+.+?)#{Mx[:en_b_c]}/,' footnote:[\1]') + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'[^\1]'). # endnote marker marked up + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,'[^\1]'). # endnote marker marked up + gsub(/#{Mx[:gl_o]}(?:#lt|#060)#{Mx[:gl_c]}/,'<'). + gsub(/#{Mx[:gl_o]}(?:#gt|#062)#{Mx[:gl_c]}/,'>'). + gsub(/#{Mx[:gl_o]}#(?:038|amp)#{Mx[:gl_c]}/,'&'). + gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!'). + gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#'). + gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*'). + gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-'). + gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/'). + gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_'). + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{'). + gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}'). + gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~'). + gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©'). + gsub(/#{Mx[:gl_o]}#092#{Mx[:gl_c]}/,'\\') + end + dob.obj=if dob.of==:block # watch + dob.obj.gsub(/#{Mx[:gl_o]}●#{Mx[:gl_c]}/m,"* "). + gsub(/\n?#{Mx[:br_line]}\n?|\n?#{Mx[:br_nl]}\n?/m,break_line) + else dob.obj.gsub(/\n?#{Mx[:br_line]}\n?|\n?#{Mx[:br_nl]}\n?/m,break_line*2) + end + if dob.is==:code + dob.obj=dob.obj.gsub(/(^|[^}])_([<>])/m,'\1\2'). # _> _< + gsub(/(^|[^}])_([<>])/m,'\1\2') # _<_< + end + dob.obj=dob.obj.gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1'). + gsub(/(.+?)<\/a>/m,'\1'). + gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,''). # remove name links + gsub(/ |#{Mx[:nbsp]}/,' '). # decide on + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,' [ \1 ]'). #"[ #{dir.url.images_local}\/\\1 ]") + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}image/,' [ \1 ]'). + gsub(/(?:^|[^_\\])\{\s*\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"\s*\}\S+/,'[image: "\1"]') + if dob.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + p_num='' + #ocn + if dob.is==:heading \ + or dob.is==:para + plaintext_structure(dob,p_num) + elsif dob.is==:group \ + or dob.is==:block \ + or dob.is==:verse \ + or dob.is==:code \ + or dob.is==:table + @plaintext[:body] << dob.obj + p_num << break_line + elsif dob.is==:break + sp=' ' + ln='<' #ln='-' + @plaintext[:body] <<=if dob.obj==Mx[:br_page] \ + or dob.obj==Mx[:br_page_new] \ + or dob.obj==Mx[:br_page_line] + "#{break_line}#{ln*40}#{break_line*2}" + elsif dob.obj ==Mx[:br_obj] + "#{break_line}#{sp*20}* * *#{break_line*2}" + end # following empty line (break_line) missing, fix + end + dob='' if (dob.obj =~// \ + and dob.obj =~/^(-\{{2}~\d+|)/) # -endnote + if dob ## Clean Prepared Text + dob.obj=dob.obj.gsub(//,' '). + gsub(/<:\S+>/,' ') + end + end + end + @plaintext + end + def publish(plaintext) + divider='=' + content=[] + content << plaintext[:open] + content << plaintext[:head] + content << plaintext[:body] + content << @@endnotes[:end] if @@endnotes_ + content << "#{break_line}#{divider*@wrap_width}#{break_line}" + content << plaintext[:metadata] + content << "#{break_line}#{divider*@wrap_width}#{break_line}" if @md.stmp =~/\w+/ #not used? + content << plaintext[:tail] + outputfile=SiSU_Env::FileOp.new(@md).write_file.asciidoc + Txt_Output::Output.new.document(content,outputfile) + @@endnotes={ para: [], end: [] } + end + end + end +end +__END__ +#+END_SRC + +*** txt_asciidoc_decorate.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_asciidoc_decorate.rb" +# <> +module SiSU_Decorate_Txt_AsciiDoc + def decorate + def heading + def inline + def l0 + '=' + end + def l1 + '==' + end + def l2 + '===' + end + def l3 + '====' + end + def l4 + '=====' + end + def l5 + '' #'======' #logical + end + self + end + def underscore + def l0 + '=' + end + def l1 + '-' + end + def l2 + '~' + end + def l3 + '^' + end + def l4 + '+' + end + def l5 + '.' #'.' #proposed + end + self + end + self + end + def bold + def open + '*' + end + def close + '*' + end + self + end + def italics + def open + '_' + end + def close + '_' + end + self + end + def underscore + def open + '' + end + def close + '' + end + self + end + #def emphasis + # def open + # '' + # end + # def close + # '' + # end + # self + #end + def cite + def open + '"' + end + def close + '"' + end + self + end + def insert + def open + '' + end + def close + '' + end + self + end + def strike + def open + '-' + end + def close + '-' + end + self + end + def superscript + def open + '^' + end + def close + '^' + end + self + end + def subscript + def open + '~' + end + def close + '~' + end + self + end + def hilite #bold + def open + '*' + end + def close + '*' + end + self + end + def monospace + def open + '+' + end + def close + '+' + end + self + end + self + end +end +__END__ +#+END_SRC + +** markdown +*** txt_markdown.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_markdown.rb" +# <> +module SiSU_Txt_Markdown + require_relative 'ao' # ao.rb + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'shared_metadata' # shared_metadata.rb + require_relative 'generic_parts' # generic_parts.rb + require_relative 'txt_read' # txt_read.rb + require_relative 'txt_shared' # txt_shared.rb + require_relative 'txt_markdown_decorate' # txt_markdown_decorate.rb + require_relative 'txt_output' # txt_output.rb + include SiSU_Param + @@alt_id_count,@@alt_id_count=0,0 + @@tablefoot='' + class Source + include SiSU_Txt_Read + def initialize(opt) + @opt=opt + unless @opt.fns =~/(.+?)\.(?:-|ssm\.)?sst$/ + puts "#{sf} not a processed file type" + end + end + def read + begin + md=SiSU_Param::Parameters.new(@opt).get + specific={ + description: 'Markdown (plaintext utf-8)', + output_path: md.file.output_path.markdown.dir, + output_file: md.file.base_filename.markdown, + } + read_generic(@opt,specific) + SiSU_Txt_Markdown::Source::Scroll.new(md,@ao_array,@wrap_width).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + private + class Scroll appropriately within plaintext, consider + n=n.dup.to_s + if n =~/#{Mx[:br_line]}|#{Mx[:br_nl]}/ + fix = n.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/) #watch #added + fix.each do |x| + unless x.empty? then @n << x + end + end + else @n << n + end + end + notes=@n.flatten + notes.each do |e| + util=(e.to_s =~/^\[[\d*+]+\]:/) \ + ? (SiSU_TextUtils::Wrap.new(e.to_s,@wrap_width,4,1)) + : (SiSU_TextUtils::Wrap.new(e.to_s,@wrap_width,1,1)) + wrap=util.line_wrap + wrap=if wrap =~ /^\s*[\d*+]+\s+.+?\s*\Z/m + wrap.gsub(/^(\s*)([\d*+]+)\s+(.+?)\s*\Z/m, <<-GSUB +\\1[\\2]: \\3 + GSUB + ) + else + wrap.gsub(/^(.+)\Z/m, <<-GSUB +\\1 + GSUB + ) + end + @@endnotes[:para] << "-#{wrap}" + @@endnotes[:end] << '' << wrap + end + @@endnotes + end + def plaintext_metadata + array=SiSU_Metadata::Summary.new(@md).plaintext.metadata + array.each do |meta| + tag,inf=meta.scan(/^.+?:\s|.+/) + if tag and inf + util=SiSU_TextUtils::Wrap.new(inf,@wrap_width,15,1) + txt=util.line_wrap + @plaintext[:metadata] <<< @wrap_width + case dob.lc + when 0 then decorate.heading.underscore.l0*times + p_num << break_line*2 + when 1 then decorate.heading.underscore.l1*times + p_num << break_line*2 + when 2 then decorate.heading.underscore.l2*times + p_num << break_line*2 + when 3 then decorate.heading.underscore.l3*times + p_num << break_line*2 + when 4 then decorate.heading.underscore.l4*times + p_num << break_line*2 + when 5 then decorate.heading.underscore.l5*times + p_num << break_line*2 + when 6 then decorate.heading.underscore.l6*times + p_num << break_line*2 + end + end + end + def plaintext_structure(dob='',p_num='') #% Used to extract the structure of a document + heading_decoration=:inline #(:inline|:underscore) #switch heading decoration between inline & underscore options + util=nil + wrapped=if dob.is==:para \ + || dob.is==:heading + if dob.is==:heading + util=(heading_decoration== :inline) \ + ? (SiSU_TextUtils::Wrap.new(heading_decorated_inline(dob),@wrap_width,0)) + : (SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,0)) + elsif dob.is==:para + if dob.hang \ + and dob.hang =~/[0-9]/ \ + and dob.indent != dob.hang + util=SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,dob.indent.to_i*2,dob.hang.to_i*2) + #util=SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,dob.hang.to_i*2,0) + elsif dob.indent =~/[1-9]/ + util=if dob.bullet_ + SiSU_TextUtils::Wrap.new("* #{dob.obj}",@wrap_width,dob.indent.to_i*2) + else SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,dob.indent.to_i*2) + end + else + util=if dob.bullet_ + SiSU_TextUtils::Wrap.new("* #{dob.obj}",@wrap_width,0) + else SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,0) + end + end + else util=SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,0) + end + dob.is==:heading ? util.no_wrap_no_breaks : util.line_wrap + end + if heading_decoration== :underscore \ + and dob.is==:heading + @plaintext[:body] << wrapped + p_num # main text, contents, body KEEP + @plaintext[:body] << heading_decorated_underscore(dob,wrapped.length,p_num) + else + @plaintext[:body] << wrapped + p_num << break_line # main text, contents, body KEEP + end + if @@endnotes[:para] \ + and not @@endnotes_ + @@endnotes[:para].each {|e| @plaintext[:body] << e << break_line} + elsif @@endnotes[:para] \ + and @@endnotes_ + end + @@endnotes[:para]=[] + end + def markup(data) # Used for major markup instructions + SiSU_Env::InfoEnv.new(@md.fns) + @data_mod,@endnotes,@level,@cont,@copen,@plaintext_contents_close=Array.new(6){[]} + (0..6).each { |x| @cont[x]=@level[x]=false } + (4..6).each { |x| @plaintext_contents_close[x]='' } + plaintext_tail #($1,$2) + plaintext_metadata + table_message='[table conversion awaited, see other document formats]' + data.each do |dob| + dob.obj=dob.obj.gsub(/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}.+/um,"#{break_line}#{table_message}"). #fix + gsub(/.+?#{Mx[:gl_o]}-##{Mx[:gl_c]}/,''). # remove dummy headings (used by html) #check also [~-]# + gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/, + "#{decorate.bold.open}\\1#{decorate.bold.close}"). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/, + "#{decorate.italics.open}\\1#{decorate.italics.close}"). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/, + "#{decorate.underscore.open}\\1#{decorate.underscore.close}"). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/, + "#{decorate.subscript.open}\\1#{decorate.subscript.close}"). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/, + "#{decorate.superscript.open}\\1#{decorate.superscript.close}"). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/, + "#{decorate.insert.open}\\1#{decorate.insert.close}"). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/, + "#{decorate.cite.open}\\1#{decorate.cite.close}"). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/, + "#{decorate.strike.open}\\1#{decorate.strike.close}"). + gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/, + "#{decorate.monospace.open}\\1#{decorate.monospace.close}") + unless dob.is==:code + dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/,'\1'). + gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1'). + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1 [link: <\2>]'). + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}image/,'\1 [link: local image]'). + gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{the_text.url_open}\\1#{the_text.url_close}") + extract_endnotes(dob) + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'[^\1]'). # endnote marker marked up + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,'[^\1]'). # endnote marker marked up + gsub(/#{Mx[:gl_o]}(?:#lt|#060)#{Mx[:gl_c]}/,'<'). + gsub(/#{Mx[:gl_o]}(?:#gt|#062)#{Mx[:gl_c]}/,'>'). + gsub(/#{Mx[:gl_o]}#(?:038|amp)#{Mx[:gl_c]}/,'&'). + gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!'). + gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#'). + gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*'). + gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-'). + gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/'). + gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_'). + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{'). + gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}'). + gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~'). + gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©'). + gsub(/#{Mx[:gl_o]}#092#{Mx[:gl_c]}/,'\\') + end + dob.obj=if dob.of==:block # watch + dob.obj.gsub(/#{Mx[:gl_o]}●#{Mx[:gl_c]}/m,"* "). + gsub(/\n?#{Mx[:br_line]}\n?|\n?#{Mx[:br_nl]}\n?/m,break_line) + else dob.obj.gsub(/\n?#{Mx[:br_line]}\n?|\n?#{Mx[:br_nl]}\n?/m,break_line*2) + end + if dob.is==:code + dob.obj=dob.obj.gsub(/(^|[^}])_([<>])/m,'\1\2'). # _> _< + gsub(/(^|[^}])_([<>])/m,'\1\2') # _<_< + end + dob.obj=dob.obj.gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1'). + gsub(/(.+?)<\/a>/m,'\1'). + gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,''). # remove name links + gsub(/ |#{Mx[:nbsp]}/,' '). # decide on + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,' [ \1 ]'). #"[ #{dir.url.images_local}\/\\1 ]") + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}image/,' [ \1 ]'). + gsub(/(?:^|[^_\\])\{\s*\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"\s*\}\S+/,'[image: "\1"]') + if dob.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + p_num='' + #ocn + if dob.is==:heading \ + or dob.is==:para + plaintext_structure(dob,p_num) + elsif dob.is==:group \ + or dob.is==:block \ + or dob.is==:verse \ + or dob.is==:code \ + or dob.is==:table + @plaintext[:body] << dob.obj + p_num << break_line + elsif dob.is==:break + sp=' ' + ln='-' + @plaintext[:body] <<=if dob.obj==Mx[:br_page] \ + or dob.obj==Mx[:br_page_new] \ + or dob.obj==Mx[:br_page_line] + "#{break_line}#{ln*40}#{break_line*2}" + elsif dob.obj ==Mx[:br_obj] + "#{break_line}#{sp*20}* * *#{break_line*2}" + end # following empty line (break_line) missing, fix + end + dob='' if (dob.obj =~// \ + and dob.obj =~/^(-\{{2}~\d+|)/) # -endnote + if dob ## Clean Prepared Text + dob.obj=dob.obj.gsub(//,' '). + gsub(/<:\S+>/,' ') + end + end + end + @plaintext + end + def publish(plaintext) + divider='=' + content=[] + content << plaintext[:open] + content << plaintext[:head] + content << plaintext[:body] + content << @@endnotes[:end] if @@endnotes_ + content << "#{break_line}#{divider*@wrap_width}#{break_line}" + content << plaintext[:metadata] + content << "#{break_line}#{divider*@wrap_width}#{break_line}" if @md.stmp =~/\w+/ #not used? + content << plaintext[:tail] + outputfile=SiSU_Env::FileOp.new(@md).write_file.markdown + Txt_Output::Output.new.document(content,outputfile) + @@endnotes={ para: [], end: [] } + end + end + end +end +__END__ +#+END_SRC + +*** txt_markdown_decorate.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_markdown_decorate.rb" +# <> +module SiSU_Decorate_Txt_Markdown + def decorate + def heading + def inline #atx + def l0 + '#' + end + def l1 + '##' + end + def l2 + '###' + end + def l3 + '####' + end + def l4 + '#####' + end + def l5 + '######' + end + self + end + def underscore #Setext + def l1 + '=' + end + def l2 + '-' + end + def l3 + '' + end + def l4 + '' + end + def l5 + '' + end + def l6 + '' + end + self + end + self + end + def bold + def open + '**' + end + def close + '**' + end + self + end + def italics + def open + '*' + end + def close + '*' + end + self + end + def underscore + def open + '_' + end + def close + '_' + end + self + end + #def emphasis + # def open + # '' + # end + # def close + # '' + # end + # self + #end + def cite + def open + '"' + end + def close + '"' + end + self + end + def insert + def open + '+' + end + def close + '+' + end + self + end + def strike + def open + '-' + end + def close + '-' + end + self + end + def superscript + def open + '^' + end + def close + '^' + end + self + end + def subscript + def open + '[' + end + def close + ']' + end + self + end + def hilite + def open + '**' + end + def close + '**' + end + self + end + def monospace + def open + '`' + end + def close + '`' + end + self + end + self + end +end +__END__ +#+END_SRC + +** orgmode +*** txt_orgmode.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_orgmode.rb" +# <> +module SiSU_Txt_OrgMode + require_relative 'ao' # ao.rb + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'shared_metadata' # shared_metadata.rb + require_relative 'generic_parts' # generic_parts.rb + require_relative 'txt_read' # txt_read.rb + require_relative 'txt_shared' # txt_shared.rb + require_relative 'txt_orgmode_decorate' # txt_orgmode_decorate.rb + require_relative 'txt_output' # txt_output.rb + include SiSU_Param + @@alt_id_count,@@alt_id_count=0,0 + @@tablefoot='' + class Source + include SiSU_Txt_Read + def initialize(opt) + @opt=opt + unless @opt.fns =~/(.+?)\.(?:-|ssm\.)?sst$/ + puts "#{sf} not a processed file type" + end + end + def read + begin + md=SiSU_Param::Parameters.new(@opt).get + specific={ + description: 'OrgMode (plaintext utf-8)', + output_path: md.file.output_path.orgmode.dir, + output_file: md.file.base_filename.orgmode, + } + read_generic(@opt,specific) + SiSU_Txt_OrgMode::Source::Scroll.new(md,@ao_array,@wrap_width).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + private + class Scroll appropriately within plaintext, consider + n=n.dup.to_s + if n =~/#{Mx[:br_line]}|#{Mx[:br_nl]}/ + fix = n.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/) #watch #added + fix.each do |x| + unless x.empty? then @n << x + end + end + else @n << n + end + end + notes=@n.flatten + notes.each do |e| + util=(e.to_s =~/^\[[\d*+]+\]:/) \ + ? (SiSU_TextUtils::Wrap.new(e.to_s,@wrap_width,4,1)) + : (SiSU_TextUtils::Wrap.new(e.to_s,@wrap_width,1,1)) + wrap=util.line_wrap + wrap=if wrap =~ /^\s*[\d*+]+\s+.+?\s*\Z/m + wrap.gsub(/^(\s*)([\d*+]+)\s+(.+?)\s*\Z/m, <<-GSUB +\\1[fn:\\2] \\3 + GSUB + ) + else + wrap.gsub(/^(.+)\Z/m, <<-GSUB +\\1 + GSUB + ) + end + @@endnotes[:para] << "-#{wrap}" + @@endnotes[:end] << '' << wrap.strip + end + @@endnotes + end + # Used for extraction of endnotes from paragraphs + def plaintext_metadata + array=SiSU_Metadata::Summary.new(@md).plaintext.metadata + array.each do |meta| + tag,inf=meta.scan(/^.+?:\s|.+/) + if tag and inf + util=SiSU_TextUtils::Wrap.new(inf,@wrap_width,15,1) + txt=util.line_wrap + @plaintext[:metadata] <<<'). + gsub(/#{Mx[:gl_o]}#(?:038|amp)#{Mx[:gl_c]}/,'&'). + gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!'). + gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#'). + gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*'). + gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-'). + gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/'). + gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_'). + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{'). + gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}'). + gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~'). + gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©'). + gsub(/#{Mx[:gl_o]}#092#{Mx[:gl_c]}/,'\\') + end + dob.obj=if dob.of==:block # watch + dob.obj.gsub(/#{Mx[:gl_o]}●#{Mx[:gl_c]}/m,"* "). + gsub(/\n?#{Mx[:br_line]}\n?|\n?#{Mx[:br_nl]}\n?/m,break_line) + else dob.obj.gsub(/\n?#{Mx[:br_line]}\n?|\n?#{Mx[:br_nl]}\n?/m,break_line*2) + end + if dob.is==:code + dob.obj=dob.obj.gsub(/(^|[^}])_([<>])/m,'\1\2'). # _> _< + gsub(/(^|[^}])_([<>])/m,'\1\2'). # _<_< + gsub(/^\*/m,',*') + dob.obj = '#+BEGIN_SRC sh :tangle no :padline no :exports none :noweb yes' + "\n" + dob.obj + '#+END_SRC' + end + dob.obj=dob.obj.gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1'). + gsub(/(.+?)<\/a>/m,'\1'). + gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,''). # remove name links + gsub(/ |#{Mx[:nbsp]}/,' '). # decide on + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,' [ \1 ]'). #"[ #{dir.url.images_local}\/\\1 ]") + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}image/,' [ \1 ]'). + gsub(/(?:^|[^_\\])\{\s*\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"\s*\}\S+/,'[image: "\1"]') + if dob.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + p_num='' + #ocn + if dob.is==:heading \ + or dob.is==:para + plaintext_structure(dob,p_num) + elsif dob.is==:group \ + or dob.is==:block \ + or dob.is==:verse \ + or dob.is==:code \ + or dob.is==:table + @plaintext[:body] << dob.obj + p_num << break_line + elsif dob.is==:break + sp=' ' + ln='<' #ln='-' + @plaintext[:body] <<=if dob.obj==Mx[:br_page] \ + or dob.obj==Mx[:br_page_new] \ + or dob.obj==Mx[:br_page_line] + "#{break_line}#{ln*40}#{break_line*2}" + elsif dob.obj ==Mx[:br_obj] + "#{break_line}#{sp*20}* * *#{break_line*2}" + end # following empty line (break_line) missing, fix + end + dob='' if (dob.obj =~// \ + and dob.obj =~/^(-\{{2}~\d+|)/) # -endnote + if dob ## Clean Prepared Text + dob.obj=dob.obj.gsub(//,' '). + gsub(/<:\S+>/,' ') + end + end + end + @plaintext + end + def publish(plaintext) + divider='=' + content=[] + content << plaintext[:open] + content << plaintext[:head] + content << plaintext[:body] + if @@endnotes_ + content << '** Endnotes' << @@endnotes[:end] + end + content << plaintext[:metadata] + content << "#{break_line}#{divider*@wrap_width}#{break_line}" if @md.stmp =~/\w+/ #not used? + content << plaintext[:tail] + outputfile=SiSU_Env::FileOp.new(@md).write_file.orgmode + Txt_Output::Output.new.document(content,outputfile) + @@endnotes={ para: [], end: [] } + end + end + end +end +__END__ +#+END_SRC + +*** txt_orgmode_decorate.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_orgmode_decorate.rb" +# <> +module SiSU_Decorate_Txt_OrgMode + def decorate + def heading + def inline + def l0 + '*' + end + def l1 + '**' + end + def l2 + '***' + end + def l3 + '****' + end + def l4 + '*****' + end + def l5 + '******' + end + self + end + self + end + def bold + def open + '*' + end + def close + '*' + end + self + end + def italics + def open + '/' + end + def close + '/' + end + self + end + def underscore + def open + '' + end + def close + '' + end + self + end + #def emphasis + # def open + # '' + # end + # def close + # '' + # end + # self + #end + def cite + def open + '"' + end + def close + '"' + end + self + end + def insert + def open + '' + end + def close + '' + end + self + end + def strike + def open + '+' + end + def close + '+' + end + self + end + def superscript + def open + '^' + end + def close + '^' + end + self + end + def subscript + def open + '~' + end + def close + '~' + end + self + end + def hilite #bold + def open + '*' + end + def close + '*' + end + self + end + def monospace + def open + '~' + end + def close + '~' + end + self + end + self + end +end +__END__ +#+END_SRC + +** plain +*** txt_plain.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_plain.rb" +# <> +module SiSU_Txt_Plain + require_relative 'ao' # ao.rb + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'shared_metadata' # shared_metadata.rb + require_relative 'generic_parts' # generic_parts.rb + require_relative 'txt_read' # txt_read.rb + require_relative 'txt_shared' # txt_shared.rb + require_relative 'txt_plain_decorate' # txt_plain_decorate.rb + require_relative 'txt_output' # txt_output.rb + include SiSU_Param + @@alt_id_count,@@alt_id_count=0,0 + @@tablefoot='' + class Source + include SiSU_Txt_Read + def initialize(opt) + @opt=opt + unless @opt.fns =~/(.+?)\.(?:-|ssm\.)?sst$/ + puts "#{sf} not a processed file type" + end + end + def read + begin + md=SiSU_Param::Parameters.new(@opt).get + specific={ + description: 'Plaintext (utf-8)', + output_path: md.file.output_path.txt.dir, + output_file: md.file.base_filename.txt, + } + read_generic(@opt,specific) + SiSU_Txt_Plain::Source::Scroll.new(md,@ao_array,@wrap_width).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + private + class Scroll appropriately within plaintext, consider + n=n.dup.to_s + if n =~/#{Mx[:br_line]}|#{Mx[:br_nl]}/ + fix = n.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/) #watch #added + fix.each do |x| + unless x.empty?; @n << x + end + end + else @n << n + end + end + notes=@n.flatten + notes.each do |e| + util=(e.to_s =~/^\[[\d*+]+\]:/) \ + ? (SiSU_TextUtils::Wrap.new(e.to_s,@wrap_width,4,1)) + : (SiSU_TextUtils::Wrap.new(e.to_s,@wrap_width,1,1)) + wrap=util.line_wrap + wrap=if wrap =~ /^\s*[\d*+]+\s+.+?\s*\Z/m + wrap.gsub(/^(\s*)([\d*+]+)\s+(.+?)\s*\Z/m, <<-GSUB +\\1[\\2]: \\3 + GSUB + ) + else + wrap.gsub(/^(.+)\Z/m, <<-GSUB +\\1 + GSUB + ) + end + @@endnotes[:para] << "-#{wrap}" + @@endnotes[:end] << '' << wrap + end + @@endnotes + end + def plaintext_metadata + array=SiSU_Metadata::Summary.new(@md).plaintext.metadata + array.each do |meta| + tag,inf=meta.scan(/^.+?:\s|.+/) + if tag and inf + util=SiSU_TextUtils::Wrap.new(inf,@wrap_width,15,1) + txt=util.line_wrap + @plaintext[:metadata] <<< @wrap_width + @plaintext[:body] << case lv + when 0 then wrapped.upcase << break_line << decorate.heading_underscore.l0*times + p_num << break_line*2 + when 1 then wrapped.upcase << break_line << decorate.heading_underscore.l1*times + p_num << break_line*2 + when 2 then wrapped.upcase << break_line << decorate.heading_underscore.l2*times + p_num << break_line*2 + when 3 then wrapped.upcase << break_line << decorate.heading_underscore.l3*times + p_num << break_line*2 + when 4 + unless dob.use_ == :dummy + wrapped.upcase << break_line << decorate.heading_underscore.l4*times + p_num << break_line*2 + end + when 5 then wrapped.upcase << break_line << decorate.heading_underscore.l5*times + p_num << break_line*2 + when 6 then wrapped.upcase << break_line << decorate.heading_underscore.l6*times + p_num << break_line*2 + when 7 + wrapped.upcase << break_line << decorate.heading_underscore.l7*times + p_num << break_line*2 + #when 7 then wrapped.upcase << break_line << decorate.heading_underscore.l7*times + p_num << break_line*2 + end + else + @plaintext[:body] << wrapped + p_num << break_line # main text, contents, body KEEP + end + if @@endnotes[:para] \ + and not @@endnotes_ + @@endnotes[:para].each {|e| @plaintext[:body] << e << break_line} + elsif @@endnotes[:para] \ + and @@endnotes_ + end + @@endnotes[:para]=[] + end + def ocn_display(dob) + make=SiSU_Env::ProcessingSettings.new(@md) + if make.build.plaintext_ocn? + if defined? dob.ocn \ + and dob.ocn.is_a?(Fixnum) + (defined? dob.ocn) \ + ? "\n#{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}" \ + : '' + else '' + end + else '' + end + end + def markup(data) # Used for major markup instructions + SiSU_Env::InfoEnv.new(@md.fns) + @data_mod,@endnotes,@level,@cont,@copen,@plaintext_contents_close=Array.new(6){[]} + (0..7).each { |x| @cont[x]=@level[x]=false } + (4..7).each { |x| @plaintext_contents_close[x]='' } + plaintext_tail #($1,$2) + plaintext_metadata + table_message='[table omitted, see other document formats]' + data.each do |dob| + dob.obj=dob.obj.gsub(/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}.+/um,"#{break_line}#{table_message}"). #fix + gsub(/.+?#{Mx[:gl_o]}-##{Mx[:gl_c]}/,''). # remove dummy headings (used by html) #check also [~-]# + gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/, + "#{decorate.bold.open}\\1#{decorate.bold.close}"). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/, + "#{decorate.italics.open}\\1#{decorate.italics.close}"). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/, + "#{decorate.underscore.open}\\1#{decorate.underscore.close}"). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/, + "#{decorate.subscript.open}\\1#{decorate.subscript.close}"). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/, + "#{decorate.superscript.open}\\1#{decorate.superscript.close}"). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/, + "#{decorate.insert.open}\\1#{decorate.insert.close}"). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/, + "#{decorate.cite.open}\\1#{decorate.cite.close}"). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/, + "#{decorate.strike.open}\\1#{decorate.strike.close}"). + gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/, + "#{decorate.monospace.open}\\1#{decorate.monospace.close}") + unless dob.is==:code + dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/,'\1'). + gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1'). + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1 [link: <\2>]'). + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}image/,'\1 [link: local image]'). + gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{the_text.url_open}\\1#{the_text.url_close}") + extract_endnotes(dob) + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'[^\1]'). # endnote marker marked up + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,'[^\1]'). # endnote marker marked up + gsub(/#{Mx[:gl_o]}(?:#lt|#060)#{Mx[:gl_c]}/,'<'). + gsub(/#{Mx[:gl_o]}(?:#gt|#062)#{Mx[:gl_c]}/,'>'). + gsub(/#{Mx[:gl_o]}#(?:038|amp)#{Mx[:gl_c]}/,'&'). + gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!'). + gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#'). + gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*'). + gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-'). + gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/'). + gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_'). + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{'). + gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}'). + gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~'). + gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©'). + gsub(/#{Mx[:gl_o]}#092#{Mx[:gl_c]}/,'\\') + end + dob.obj=if dob.of==:block # watch + dob.obj.gsub(/#{Mx[:gl_o]}●#{Mx[:gl_c]}/m,"* "). + gsub(/\n?#{Mx[:br_line]}\n?|\n?#{Mx[:br_nl]}\n?/m,break_line) + else dob.obj.gsub(/\n?#{Mx[:br_line]}\n?|\n?#{Mx[:br_nl]}\n?/m,break_line*2) + end + if dob.is==:code + dob.obj=dob.obj.gsub(/(^|[^}])_([<>])/m,'\1\2'). # _> _< + gsub(/(^|[^}])_([<>])/m,'\1\2') # _<_< + end + dob.obj=dob.obj.gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1'). + gsub(/(.+?)<\/a>/m,'\1'). + gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,''). # remove name links + gsub(/ |#{Mx[:nbsp]}/,' '). # decide on + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,' [ \1 ]'). #"[ #{dir.url.images_local}\/\\1 ]") + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}image/,' [ \1 ]'). + gsub(/(?:^|[^_\\])\{\s*\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"\s*\}\S+/,'[image: "\1"]') + if dob.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + p_num=ocn_display(dob) + if dob.is==:heading \ + or dob.is==:para + plaintext_structure(dob,p_num) + elsif dob.is==:group \ + or dob.is==:block \ + or dob.is==:verse \ + or dob.is==:code \ + or dob.is==:table + @plaintext[:body] << dob.obj + p_num << break_line + elsif dob.is==:break + sp=' ' + ln='-' + @plaintext[:body] <<=if dob.obj==Mx[:br_page] \ + or dob.obj==Mx[:br_page_new] \ + or dob.obj==Mx[:br_page_line] + "#{break_line}#{ln*40}#{break_line*2}" + elsif dob.obj ==Mx[:br_obj] + "#{break_line}#{sp*20}* * *#{break_line*2}" + end # following empty line (break_line) missing, fix + end + dob='' if (dob.obj =~// \ + and dob.obj =~/^(-\{{2}~\d+|)/) # -endnote + if dob ## Clean Prepared Text + dob.obj=dob.obj.gsub(//,' '). + gsub(/<:\S+>/,' ') + end + end + end + @plaintext + end + def publish(plaintext) + divider='=' + content=[] + content << plaintext[:open] + content << plaintext[:head] + content << plaintext[:body] + content << @@endnotes[:end] if @@endnotes_ + content << "#{break_line}#{divider*@wrap_width}#{break_line}" + content << plaintext[:metadata] + content << "#{break_line}#{divider*@wrap_width}#{break_line}" if @md.stmp =~/\w+/ #not used? + content << plaintext[:tail] + outputfile=SiSU_Env::FileOp.new(@md).write_file.txt + Txt_Output::Output.new.document(content,outputfile) + @@endnotes={ para: [], end: [] } + end + end + end +end +__END__ + bold_o: '*', bold_c: '*', + #bold_o: '!', bold_c: '!', + #emphasis_o: '*', emphasis_c: '*', + italics_o: '/', italics_c: '/', + underscore_o: '_', underscore_c: '_', + cite_o: '"', cite_c: '"', + insert_o: '+', insert_c: '+', + strike_o: '-', strike_c: '-', + superscript_o: '^', superscript_c: '^', + subscript_o: '[', subscript_c: ']', + hilite_o: '*', hilite_c: '*', + monospace_o: '', monospace_c: '', + p_bold_o: '!{', p_bold_c: '}!', + p_italics_o: '/{', p_italics_c: '}/', + p_underscore_o: '_{', p_underscore_c: '}_', + p_cite_o: '"{', p_cite_c: '}"', + p_insert_o: '+{', p_insert_c: '}+', + p_strike_o: '-{', p_strike_c: '}-', + p_superscript_o: '^{', p_superscript_c: '}^', + p_subscript_o: ',{', p_subscript_c: '},', + p_hilite_o: '*{', p_hilite_c: '}*', + p_monospace_o: '#{', p_monospace_c: '}#', +#+END_SRC + +*** txt_plain_decorate.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_plain_decorate.rb" +# <> +module SiSU_Decorate_Txt_Plain + def decorate + def heading_underscore + def l0 + '=' + end + def l1 + '*' + end + def l2 + '+' + end + def l3 + '~' + end + def l4 + '-' + end + def l5 + '.' + end + def l6 + '.' + end + def l7 + '.' + end + self + end + def bold + def open + '*' + end + def close + '*' + end + self + end + def italics + def open + '/' + end + def close + '/' + end + self + end + def underscore + def open + '_' + end + def close + '_' + end + self + end + #def emphasis + # def open + # '' + # end + # def close + # '' + # end + # self + #end + def cite + def open + '"' + end + def close + '"' + end + self + end + def insert + def open + '+' + end + def close + '+' + end + self + end + def strike + def open + '-' + end + def close + '-' + end + self + end + def superscript + def open + '^' + end + def close + '^' + end + self + end + def subscript + def open + '[' + end + def close + ']' + end + self + end + def hilite + def open + '*' + end + def close + '*' + end + self + end + def monospace + def open + '#' + end + def close + '#' + end + self + end + self + end +end +__END__ +#+END_SRC + +** rst +*** txt_rst.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_rst.rb" +# <> +module SiSU_Txt_rST + require_relative 'ao' # ao.rb + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'shared_metadata' # shared_metadata.rb + require_relative 'generic_parts' # generic_parts.rb + require_relative 'txt_read' # txt_read.rb + require_relative 'txt_shared' # txt_shared.rb + require_relative 'txt_rst_decorate' # txt_rst_decorate.rb + require_relative 'txt_output' # txt_output.rb + include SiSU_Param + @@alt_id_count,@@alt_id_count=0,0 + @@tablefoot='' + class Source + include SiSU_Txt_Read + def initialize(opt) + @opt=opt + unless @opt.fns =~/(.+?)\.(?:-|ssm\.)?sst$/ + puts "#{sf} not a processed file type" + end + end + def read + begin + md=SiSU_Param::Parameters.new(@opt).get + specific={ + description: 'rST (plaintext utf-8)', + output_path: md.file.output_path.rst.dir, + output_file: md.file.base_filename.rst, + } + read_generic(@opt,specific) + SiSU_Txt_rST::Source::Scroll.new(md,@ao_array,@wrap_width).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + private + class Scroll appropriately within plaintext, consider + n=n.dup.to_s + if n =~/#{Mx[:br_line]}|#{Mx[:br_nl]}/ + fix = n.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/) #watch #added + fix.each do |x| + unless x.empty?; @n << x + end + end + else @n << n + end + end + notes=@n.flatten + notes.each do |e| + util=(e.to_s =~/^\[[\d*+]+\]:/) \ + ? (SiSU_TextUtils::Wrap.new(e.to_s,@wrap_width,4,1)) + : (SiSU_TextUtils::Wrap.new(e.to_s,@wrap_width,1,1)) + wrap=util.line_wrap + wrap=if wrap =~ /^\s*[\d*+]+\s+.+?\s*\Z/m + wrap.gsub(/^(\s*)([\d*+]+)\s+(.+?)\s*\Z/m, <<-GSUB +\\1[\\2]: \\3 + GSUB + ) + else + wrap.gsub(/^(.+)\Z/m, <<-GSUB +\\1 + GSUB + ) + end + @@endnotes[:para] << "-#{wrap}" + @@endnotes[:end] << '' << wrap + end + @@endnotes + end + def plaintext_metadata + array=SiSU_Metadata::Summary.new(@md).plaintext.metadata + array.each do |meta| + tag,inf=meta.scan(/^.+?:\s|.+/) + if tag and inf + util=SiSU_TextUtils::Wrap.new(inf,@wrap_width,15,1) + txt=util.line_wrap + @plaintext[:metadata] <<< @wrap_width + case dob.lc + when 0 then decorate.heading.underscore.l0*times + p_num << break_line*2 + when 1 then decorate.heading.underscore.l1*times + p_num << break_line*2 + when 2 then decorate.heading.underscore.l2*times + p_num << break_line*2 + when 3 then decorate.heading.underscore.l3*times + p_num << break_line*2 + when 4 then decorate.heading.underscore.l4*times + p_num << break_line*2 + when 5 then decorate.heading.underscore.l5*times + p_num << break_line*2 + when 6 then decorate.heading.underscore.l6*times + p_num << break_line*2 + end + end + end + def plaintext_structure(dob='',p_num='') #% Used to extract the structure of a document + util=nil + wrapped=if dob.is==:para \ + || dob.is==:heading + if dob.is==:heading + util=SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,0) + elsif dob.is==:para + if dob.hang \ + and dob.hang =~/[0-9]/ \ + and dob.indent != dob.hang + util=SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,dob.indent.to_i*2,dob.hang.to_i*2) + #util=SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,dob.hang.to_i*2,0) + elsif dob.indent =~/[1-9]/ + util=if dob.bullet_ + SiSU_TextUtils::Wrap.new("* #{dob.obj}",@wrap_width,dob.indent.to_i*2) + else SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,dob.indent.to_i*2) + end + else + util=if dob.bullet_ + SiSU_TextUtils::Wrap.new("* #{dob.obj}",@wrap_width,0) + else SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,0) + end + end + else util=SiSU_TextUtils::Wrap.new(dob.obj,@wrap_width,0) + end + dob.is==:heading ? util.no_wrap_no_breaks : util.line_wrap + end + if dob.is==:heading + @plaintext[:body] << wrapped + p_num # main text, contents, body KEEP + @plaintext[:body] << heading_decorated_underscore(dob,wrapped.length,p_num) + else + @plaintext[:body] << wrapped + p_num << break_line # main text, contents, body KEEP + end + if @@endnotes[:para] \ + and not @@endnotes_ + @@endnotes[:para].each {|e| @plaintext[:body] << e << break_line} + elsif @@endnotes[:para] \ + and @@endnotes_ + end + @@endnotes[:para]=[] + end + def markup(data) # Used for major markup instructions + SiSU_Env::InfoEnv.new(@md.fns) + @data_mod,@endnotes,@level,@cont,@copen,@plaintext_contents_close=Array.new(6){[]} + (0..6).each { |x| @cont[x]=@level[x]=false } + (4..6).each { |x| @plaintext_contents_close[x]='' } + plaintext_tail #($1,$2) + plaintext_metadata + table_message='[table conversion awaited, see other document formats]' + data.each do |dob| + dob.obj=dob.obj.gsub(/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}.+/um,"#{break_line}#{table_message}"). #fix + gsub(/.+?#{Mx[:gl_o]}-##{Mx[:gl_c]}/,''). # remove dummy headings (used by html) #check also [~-]# + gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/, + "#{decorate.bold.open}\\1#{decorate.bold.close}"). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/, + "#{decorate.italics.open}\\1#{decorate.italics.close}"). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/, + "#{decorate.underscore.open}\\1#{decorate.underscore.close}"). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/, + "#{decorate.subscript.open}\\1#{decorate.subscript.close}"). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/, + "#{decorate.superscript.open}\\1#{decorate.superscript.close}"). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/, + "#{decorate.insert.open}\\1#{decorate.insert.close}"). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/, + "#{decorate.cite.open}\\1#{decorate.cite.close}"). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/, + "#{decorate.strike.open}\\1#{decorate.strike.close}"). + gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/, + "#{decorate.monospace.open}\\1#{decorate.monospace.close}") + unless dob.is==:code + dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/,'\1'). + gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1'). + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1 [link: <\2>]'). + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}image/,'\1 [link: local image]'). + gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{the_text.url_open}\\1#{the_text.url_close}") + extract_endnotes(dob) + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'[^\1]'). # endnote marker marked up + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,'[^\1]'). # endnote marker marked up + gsub(/#{Mx[:gl_o]}(?:#lt|#060)#{Mx[:gl_c]}/,'<'). + gsub(/#{Mx[:gl_o]}(?:#gt|#062)#{Mx[:gl_c]}/,'>'). + gsub(/#{Mx[:gl_o]}#(?:038|amp)#{Mx[:gl_c]}/,'&'). + gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!'). + gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#'). + gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*'). + gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-'). + gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/'). + gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_'). + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{'). + gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}'). + gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~'). + gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©'). + gsub(/#{Mx[:gl_o]}#092#{Mx[:gl_c]}/,'\\') + end + dob.obj=if dob.of==:block # watch + dob.obj.gsub(/#{Mx[:gl_o]}●#{Mx[:gl_c]}/m,"* "). + gsub(/\n?#{Mx[:br_line]}\n?|\n?#{Mx[:br_nl]}\n?/m,break_line) + else dob.obj.gsub(/\n?#{Mx[:br_line]}\n?|\n?#{Mx[:br_nl]}\n?/m,break_line*2) + end + if dob.is==:code + dob.obj=dob.obj.gsub(/(^|[^}])_([<>])/m,'\1\2'). # _> _< + gsub(/(^|[^}])_([<>])/m,'\1\2') # _<_< + end + dob.obj=dob.obj.gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1'). + gsub(/(.+?)<\/a>/m,'\1'). + gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,''). # remove name links + gsub(/ |#{Mx[:nbsp]}/,' '). # decide on + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,' [ \1 ]'). #"[ #{dir.url.images_local}\/\\1 ]") + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}image/,' [ \1 ]'). + gsub(/(?:^|[^_\\])\{\s*\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"\s*\}\S+/,'[image: "\1"]') + if dob.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + p_num='' + #ocn + if dob.is==:heading \ + or dob.is==:para + plaintext_structure(dob,p_num) + elsif dob.is==:group \ + or dob.is==:block \ + or dob.is==:verse \ + or dob.is==:code \ + or dob.is==:table + @plaintext[:body] << dob.obj + p_num << break_line + elsif dob.is==:break + sp=' ' + ln='-' + @plaintext[:body] <<=if dob.obj==Mx[:br_page] \ + or dob.obj==Mx[:br_page_new] \ + or dob.obj==Mx[:br_page_line] + "#{break_line}#{ln*40}#{break_line*2}" + elsif dob.obj ==Mx[:br_obj] + "#{break_line}#{sp*20}* * *#{break_line*2}" + end # following empty line (break_line) missing, fix + end + dob='' if (dob.obj =~// \ + and dob.obj =~/^(-\{{2}~\d+|)/) # -endnote + if dob ## Clean Prepared Text + dob.obj=dob.obj.gsub(//,' '). + gsub(/<:\S+>/,' ') + end + end + end + @plaintext + end + def publish(plaintext) + divider='=' + content=[] + content << plaintext[:open] + content << plaintext[:head] + content << plaintext[:body] + content << @@endnotes[:end] if @@endnotes_ + content << "#{break_line}#{divider*@wrap_width}#{break_line}" + content << plaintext[:metadata] + content << "#{break_line}#{divider*@wrap_width}#{break_line}" if @md.stmp =~/\w+/ #not used? + content << plaintext[:tail] + outputfile=SiSU_Env::FileOp.new(@md).write_file.rst + Txt_Output::Output.new.document(content,outputfile) + @@endnotes={ para: [], end: [] } + end + end + end +end +__END__ +#+END_SRC + +*** txt_rst_decorate.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_rst_decorate.rb" +# <> +module SiSU_Decorate_Txt_rST + def decorate + def heading + def underscore + def l0 + '=' + end + def l1 + '-' + end + def l2 + '`' + end + def l3 + ':' + end + def l4 + "'" + end + def l5 + '"' + end + self + end + self + end + def bold + def open + '*' + end + def close + '*' + end + self + end + def italics + def open + '/' + end + def close + '/' + end + self + end + def underscore + def open + '_' + end + def close + '_' + end + self + end + #def emphasis + # def open + # '' + # end + # def close + # '' + # end + # self + #end + def cite + def open + '"' + end + def close + '"' + end + self + end + def insert + def open + '+' + end + def close + '+' + end + self + end + def strike + def open + '-' + end + def close + '-' + end + self + end + def superscript + def open + '^' + end + def close + '^' + end + self + end + def subscript + def open + '[' + end + def close + ']' + end + self + end + def hilite + def open + '*' + end + def close + '*' + end + self + end + def monospace + def open + '#' + end + def close + '#' + end + self + end + self + end +end +__END__ +#+END_SRC + +** textile +*** txt_textile.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_textile.rb" +# <> +module SiSU_Txt_Textile + require_relative 'ao' # ao.rb + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'shared_metadata' # shared_metadata.rb + require_relative 'generic_parts' # generic_parts.rb + require_relative 'txt_read' # txt_read.rb + require_relative 'txt_shared' # txt_shared.rb + require_relative 'txt_textile_decorate' # txt_textile_decorate.rb + require_relative 'txt_output' # txt_output.rb + include SiSU_Param + @@alt_id_count,@@alt_id_count=0,0 + @@tablefoot='' + class Source + include SiSU_Txt_Read + #include SiSU_Parts_Generic + def initialize(opt) + @opt=opt + unless @opt.fns =~/(.+?)\.(?:-|ssm\.)?sst$/ + puts "#{sf} not a processed file type" + end + end + def read + begin + md=SiSU_Param::Parameters.new(@opt).get + specific={ + description: 'Textile (plaintext utf-8)', + output_path: md.file.output_path.textile.dir, + output_file: md.file.base_filename.textile, + } + read_generic(@opt,specific) + SiSU_Txt_Textile::Source::Scroll.new(md,@ao_array,@wrap_width).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + private + class Scroll appropriately within plaintext, consider + n=n.dup.to_s + if n =~/#{Mx[:br_line]}|#{Mx[:br_nl]}/ + fix = n.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/) #watch #added + fix.each do |x| + unless x.empty?; @n << x + end + end + else @n << n + end + end + notes=@n.flatten + notes.each do |e| + util=(e.to_s =~/^\[[\d*+]+\]:/) \ + ? (SiSU_TextUtils::Wrap.new(e.to_s,@wrap_width,4,1)) + : (SiSU_TextUtils::Wrap.new(e.to_s,@wrap_width,1,1)) + wrap=util.line_wrap + wrap=if wrap =~ /^\s*[\d*+]+\s+.+?\s*\Z/m + wrap.gsub(/^(\s*)([\d*+]+)\s+(.+?)\s*\Z/m, <<-GSUB +\\1[\\2]: \\3 + GSUB + ) + else + wrap.gsub(/^(.+)\Z/m, <<-GSUB +\\1 + GSUB + ) + end + @@endnotes[:para] << "-#{wrap}" + @@endnotes[:end] << '' << wrap + end + @@endnotes + end + def plaintext_metadata + array=SiSU_Metadata::Summary.new(@md).plaintext.metadata + array.each do |meta| + tag,inf=meta.scan(/^.+?:\s|.+/) + if tag and inf + util=SiSU_TextUtils::Wrap.new(inf,@wrap_width,15,1) + txt=util.line_wrap + @plaintext[:metadata] <<<]'). + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}image/,'\1 [link: local image]'). + gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{the_text.url_open}\\1#{the_text.url_close}") + extract_endnotes(dob) + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'[^\1]'). # endnote marker marked up + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,'[^\1]'). # endnote marker marked up + gsub(/#{Mx[:gl_o]}(?:#lt|#060)#{Mx[:gl_c]}/,'<'). + gsub(/#{Mx[:gl_o]}(?:#gt|#062)#{Mx[:gl_c]}/,'>'). + gsub(/#{Mx[:gl_o]}#(?:038|amp)#{Mx[:gl_c]}/,'&'). + gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!'). + gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#'). + gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*'). + gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-'). + gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/'). + gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_'). + gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{'). + gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}'). + gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~'). + gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©'). + gsub(/#{Mx[:gl_o]}#092#{Mx[:gl_c]}/,'\\') + end + dob.obj=if dob.of==:block # watch + dob.obj.gsub(/#{Mx[:gl_o]}●#{Mx[:gl_c]}/m,"* "). + gsub(/\n?#{Mx[:br_line]}\n?|\n?#{Mx[:br_nl]}\n?/m,break_line) + else dob.obj.gsub(/\n?#{Mx[:br_line]}\n?|\n?#{Mx[:br_nl]}\n?/m,break_line*2) + end + if dob.is==:code + dob.obj=dob.obj.gsub(/(^|[^}])_([<>])/m,'\1\2'). # _> _< + gsub(/(^|[^}])_([<>])/m,'\1\2') # _<_< + end + dob.obj=dob.obj.gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1'). + gsub(/(.+?)<\/a>/m,'\1'). + gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,''). # remove name links + gsub(/ |#{Mx[:nbsp]}/,' '). # decide on + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,' [ \1 ]'). #"[ #{dir.url.images_local}\/\\1 ]") + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}image/,' [ \1 ]'). + gsub(/(?:^|[^_\\])\{\s*\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"\s*\}\S+/,'[image: "\1"]') + if dob.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + p_num='' + #ocn + if dob.is==:heading \ + or dob.is==:para + plaintext_structure(dob,p_num) + elsif dob.is==:group \ + or dob.is==:block \ + or dob.is==:verse \ + or dob.is==:code \ + or dob.is==:table + @plaintext[:body] << dob.obj + p_num << break_line + elsif dob.is==:break + sp=' ' + ln='-' + @plaintext[:body] <<=if dob.obj==Mx[:br_page] \ + or dob.obj==Mx[:br_page_new] \ + or dob.obj==Mx[:br_page_line] + "#{break_line}#{ln*40}#{break_line*2}" + elsif dob.obj ==Mx[:br_obj] + "#{break_line}#{sp*20}* * *#{break_line*2}" + end # following empty line (break_line) missing, fix + end + dob='' if (dob.obj =~// \ + and dob.obj =~/^(-\{{2}~\d+|)/) # -endnote + if dob ## Clean Prepared Text + dob.obj=dob.obj.gsub(//,' '). + gsub(/<:\S+>/,' ') + end + end + end + @plaintext + end + def publish(plaintext) + divider='=' + content=[] + content << plaintext[:open] + content << plaintext[:head] + content << plaintext[:body] + content << @@endnotes[:end] if @@endnotes_ + content << "#{break_line}#{divider*@wrap_width}#{break_line}" + content << plaintext[:metadata] + content << "#{break_line}#{divider*@wrap_width}#{break_line}" if @md.stmp =~/\w+/ #not used? + content << plaintext[:tail] + outputfile=SiSU_Env::FileOp.new(@md).write_file.textile + Txt_Output::Output.new.document(content,outputfile) + @@endnotes={ para: [], end: [] } + end + end + end +end +__END__ +#+END_SRC + +*** txt_textile_decorate.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_textile_decorate.rb" +# <> +module SiSU_Decorate_Txt_Textile + def decorate + def heading + def inline + def l0 + 'h1. ' + end + def l1 + 'h2. ' + end + def l2 + 'h3. ' + end + def l3 + 'h4. ' + end + def l4 + 'h5. ' + end + def l5 + 'h6. ' + end + self + end + self + end + def bold + def open + '*' + end + def close + '*' + end + self + end + def italics + def open + '_' + end + def close + '_' + end + self + end + def underscore + def open + '+' + end + def close + '+' + end + self + end + #def emphasis + # def open + # '' + # end + # def close + # '' + # end + # self + #end + def cite + def open + '"' + end + def close + '"' + end + self + end + def insert + def open + '' + end + def close + '' + end + self + end + def strike + def open + '-' + end + def close + '-' + end + self + end + def superscript + def open + '^' + end + def close + '^' + end + self + end + def subscript + def open + '~' + end + def close + '~' + end + self + end + def hilite + def open + '*' + end + def close + '*' + end + self + end + def monospace + def open + '' + end + def close + '' + end + self + end + self + end +end +__END__ +#+END_SRC + +* txt_output.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_output.rb" +# <> +module Txt_Output + class Output + include SiSU_Param + include SiSU_Env + def document(content,outputfile) + emptyline=0 + content.each do |para| # this is a hack + if para.is_a?(Array) \ + and para.length > 0 + para.each do |line| + if line + line=line.gsub(/[ \t]+$/m,''). + gsub(/^\A[ ]*\Z/m,'') + (line=~/^\A\Z/) \ + ? (emptyline+=1) + : emptyline=0 + if emptyline < 2 #remove additional empty lines + outputfile.puts line + end + end + end + else outputfile.puts para #unix plaintext # /^([*=-]|\.){5}/ + end + end + outputfile.close + end + end +end +__END__ + +#+END_SRC + +* txt_read.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_read.rb" +# <> +module SiSU_Txt_Read + require_relative 'se' # se.rb + include SiSU_Env + def read_generic(opt,specific) + begin + env=SiSU_Env::InfoEnv.new(opt.fns) + unless opt.act[:quiet][:set]==:on + tool=(opt.act[:verbose][:set]==:on \ + || opt.act[:verbose_plus][:set]==:on \ + || opt.act[:maintenance][:set]==:on) \ + ? "#{env.program.text_editor} #{specific[:output_path]}/#{specific[:output_file]}" + : "[#{opt.f_pth[:lng_is]}] #{opt.fno}" + (opt.act[:verbose][:set]==:on \ + || opt.act[:verbose_plus][:set]==:on \ + || opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + opt.act[:color_state][:set], + specific[:description], + tool + ).green_hi_blue + : SiSU_Screen::Ansi.new( + opt.act[:color_state][:set], + specific[:description], + tool + ).green_title_hi + if (opt.act[:verbose_plus][:set]==:on \ + || opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + opt.act[:color_state][:set], + opt.fns, + "#{specific[:output_path]}/#{specific[:output_file]}" + ).flow + end + end + @ao_array=SiSU_AO::Source.new(opt).get # ao file drawn here + @wrap_width=if defined? md.make.plaintext_wrap \ + and md.make.plaintext_wrap + md.make.plaintext_wrap + elsif defined? env.plaintext_wrap \ + and env.plaintext_wrap + env.plaintext_wrap + else 78 + end + #wrap_width=(defined? md.make.plaintext_wrap) ? md.make.plaintext_wrap : 78 + rescue + SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end +end +__END__ +#+END_SRC + +* txt_shared.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_shared.rb" +# <> +module SiSU_TextUtils + require_relative 'generic_parts' # generic_parts.rb + class Wrap + def initialize(para='',n_char_max=76,n_indent=0,n_hang=nil,post='') + @para,@n_char_max,@n_indent,@post,=para,n_char_max,n_indent,post + @n_char_max_extend = n_char_max + @n_hang=n_hang ? n_hang : @n_indent + end + def break_line + "\n" + end + def line_wrap + space=' ' + spaces_indent,spaces_hang="#{break_line}#{space*@n_indent}",space*@n_hang + line=0 + out=[] + out[line]='' + @para=@para.gsub(/
/,' \\ '). + gsub(/#{Mx[:br_nl]}/,"\n\n") + words=@para.scan(/\n\n|\s+\\\s+|
|\S+/m) + while words != '' + word=words.shift + if not word + out[line] unless out[line].empty? #check + break + elsif word =~/
/ + word=nil + out[line]=out[line].gsub(/
/,'') + line=line + elsif word =~/\n\n/ + word="\n" + @n_char_max_extend = @n_char_max + line += 1 + elsif (out[line].length + word.length) > (@n_char_max_extend - @n_indent) \ + and out[line] =~/\S+/ + @n_char_max_extend = @n_char_max + out[line].squeeze!(' ') + line += 1 + end + if word + out[line]=if out[line] \ + and out[line] !~/\S+$/m + "#{out[line]}#{word}" + elsif out[line] \ + and out[line] =~/\S+/ + "#{out[line]} #{word}" + else "#{word.strip}" + end + end + @oldword=word if word =~/\S+/ + end + post=(@post.empty?) \ + ? '' + : "\n" + (' '*@n_indent) +@post + spaces_hang + out.join(spaces_indent) + post + end + def line_wrap_indent1 + @n_indent,@n_hang=2,2 + line_wrap + end + def line_wrap_endnote + @n_indent,@n_hang=4,2 + line_wrap + end + def array_wrap + if @para.is_a?(Array) + @arr=[] + @para.each do |line| + @arr << SiSU_TextUtils::Wrap.new(line,@n_char_max,@n_indent,@n_hang).line_wrap + end + end + @arr + end + def no_wrap + @para + end + def no_wrap_no_breaks + @para.gsub(/\n/m,' ').gsub(/\s\s+/,' ') + end + end + class HeaderScan + def initialize(md,para) + @md,@p=md,para + end + def extract(tag,tag_content,type,attrib) + if dc_tag \ + and dc_content + [dc_tag,dc_content,{dc_tag=>dc_content}] + else nil + end + end + def header(tag,tag_content,type='',attrib='') #this will break stuff and must be tested thoroughly 20060825 + @tag,@tag_content,@type,@attrib=tag,tag_content,type,attrib + def label #element + @tag + end + def type + @type + end + def text + @tag_content + end + def info #element text + @tag_content + end + def attribute + @attrib + end + def element + @tag + end + def attrib + @attrib + end + def el + @tag + end + self + end + def start_is_match + case @p + when /^#{Mx[:meta_o]}(title)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,@md.title.full,'meta','dc') #dc 1 + when /^#{Mx[:meta_o]}(creator|author)#{Mx[:meta_c]}\s*(.+?)$/ then header('creator',$2,'meta','dc') #dc 2 + when /^#{Mx[:meta_o]}(subject)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 3 + when /^#{Mx[:meta_o]}(description)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 4 + when /^#{Mx[:meta_o]}(publisher)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 5 + when /^#{Mx[:meta_o]}(contributor)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 6 + when /^#{Mx[:meta_o]}(date)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 7 + when /^#{Mx[:meta_o]}(date\.created)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(date\.issued)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(date\.available)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(date\.valid)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(date\.modified)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(type)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 8 + when /^#{Mx[:meta_o]}(format)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 9 + when /^#{Mx[:meta_o]}(identifier)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 10 + when /^#{Mx[:meta_o]}(source)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 11 + when /^#{Mx[:meta_o]}(language)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 12 + when /^#{Mx[:meta_o]}(relation)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 13 + when /^#{Mx[:meta_o]}(coverage)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 14 + when /^#{Mx[:meta_o]}(rights)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','dc') #dc 15 + when /^#{Mx[:meta_o]}(keywords)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(copyright)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(translator|translated_by)#{Mx[:meta_c]}\s*(.+?)$/ then header('translator',$2) + when /^#{Mx[:meta_o]}(illustrator|illustrated_by)#{Mx[:meta_c]}\s*(.+?)$/ then header('illustrator',$2) + when /^#{Mx[:meta_o]}(prepared_by)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(digitized_by)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(comments?)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(abstract)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(tags?)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(catalogue)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'meta','extra') + when /^#{Mx[:meta_o]}(class(?:ify)?_loc)#{Mx[:meta_c]}\s*(.+?)$/ then header('classify_loc',$2,'meta','extra') + when /^#{Mx[:meta_o]}(class(?:ify)?_dewey)#{Mx[:meta_c]}\s*(.+?)$/ then header('classify_dewey',$2,'meta','extra') + when /^#{Mx[:meta_o]}(class(?:ify)?_pg)#{Mx[:meta_c]}\s*(.+?)$/ then header('classify_pg',$2,'meta','extra') + when /^#{Mx[:meta_o]}(class(?:ify)?_isbn)#{Mx[:meta_c]}\s*(.+?)$/ then header('classify_isbn',$2,'meta','extra') + when /^#{Mx[:meta_o]}(toc|structure)#{Mx[:meta_c]}\s*(.+?)$/ then header('structure',$2,'process','instruct') + when /^#{Mx[:meta_o]}(level|page|markup)#{Mx[:meta_c]}\s*(.+?)$/ then header('markup',$2,'process','instruct') + when /^#{Mx[:meta_o]}(bold)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') + when /^#{Mx[:meta_o]}(italics|itali[sz]e)#{Mx[:meta_c]}\s*(.+?)$/ then header('italicize',$2,'process','instruct') + when /^#{Mx[:meta_o]}(vocabulary|wordlist)#{Mx[:meta_c]}\s*(.+?)$/ then header('vocabulary',$2,'process','instruct') + when /^#{Mx[:meta_o]}(css|stylesheet)#{Mx[:meta_c]}\s*(.+?)$/ then header('css',$2,'process','instruct') + when /^#{Mx[:meta_o]}(links)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') + when /^#{Mx[:meta_o]}(prefix)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') #add a & b + when /^#{Mx[:meta_o]}(suffix)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') + when /^#{Mx[:meta_o]}(information)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') + when /^#{Mx[:meta_o]}(contact)#{Mx[:meta_c]}\s*(.+?)$/ then header($1,$2,'process','instruct') + when /^#{Mx[:meta_o]}(rcs|cvs)#{Mx[:meta_c]}\s*(.+?)$/ then header('version',$2,'process','instruct') + else nil + end + end + def dublin + if @p =~/^#{Mx[:meta_o]}\S+?#{Mx[:meta_c]}/ + start_is_match + else nil + end + end + def meta + if @p =~/^#{Mx[:meta_o]}\S+?#{Mx[:meta_c]}/ + start_is_match + else nil + end + end + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/utils.org b/org/utils.org new file mode 100644 index 00000000..e709bcfe --- /dev/null +++ b/org/utils.org @@ -0,0 +1,857 @@ +-*- mode: org -*- +#+TITLE: sisu utils +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:utils: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* utils +** utils.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/utils.rb" +# <> +module SiSU_Utils + class CodeMarker + def initialize(line,file,color=:red) + @line,@file,@color=line.to_s,file,color + end + def ansi(color=nil) + @color=color ? color : @color + c={} + c[:on]=case @color + when :red then ANSI_C[:red] + when :green then ANSI_C[:green] + when :yellow then ANSI_C[:yellow] + when :blue then ANSI_C[:blue] + when :fuchsia then ANSI_C[:fuchsia] + when :cyan then ANSI_C[:cyan] + when :inv_red then ANSI_C[:inv_red] + when :inv_green then ANSI_C[:inv_green] + when :inv_yellow then ANSI_C[:inv_yellow] + when :inv_blue then ANSI_C[:inv_blue] + when :inv_fuchsia then ANSI_C[:inv_fuchsia] + when :inv_cyan then ANSI_C[:inv_cyan] + when :b_red then ANSI_C[:b_red] + when :b_green then ANSI_C[:b_green] + when :b_yellow then ANSI_C[:b_yellow] + when :b_blue then ANSI_C[:b_blue] + when :b_fuchsia then ANSI_C[:b_fuchsia] + when :b_cyan then ANSI_C[:b_cyan] + else ANSI_C[:red] + end + c[:off]= ANSI_C[:off] + #ansi_color + @line.to_s + ansi_color_off + ' ' + @file.gsub(/([^\/]+$)/,"#{ansi_color}\\1#{ansi_color_off}") + c + end + def var(v,x) + h={ c: nil, m: '' } + if v.is_a?(Hash) + h[:c] = (defined? v[:c]) ? v[:c] : '' + h[:m] = (defined? v[:m]) ? v[:m] : '' + elsif (v.is_a?(Symbol) \ + and x.is_a?(String)) + if v.is_a?(Symbol) + h[:c]=v + elsif v.is_a?(String) + h[:m]=v + end + if x.is_a?(String) + h[:m]=x + end + elsif (v.is_a?(Symbol) \ + or v.is_a?(String)) + if v.is_a?(Symbol) + h[:c]=v + elsif v.is_a?(String) + h[:m]=v + end + end + h[:c] = (defined? h[:c]) ? h[:c] : '' + h[:m] = (defined? h[:m]) ? h[:m] : '' + h[:c]=ansi(h[:c]) + h[:m]=message(h[:m]) + h + end + def message(msg='') + @message=(msg.nil? || msg.empty?) \ + ? '' + : ' ' + msg + end + def set(v=nil,x=nil) + v=var(v,x) + file,path=File.basename(@file),File.dirname(@file) + v[:c][:on] + @line + v[:c][:off] + ' ' \ + + path + '/' \ + + "#{v[:c][:on]}#{file}#{v[:c][:off]}" \ + + v[:m] + end + def mark(v=nil,x=nil) + puts set(v,x) + end + def tell(v=nil,x=nil) + puts set(v,x) + end + def report(v=nil,x=nil) + puts set(v,x) + end + def ok(v=nil,x=nil) + if (v.is_a?(Symbol) \ + and x.is_a?(String)) + x= '*OK* ' + x + elsif v.is_a?(String) + v='*OK* ' + v + x=nil + else + v,x='*OK*',nil + end + puts set(v,x) + end + def warn(v=nil,x=nil) + if (v.is_a?(Symbol) \ + and x.is_a?(String)) + x="\n " + '*WARN* ' + x + elsif v.is_a?(String) + v="\n " + '*WARN* ' + v + x=nil + else + v,x='*WARN*',nil + end + puts set(v,x) + end + def error(v=nil,x=nil) + if (v.is_a?(Symbol) \ + and x.is_a?(String)) + x="\n " + '*ERROR* ' + x + elsif v.is_a?(String) + v="\n " + '*ERROR* ' + v + x=nil + else + v,x='*ERROR*',nil + end + STDERR.puts set(v,x) + end + end + class Path + def initialize(dir=Dir.pwd) + @dir=dir + end + def base_markup(call_path=nil) + call_path = call_path \ + ? call_path \ + : Dir.pwd + (/(\S+?)(?:\/(?:#{Px[:lng_lst_rgx]}))?$/).match(call_path)[1] + end + def base_markup_stub + m=/.+\/(?:src\/)?(\S+)/im + base_markup[m,1] + end + def image_src + if base_markup =~/sisupod\/doc[\/]?$/ + base_markup.gsub(/\/doc[\/]?$/,'/image') + elsif FileTest.directory?("#{base_markup}/_sisu/image") + "#{base_markup}/_sisu/image" + end + end + def bmd + base_markup + end + end +end +__END__ +SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark({ m: %{ + code: #{@@flag[:code]}, <-- close "#{t_o}" +}}) +SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark({ m: %{ + code: #{@@flag['code']}, <-- close "#{t_o}" +}, c: :green}) +SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark({ m: %{ + code: #{@@flag['code']}, open --> "#{t_o}" +}}) if t_o=~/^```/m +SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark(%{ code: #{@@flag['code']}, open --> "#{t_o}" }) \ +if t_o=~/^```/m +SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark("open -->") +SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).mark("open -->") +SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark("open -->",:green) +SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:green,"open -->") +SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark("open -->") +SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:green) +SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark +SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark("open -->") +SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark('open -->',:green) +SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:red).mark +puts SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:red).set +puts SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).set('',:green) +puts SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).set('',:fuchsia) +puts ANSI_C[:red] + __LINE__.to_s + ANSI_C[:off] + ' ' + __FILE__ +puts "#{ANSI_C[:red]} #{__LINE__.to_s} #{ANSI_C[:off]} #{__FILE__}" +puts ANSI_C[:fuchsia] + __LINE__.to_s + ANSI_C[:off] + ' ' + __FILE__.gsub(/([^\/]+$)/,"#{ANSI_C[:fuchsia]}\\1#{ANSI_C[:off]}") +puts ANSI_C[:red] + __LINE__.to_s + ANSI_C[:off] + ' ' + __FILE__.gsub(/([^\/]+$)/,"#{ANSI_C[:red]}\\1#{ANSI_C[:off]}") +#+END_SRC + +** utils_spell.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/utils_spell.rb" +# <> +module SiSU_SpellUtility + class Spell + def initialize(input,filesrc,flg) + @flg=flg + @filename, @filetype = /(.+?)(\.\w\w\w0$)/.match(filesrc)[1,2] #.gsub(/\.\w\w\w0$/, "") + @input=input + @allwords=[] + puts @filename + @speller='aspell' # 'ispell' + @dictionary='british' + @lang='en_GB' + end + def check + @input.each do |data| + data=data.gsub(/(https?|www|ftp|gopher|png|jpg|gif|html|htm)\S+/i,' '). + gsub(/( |#{Mx[:nbsp]})/i,' '). + gsub(/<\/?(table|tr|td|b|p|href).*?>/i,' '). + gsub(/(<==.+|<:\S+>||^@\S+?:.+|\{\{\{|~)/,' '). + gsub(/(["|<>)(\n'`.;&_-]|\=)/,' '). + gsub(/\b(altExternal| + target|externalimg| + srcimagebext| + img|src|toc|pdf| + cd|org| + helvetica|roman + )\b/i,' '). + gsub(/EOF/,'') + @words=data.scan(/\S+/) + @words.each { |y| @allwords << y } + end + @allwords=@allwords.uniq + if @flg =~ /S/ + File.open('/home/ralph/spell_error','a+') do |file| #fix + file.puts %{\n\n[ #{@filename} ]} + end + @allwords.each { |y| puts y.inspect; system(%{cat #{y} | /usr/bin/#{@speller} -l -d #{@dictionary} >> ~/spell_error })} + else + @allwords.each { |y| sp=%x{echo #{y}|#{@speller} -l }; puts sp unless sp.empty?} + end + end + end +end +__END__ +#+END_SRC + +** utils_response.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/utils_response.rb" +# <> +module SiSU_Response + def available_selections_ + %{'yes', 'no', 'quit' or 'exit'; [ynqx]} + end + def response?(ask) + response='redo' + print ask + %{ [#{available_selections_}]: } + response=File.new('/dev/tty').gets.strip + case response + when /^(?:y|yes)$/ then true + when /^(?:n|no)$/ then false + when /^(?:[qx]|quit|exit)$/ then exit + else puts %{[please type: #{available_selections_}]} + response?(ask) + end + end + def query + def selections_available_(selections=:strict) + short_options=(selections == :strict) ? '' : '; [ynqx]' + %{'yes', 'no', 'quit' or 'exit'#{short_options}} + end + def selection_options + def response_strict(resp) + case resp + when /^(?:yes)$/ then true + when /^(?:no)$/ then false + when /^(?:quit|exit)$/ then exit + else + puts %{response was: #{resp}} + puts %{[please type to select: #{selections_available_(:strict)}]} + answer?('',:strict) + end + end + def response_short(resp) + case resp + when /^(?:y|yes)$/ then true + when /^(?:n|no)$/ then false + when /^(?:[qx]|quit|exit)$/ then exit + else + puts %{response was: #{resp}} + puts %{[please type to select: #{selections_available_(:short)}]} + answer?('',:short) + end + end + self + end + def answer?(ask,selections=:strict) + resp='redo' + print ask + %{PROCEED? [#{selections_available_(selections)}]: } + resp=File.new('/dev/tty').gets.strip + (selections==:strict) \ + ? selection_options.response_strict(resp) + : selection_options.response_short(resp) + end + self + end +end +__END__ +#+END_SRC + +** utils_composite.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/utils_composite.rb" +# <> +module SiSU_Composite_Doc_Utils + def inserts_array(loadfilename) + IO.readlines(loadfilename,'') + end + def insert_filename?(para) + if para =~ /^<<\s+((?:https?|file):\/\/\S+?\.ss[it])$/ # and NetTest + url($1.strip) + elsif para =~/^<<\s*(\S+?\.ss[it])$/ + $1.strip + end + end + def extract_filenames(loadfilename,file_names_arr) + file_names_arr << loadfilename + ssi_files=[] + if loadfilename =~/\S+?\.ss[im]$/ + inserts_array(loadfilename).each do |para| + filen=insert_filename?(para) + file_names_arr << filen + if filen =~/\S+?\.ssi$/ + ssi_files << filen + end + end + end + ssi_files.each do |fn| + extract_filenames(fn,file_names_arr) + end + file_names_arr.flatten.compact.uniq.sort + end + def composite_and_imported_filenames_array(loadfilename) + file_names_arr=[] + begin + if FileTest.file?(loadfilename) + if loadfilename =~/\S+?\.ss[itm]$/ + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'loading:', + loadfilename, + ).txt_grey + end + file_names_arr=extract_filenames(loadfilename,file_names_arr) + end + end + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + p file_names_arr ;p file_names_arr.length + end + file_names_arr + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end +end +__END__ +#+END_SRC + +** utils_screen_text_color.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/utils_screen_text_color.rb" +# <> +module SiSU_Screen + class Color + attr_accessor :off,:marker,:bold,:underline,:invert,:darkgrey_hi,:grey_hi,:pink_hi,:fuchsia_hi,:red_hi,:orange_hi,:yellow_hi,:brown_hi,:lightgreen_hi,:green_hi,:cyan_hi,:blue_hi,:navy_hi,:white,:white_bold,:grey,:pink,:fuchsia,:ruby,:red,:orange,:yellow,:brown,:green,:darkgreen,:cyan,:blue,:navy,:black + def initialize(&block) + instance_eval &block + end + end + class Ansi < Color + attr_reader :cX + def initialize(color_state,*txt) + @color_state,@txt=color_state,txt + @color_instruct=txt[0] + @cX=@@cX=if color_state==:on + Color.new do + self.off=self.white=self.white_bold=self.marker=self.bold=self.underline=self.invert=self.darkgrey_hi=self.grey_hi=self.pink_hi=self.fuchsia_hi=self.red_hi=self.orange_hi=self.yellow_hi=self.brown_hi=self.lightgreen_hi=self.green_hi=self.cyan_hi=self.blue_hi=self.navy_hi=self.grey=self.pink=self.fuchsia=self.ruby=self.red=self.orange=self.yellow=self.brown=self.green=self.darkgreen=self.cyan=self.blue=self.navy=self.black='' + end + else #default set to colors on + Color.new do + self.off = "\033[0m" + self.white = "\033[37m" + self.white_bold = "\033[1m" + self.marker = "\033[42m" + self.bold = "\033[1m" + self.underline = "\033[4m" + self.invert = "\033[7m" + self.darkgrey_hi = "\033[100m" + self.grey_hi = "\033[47m" + self.pink_hi = "\033[105m" + self.fuchsia_hi = "\033[45m" + self.red_hi = "\033[41m" + self.orange_hi = "\033[101m" + self.yellow_hi = "\033[103m" + self.brown_hi = "\033[43m" + self.lightgreen_hi = "\033[102m" + self.green_hi = "\033[42m" + self.cyan_hi = "\033[106m" + self.blue_hi = "\033[104m" + self.navy_hi = "\033[44m" + self.grey = "\033[90m" + self.pink = "\033[95m" + self.fuchsia = "\033[35m" + self.ruby = "\033[31m" + self.red = "\033[91m" #check + self.orange = "\033[91m" + self.yellow = "\033[93m" + self.brown = "\033[33m" + self.green = "\033[92m" + self.darkgreen = "\033[32m" + self.cyan = "\033[36m" + self.blue = "\033[94m" + self.navy = "\033[34m" + self.black = "\033[30m" + end + end + end + def colors + 0.upto(109) {|i| print "\033[#{i}m 33[#{i}m \033[m"} + puts '' + end + def color + case @color_instruct + when /invert/ then @cX.invert + when /darkgrey_hi/ then @cX.darkgrey_hi + when /grey_hi/ then @cX.grey_hi + when /pink_hi/ then @cX.pink_hi + when /fuchsia_hi/ then @cX.fuchsia_hi + when /red_hi/ then @cX.red_hi + when /orange_hi/ then @cX.orange_hi + when /yellow_hi/ then @cX.yellow_hi + when /brown_hi/ then @cX.brown_hi + when /lightgreen_hi/ then @cX.lightgreen_hi + when /green_hi/ then @cX.green_hi + when /cyan_hi/ then @cX.cyan_hi + when /blue_hi/ then @cX.blue_hi + when /navy_hi/ then @cX.navy_hi + when /white/ then @cX.white + when /grey/ then @cX.grey + when /pink/ then @cX.pink + when /fuchsia/ then @cX.fuchsia + when /ruby/ then @cX.ruby + when /red/ then @cX.red + when /orange/ then @cX.orange + when /yellow/ then @cX.yellow + when /brown/ then @cX.brown + when /green/ then @cX.green + when /darkgreen/ then @cX.darkgreen + when /cyan/ then @cX.cyan + when /blue/ then @cX.blue + when /navy/ then @cX.navy + when /close/ then @cX.off + when /off/ then @cX.off + end + end + def colorize + case @color_instruct + when /invert/ then puts "#{@cX.invert}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off} #{@cX.grey}#{@txt[3]}#{@cX.off}" + when /darkgrey_hi/ then puts "#{@cX.darkgrey_hi}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off} #{@cX.grey}#{@txt[3]}#{@cX.off}" + when /grey_hi/ then puts "#{@cX.grey_hi}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off} #{@cX.grey}#{@txt[3]}#{@cX.off}" + when /pink_hi/ then puts "#{@cX.pink_hi}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off} #{@cX.grey}#{@txt[3]}#{@cX.off}" + when /fuchsia_hi/ then puts "#{@cX.fuchsia_hi}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off} #{@cX.grey}#{@txt[3]}#{@cX.off}" + when /red_hi/ then puts "#{@cX.red_hi}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off} #{@cX.grey}#{@txt[3]}#{@cX.off}" + when /orange_hi/ then puts "#{@cX.orange_hi}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off} #{@cX.grey}#{@txt[3]}#{@cX.off}" + when /yellow_hi/ then puts "#{@cX.yellow_hi}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off} #{@cX.grey}#{@txt[3]}#{@cX.off}" + when /brown_hi/ then puts "#{@cX.brown_hi}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off} #{@cX.grey}#{@txt[3]}#{@cX.off}" + when /lightgreen_hi/ then puts "#{@cX.lightgreen_hi}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off} #{@cX.grey}#{@txt[3]}#{@cX.off}" + when /green_hi/ then puts "#{@cX.green_hi}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off} #{@cX.grey}#{@txt[3]}#{@cX.off}" + when /cyan_hi/ then puts "#{@cX.cyan_hi}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off} #{@cX.grey}#{@txt[3]}#{@cX.off}" + when /blue_hi/ then puts "#{@cX.blue_hi}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off} #{@cX.grey}#{@txt[3]}#{@cX.off}" + when /navy_hi/ then puts "#{@cX.navy_hi}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off} #{@cX.grey}#{@txt[3]}#{@cX.off}" + when /bold/ then puts "#{@cX.bold}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + when /white/ then puts "#{@cX.off}#{@txt[1]} #{@txt[2]}" + when /grey/ then puts "#{@cX.grey}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + when /pink/ then puts "#{@cX.pink}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + when /fuchsia/ then puts "#{@cX.fuchsia}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + when /ruby/ then puts "#{@cX.ruby}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + when /red/ then puts "#{@cX.red}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + when /orange/ then puts "#{@cX.orange}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + when /yellow/ then puts "#{@cX.yellow}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + when /brown/ then puts "#{@cX.brown}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + when /green/ then puts "#{@cX.green}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + when /darkgreen/ then puts "#{@cX.darkgreen}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + when /cyan/ then puts "#{@cX.cyan}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + when /blue/ then puts "#{@cX.blue}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + when /navy/ then puts "#{@cX.navy}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + end + end + def sourcename(sourcefilename) + @sourcefilename=sourcefilename + end + def basename(sourcefilename) + @basename=sourcefilename.sub(/\.(?:(?:-|ssm\.)?sst|ssm)$/,'') + end + def sisu + end + def rescue + STDERR.puts %{\t #{@cX.orange}Rescued#{@cX.off} #{@cX.grey}#{yield if block_given?}\n\t An#{@cX.off} #{@cX.fuchsia}ERROR#{@cX.off} #{@cX.grey}occurred, message:#{@cX.off} #{@cX.fuchsia}#{@txt[0]}#{@cX.off} #{@cX.grey}#{@txt[1]}#{@cX.off} #{@cX.brown}#{@txt[2]}#{@cX.off}} + end + def warn + STDERR.puts "\t #{@cX.brown}#{@txt[0]}#{@cX.off} #{@cX.grey}#{@txt[1]}#{@cX.off}" + end + def error + STDERR.puts "\t #{@cX.fuchsia}#{@txt[0]}#{@cX.off} #{@cX.brown}#{@txt[1]}#{@cX.off}" + end + def error2 + STDERR.puts "\t #{@cX.grey}#{@txt[0]}#{@cX.off} #{@cX.fuchsia}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + end + def version + puts "#{@cX.blue_hi}#{@txt[0]} #{@txt[1]}#{@cX.off} #{@cX.grey} (#{@txt[3]} [#{@txt[2]}])#{@txt[4]} &#{@cX.off} #{@cX.ruby}Ruby#{@cX.off} #{@cX.grey}(#{@txt[5]})#{@cX.off}\n" + end + def html3numbers + puts %{\t#{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.cyan}files processed#{@cX.off}. } + + %{#{@cX.grey}} + + %{scroll only: #{@txt[1]}, seg only: #{@txt[2]},} + + %{#{@cX.off} } + + %{#{@cX.cyan}joint scroll & seg: #{@txt[3]},#{@cX.off}} + + %{#{@cX.grey} } + + %{nav only: #{@txt[4]}} + + %{#{@cX.off}} + end + def html2numbers + puts %{\t#{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.cyan}files processed#{@cX.off}. } + + %{#{@cX.grey}} + + %{scroll only: #{@txt[1]},} + + %{#{@cX.off} } + + %{#{@cX.cyan}seg only: #{@txt[2]},#{@cX.off}} + + %{#{@cX.grey} } + + %{joint scroll & seg: #{@txt[3]}, nav only: #{@n_files_nav}} + + %{#{@cX.off}} + end + def html1numbers + puts %{\t#{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.cyan}files processed#{@cX.off}. } + + %{#{@cX.cyan}scroll only: #{@txt[1]},#{@cX.off}} + + %{#{@cX.grey} } + + %{seg only: #{@txt[2]}, } + + %{joint scroll & seg: #{@txt[3]}, nav only: #{@n_files_nav}} + + %{#{@cX.off}} + end + def html0_numbers + puts %{\t#{@cX.ruby}#{@txt[0]} files processed#{@cX.off}. } + + %{#{@cX.grey}} + + %{scroll only: #{@txt[1]}, seg only: #{@txt[2]}, joint scroll & seg: #{@txt[3]},} + + %{#{@cX.off} } + + %{#{@cX.cyan}nav only: #{@txt[4]}#{@cX.off}.} + end + def grey + puts "#{@cX.grey}#{@txt[0]}#{@cX.off} #{@cX.cyan}#{@txt[1]}#{@cX.off}" + end + def txt_white + puts "\t#{@cX.white}#{@txt[0]}#{@cX.off} #{@cX.white}#{@txt[1]}#{@cX.off}" + end + def txt_grey + puts "\t#{@cX.grey}#{@txt[0]}#{@cX.off} #{@cX.cyan}#{@txt[1]}#{@cX.off}" + end + def txt_cyan + puts "\t#{@cX.cyan}#{@txt[0]}#{@cX.off} #{@cX.grey}#{@txt[1]}#{@cX.off}" + end + def txt_blue + puts "\t#{@cX.blue}#{@txt[0]}#{@cX.off} #{@cX.grey}#{@txt[1]}#{@cX.off}" + end + def txt_red + puts "\t#{@cX.red}#{@txt[0]}#{@cX.off} #{@cX.cyan}#{@txt[1]}#{@cX.off}" + end + def txt_green + puts "\t#{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.grey}#{@txt[1]}#{@cX.off}" + end + def url #clean + blue + end + def result + puts "\t#{@cX.grey}#{@txt[0]}#{@cX.off} #{@cX.green}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off}" + end + def maintenance + puts "\t#{@cX.grey}#{@txt[0]}#{@cX.off} #{@cX.brown}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}" + end + def instruct + puts %{\t #{@cX.grey}#{@txt[0]}#{@cX.off} #{@cX.cyan}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off} #{@cX.cyan}#{@txt[3]}#{@cX.off} #{@cX.grey}#{@txt[4]}#{@cX.off} "#{@cX.brown}#{@f}#{@cX.off}"} + end + def grey_open + print @cX.grey + end + def p_off + print @cX.off + end + def p_close + print @cX.off + end + def flow + puts %{\t#{@cX.grey}#{@txt[0]}#{@cX.off} #{@cX.ruby}->#{@cX.off}\n\t #{@cX.blue}#{@txt[1]}#{@cX.off}} + end + def output + puts %{\t#{@cX.grey}#{@txt[0]}#{@cX.off} #{@cX.ruby}->#{@cX.off}\n\t #{@cX.blue}#{@txt[1]}#{@cX.off}} + end + def generic + puts %{\t#{@cX.navy}#{@txt[0]} #{@txt[1]}#{@cX.off}. } + end + def files_processed + puts %{\t#{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.grey}#{@txt[1]}#{@cX.off}} + end + def print_blue + print "#{@cX.blue}#{@txt[0]} #{@txt[1]}#{@cX.off}" + end + def puts_blue + puts "#{@cX.blue}#{@txt[0]} #{@txt[1]}#{@cX.off}" + end + def print_brown + print "#{@cX.brown}#{@txt[0]}#{@cX.off}" + end + def blue_tab + print "\t#{@cX.blue}#{@txt[0]}#{@cX.off}\n" + end + def print_grey + print "#{@cX.grey}#{@txt[0]} #{@txt[1]}#{@cX.off}" + end + def puts_grey + puts "#{@cX.grey}#{@txt[0]} #{@txt[1]}#{@cX.off}" + end + def puts_brown + puts "#{@cX.brown}#{@txt[0]} #{@txt[1]}#{@cX.off}" + end + def grey_tab + print "\t#{@cX.grey}#{@txt[0]}#{@cX.off}\n" + end + def green_title + puts %{#{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.grey}#{@txt[1]}#{@cX.off}} + end + def green_title_hi + puts %{#{@cX.green_hi}#{@cX.black}#{@txt[0]}#{@cX.off*2} #{@cX.grey}#{@txt[1]}#{@cX.off}} + end + def green_hi_blue + puts %{#{@cX.green_hi}#{@cX.black}#{@txt[0]}#{@cX.off*2} #{@cX.blue}#{@txt[1]}#{@cX.off}} + end + def blue_title_hi + puts %{#{@cX.blue_hi}#{@txt[0]}#{@cX.off*2} #{@cX.blue}#{@txt[1]}#{@cX.off}} + end + def grey_title_hi + puts %{#{@cX.grey_hi}#{@cX.black}#{@txt[0]}#{@cX.off*2} #{@cX.blue}#{@txt[1]}#{@cX.off}} + end + def grey_title_grey_blue + puts %{#{@cX.grey_hi}#{@cX.black}#{@txt[0]}#{@cX.off*2} #{@cX.grey}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off}} + end + def dark_grey_title_hi + puts %{#{@cX.darkgrey_hi}#{@cX.black}#{@txt[0]}#{@cX.off*2} #{@cX.blue}#{@txt[1]}#{@cX.off}} + end + def cyan_title_hi + puts %{#{@cX.cyan_hi}#{@cX.black}#{@txt[0]}#{@cX.off*2} #{@cX.blue}#{@txt[1]}#{@cX.off}} + end + def cyan_hi_blue + puts %{#{@cX.cyan_hi}#{@cX.black}#{@txt[0]}#{@cX.off*2} #{@cX.blue}#{@txt[1]}#{@cX.off}} + end + def dbi_title + puts %{#{@cX.blue_hi}#{@cX.black}#{@txt[0]}#{@cX.off*2} #{@cX.cyan}#{@cX.grey}#{@txt[1]}#{@cX.off*2} #{@cX.green}#{@txt[2]}#{@cX.off}} + end + def yellow_title_hi + puts %{#{@cX.yellow_hi}#{@cX.black}#{@txt[0]}#{@cX.off*2} #{@cX.blue}#{@txt[1]}#{@cX.off}} + end + def term_sheet_title + puts %{\t#{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.red_hi}#{@cX.black}#{@txt[1]}.#{@cX.off*2} } + end + def generic_number + puts "#{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.grey}#{@txt[1]}#{@cX.off}" + end + def tex_numbers + puts %{ #{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.cyan}tex/pdf files processed#{@cX.off}.} + end + def tex_info_numbers + puts %{ #{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.cyan}texinfo files processed#{@cX.off}.} + end + def lout_numbers + puts %{ #{@cX.green}#{@n_lout}#{@cX.off} #{@cX.cyan}lout/pdf files processed#{@cX.off}.} + end + def parameters + end + def reserved + puts %{ #{@cX.grey_hi}#{@cX.black}reserved#{@cX.off*2}} + end + def meta_verse_title + puts %{#{@cX.green_hi}#{@cX.black}MetaVerse#{@cX.off*2} } + end + def meta_verse_title_v + b=sourcename(@txt[0]) + puts %{#{@cX.green_hi}#{@cX.black}MetaVerse#{@cX.off*2} } + + %{#{@cX.grey}#{@txt[0]}#{@cX.off} #{@cX.ruby}->#{@cX.off}\n\t #{@cX.blue}~meta/#{b}.meta#{@cX.off}} + end + def meta_verse + puts "\t#{@cX.grey}MetaVerse#{@cX.off}" + end + def meta_verse_skipped + puts %{\t#{@cX.grey}MetaVerse: MarshalLoad (creation of metaVerse skipped)#{@cX.off}} + end + def meta_verse_load + puts %{\t[ MetaVerse: MarshalLoad ]} + end + def html_title + puts %{#{@cX.green_hi}#{@cX.black}HTML#{@cX.off*2}} + end + def html_output + puts %{\t#{@cX.grey}#{@txt[0]}#{@cX.off} #{@cX.ruby}->#{@cX.off}\n\t #{@cX.blue}#{@txt[1]}#{@cX.off}} + end + def segmented + puts "\t#{@cX.grey}Seg#{@cX.off} #{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.grey}segments#{@cX.off}" + end + end +end +__END__ + Color.new do + self.off = "\033[0m" + self.white = "\033[37m" + self.white_bold = "\033[1m" + self.marker = "\033[42m" + self.bold = "\033[1m" + self.underline = "\033[4m" + self.invert = "\033[7m" + self.darkgrey_hi = "\033[100m" + self.grey_hi = "\033[47m" + self.pink_hi = "\033[105m" + self.fuchsia_hi = "\033[45m" + self.red_hi = "\033[41m" + self.orange_hi = "\033[101m" + self.yellow_hi = "\033[103m" + self.brown_hi = "\033[43m" + self.lightgreen_hi = "\033[102m" + self.green_hi = "\033[42m" + self.cyan_hi = "\033[106m" + self.blue_hi = "\033[104m" + self.navy_hi = "\033[44m" + self.grey = "\033[90m" + self.pink = "\033[95m" + self.fuchsia = "\033[35m" + self.ruby = "\033[31m" + self.red = "\033[91m" #check + self.orange = "\033[91m" + self.yellow = "\033[93m" + self.brown = "\033[33m" + self.green = "\033[92m" + self.darkgreen = "\033[32m" + self.cyan = "\033[36m" + self.blue = "\033[94m" + self.navy = "\033[34m" + self.black = "\033[30m" + end +# fewer colors + Color.new do + self.off = "\033[0m" + self.white = "\033[0m" + self.marker = "\033[42m" + self.bold = "\033[1m" + self.underline = "\033[4m" + self.invert = "\033[7m" + self.darkgrey_hi = "\033[100m" + self.grey_hi = "\033[47m" + self.pink_hi = "\033[105m" + self.fuchsia_hi = "\033[45m" + self.red_hi = "\033[41m" + self.orange_hi = "\033[101m" + self.yellow_hi = "\033[103m" + self.brown_hi = "\033[43m" + self.lightgreen_hi = "\033[102m" + self.green_hi = "\033[42m" + self.cyan_hi = "\033[106m" + self.blue_hi = "\033[104m" + self.navy_hi = "\033[44m" + self.grey = "\033[90m" + self.pink = "\033[95m" + self.fuchsia = "\033[35m" + self.ruby = "\033[31m" + self.red = "\033[31m" #check + self.orange = "\033[91m" + self.yellow = "\033[33m" + self.brown = "\033[33m" + self.green = "\033[32m" + self.darkgreen = "\033[32m" + self.cyan = "\033[36m" + self.blue = "\033[34m" + self.navy = "\033[34m" + self.black = "\033[30m" + end +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + utils + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/xhtml.org b/org/xhtml.org new file mode 100644 index 00000000..3fc576e9 --- /dev/null +++ b/org/xhtml.org @@ -0,0 +1,5080 @@ +-*- mode: org -*- +#+TITLE: sisu xhtml including epub +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:xhtml: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* xhtml.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml.rb" +# <> +module SiSU_XHTML + require_relative 'se_hub_particulars' # se_hub_particulars.rb + include SiSU_Particulars + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'xml_shared' # xml_shared.rb + include SiSU_XML_Munge + require_relative 'xml_format' # xml_format.rb + include SiSU_XML_Format + require_relative 'xml_persist' # xml_persist.rb + require_relative 'rexml' # rexml.rb + include SiSU_Rexml + require_relative 'shared_metadata' # shared_metadata.rb + @@alt_id_count=0 + @@tablefoot='' + class Source + def initialize(opt) + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + end + def read + begin + @env,@md,@ao_array=@particulars.env,@particulars.md,@particulars.ao_array + unless @opt.act[:quiet][:set]==:on + tool=if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + "#{@env.program.web_browser} file://#{@md.file.output_path.xhtml.dir}/#{@md.file.base_filename.xhtml}" + elsif @opt.act[:verbose][:set]==:on + "#{@env.program.web_browser} file://#{@md.file.output_path.xhtml.dir}/#{@md.file.base_filename.xhtml}" + else "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}" + end + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'XHTML', + tool + ).green_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'XHTML', + tool + ).green_title_hi + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + @opt.fns, + "/#{@md.file.output_path.xhtml.dir}/#{@md.file.base_filename.xhtml}" + ).flow + end + end + SiSU_XHTML::Source::Songsheet.new(@particulars).song + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + SiSU_Env::CreateSite.new(@opt).cp_css + Dir.chdir(@opt.f_pth[:pth]) + end + end + private + class Songsheet + def initialize(particulars) + @env,@md,@ao_array,@particulars=particulars.env,particulars.md,particulars.ao_array,particulars + @file=SiSU_Env::FileOp.new(@md) + end + def song + begin + SiSU_XHTML::Source::Scroll.new(@particulars).songsheet + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_XHTML::Source::Tidy.new(@md,@file.place_file.xhtml.dir).xml # test wellformedness, comment out when not in use + end + SiSU_Rexml::Rexml.new(@md,@file.place_file.xhtml.dir).xml if @md.opt.act[:maintenance][:set]==:on # test rexml parsing, comment out when not in use #debug + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + end + class Scroll + require_relative 'xhtml_shared' # xhtml_shared.rb #check already called + require_relative 'txt_shared' # txt_shared.rb + include SiSU_TextUtils + require_relative 'css' # css.rb + def initialize(particulars) + @env,@md,@ao_array=particulars.env,particulars.md,particulars.ao_array + @tab="\t" + @trans=SiSU_XML_Munge::Trans.new(@md) + @sys=SiSU_Env::SystemCall.new + @per=SiSU_XML_Persist::Persist.new + end + def songsheet + begin + pre + @data=markup(@ao_array) + post + publish + ensure + SiSU_XML_Persist::Persist.new.persist_init + end + end + protected + def embedded_endnotes(dob='') + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/, + '\1\2 '). + gsub(/#{Mx[:en_b_o]}([*+]\d+)\s+(.+?)#{Mx[:en_b_c]}/, + '\1\2 '). + gsub(/#{Mx[:en_a_o]}([*+]+)\s+(.+?)#{Mx[:en_a_c]}/, + '\1\2 ') + end + def extract_endnotes(dob='') + notes=dob.obj.scan(/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]})([\d*+]+\s+.+?)(?:#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/) + notes.flatten.each do |e| + s=e.to_s + util=SiSU_TextUtils::Wrap.new(s,70) + wrap=util.line_wrap + wrap=wrap.gsub(/^(\d+)\s+(.+?)\s*\Z/m, < +#{Ax[:tab]*2}\\1. \\2 +#{Ax[:tab]*1} +WOK +). + gsub(/^([*+]\d+)\s+(.+?)\s*\Z/m, < +#{Ax[:tab]*2}\\1 \\2 +#{Ax[:tab]*1} +WOK +). + gsub(/^([*+]+)\s+(.+?)\s*\Z/m, < +#{Ax[:tab]*2}\\1 \\2 +#{Ax[:tab]*1} +WOK +) +#KEEP alternative presentation of endnotes +# wrap=wrap.gsub(/^(\d+)\s+(.+?)\s*\Z/m, < +##{Ax[:tab]*2}\\1. \\2 +##{Ax[:tab]*1}

#{$ep[:hsp]}

#{@md.title.full}

#{@md.creator.author}

+WOK + end + def create + @css=SiSU_Env::CSS_Stylesheet.new(@particulars.md) + format_head_toc=SiSU_XHTML_EPUB2_Format::HeadToc.new(@md) + dochead=format_head_toc.head + < + #{@doc_details} +

Word index links are to html versions of the text the segmented version followed by the scroll (single document) version.
[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).]

+

(The word listing/index is Case sensitive: Capitalized words appear before lower case)

+

+ word (number of occurences)
linked references to word within document
+ [if number of occurences exceed number of references - word occurs more than once in at least one reference. Footnote/endnotes are either assigned to the paragraph from which they are referenced or ignored, so it is relevant to check the footnotes referenced from within a paragraph as well.] +

+

+ (After the page is fully loaded) you can jump directly to a word by appending a hash (#) and the word to the url for this text, (do not forget that words are case sensitive, and may be listed twice (starting with and without an upper case letter)), #your_word # [#{$ep[:hsp]}http://[web host]/#{@fnb}/concordance.html#your_word#{$ep[:hsp]}] +

+WOK + end + end + class Word + @@word_previous='' + def initialize(word,freq) + @word,@freq=word,freq + end + def html + w=if @word.capitalize==@@word_previous + %{\n

#{@word}

(#{@freq})

\n\t

} + else n=@word.strip.gsub(/\s+/,'_') #also need to convert extended character set to html + %{\n

#{@word}

(#{@freq})

\n\t

} + end + @@word_previous=@word.capitalize + w + end + end + class Words + require_relative 'xhtml_epub2_format' # xhtml_epub2_format.rb + include SiSU_XHTML_EPUB2_Format + require_relative 'se' # se.rb + include SiSU_Screen + def initialize(particulars) + @particulars=particulars + begin + @env,@md,@ao_array=particulars.env,particulars.md,particulars.ao_array + @path="#{@env.processing_path.epub}" + @freq=Hash.new(0) + @rxp_lv0=/^#{Mx[:lv_o]}0:/ + @rxp_lv1=/^#{Mx[:lv_o]}1:/ + @rxp_lv2=/^#{Mx[:lv_o]}2:/ + @rxp_lv3=/^#{Mx[:lv_o]}3:/ + @rxp_seg=/^#{Mx[:lv_o]}4:(\S+?)#{Mx[:lv_c]}/ + @rxp_title=Regexp.new("^#{Mx[:meta_o]}title#{Mx[:meta_c]}\s*(.+?)\s*$") + @rxp_t0=Regexp.new('^T0') + @rxp_t1=Regexp.new('^T1') + @rxp_t2=Regexp.new('^T2') + @rxp_t3=Regexp.new('^T3') + @rxp_excluded1=/(?:https?|file|ftp):\/\/\S+/ + @rxp_excluded0=/^(?:#{Mx[:fa_bold_o]}|#{Mx[:fa_italics_o]})?(?:to\d+|\d+| |#{Mx[:br_endnotes]}|EOF|#{Mx[:br_eof]}|thumb_\S+|snap_\S+|_+|-+|[(]?(?:ii+|iv|vi+|ix|xi+|xiv|xv|xvi+|xix|xx)[).]?|\S+?_\S+|[\d_]+\w\S+|[\w\d]{1,2}|\d{1,3}\w?|[0-9a-f]{16,64}|\d{2,3}x\d{2,3}|\S{0,2}sha\d|\S{0,3}\d{4}w\d\d|\b\w\d+|\d_all\b|e\.?g\.?)(?:#{Mx[:fa_bold_c]}|#{Mx[:fa_italics_c]})?$/mi #this regex causes and cures a stack dump in ruby 1.9 !!! + @rgx_splitlist=%r{[—.,;:-]+|#{Mx[:nbsp]}+}mi + @rgx_scanlist=%r{#{Mx[:fa_italics_o]}[a-zA-Z0-9"\s]{2,12}#{Mx[:fa_italics_c]}|#{Mx[:fa_bold_o]}[a-zA-Z0-9"\s]{2,12}#{Mx[:fa_bold_c]}|#{Mx[:url_o]}https?://\S+?#{Mx[:url_c]}|file://\S+|<\S+?>|\w+|[a-zA-Z]+}mi + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + end + end + def songsheet + begin + #fix to use + p __LINE__.to_s + ':' + __FILE__ + p "#{@path}/content/#{@md.fn[:epub_concord]}" + p "#{@md.file.output_path.epub.dir}/#{@md.file.base_filename.epub}" + @file_concordance=File.open("#{@path}/content/#{@md.fn[:epub_concord]}",'w') + map_para + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + @file_concordance.close + end + end + protected + def location_scroll(wordlocation,show) + @wordlocation=wordlocation + %{#{@wordlocation}; } + end + def location_seg(wordlocation,show) + @wordlocation,@show=wordlocation,show + @word_location_seg=wordlocation.gsub(/(.+?)\#(\d+)/,"\\1#{Sfx[:epub_xhtml]}#o\\2") unless wordlocation.nil? + case @wordlocation + when @rxp_t1 + %{[H]#{@show}, } + when @rxp_t2 + %{[H]#{@show}, } + when @rxp_t3 + %{[H]#{@show}, } + else %{#{@show}, } + end + end + def map_para + @seg,toy=nil,nil + @word_map={} + @ao_array.each do |line| + if defined? line.ocn + if (line.is ==:heading \ + || line.is ==:heading_insert) \ + && line.ln==4 + @seg=line.name + end + if line.ocn.to_s =~/\d+/ then toy=line.ocn.to_s + end + if toy =~/\d+/ \ + and toy !~/^0$/ + line.obj=line.obj.split(@rgx_splitlist).join(' ') #%take in word or other match + for word in line.obj.scan(@rgx_scanlist) #%take in word or other match + word=word.gsub(/#{Mx[:lnk_o]}|#{Mx[:lnk_c]}|#{Mx[:url_o]}|#{Mx[:url_c]}/,''). + gsub(/#{Mx[:fa_o]}\S+?#{Mx[:fa_o_c]}/,''). + gsub(/#{Mx[:fa_c_o]}\S+?#{Mx[:fa_c]}/,''). + gsub(/#{Mx[:gl_o]}#[a-z]+#{Mx[:gl_c]}/,''). + gsub(/#{Mx[:gl_o]}#[0-9]+#{Mx[:gl_c]}/,''). + gsub(/^\S$/,'') + word=nil if word.empty? + word=nil if word =~@rxp_excluded0 #watch + word=nil if word =~@rxp_excluded1 #watch + word=nil if word =~/^\S$/ + if word + word=word.gsub(/#{Mx[:br_nl]}|#{Mx[:br_line]}/,' '). + gsub(/#{Mx[:fa_o]}[a-z]{1,7}#{Mx[:fa_o_c]}|#{Mx[:fa_c_o]}[a-z]{1,7}#{Mx[:fa_c]}/,''). + gsub(/#{Mx[:mk_o]}(?:[0-9a-f]{32}:[0-9a-f]{32}|[0-9a-f]{64}:[0-9a-f]{64})#{Mx[:mk_c]}/,''). + gsub(/#{Mx[:mk_o]}(?:[0-9a-f]{32}|[0-9a-f]{64})#{Mx[:mk_c]}/,''). + gsub(/#{Mx[:en_a_o]}(?:\d|[*+])*|#{Mx[:en_b_o]}(?:\d|[*+])*|#{Mx[:en_a_c]}|#{Mx[:en_b_c]}/mi,''). + gsub(/#{Mx[:fa_o]}\S+?#{Mx[:fa_o_c]}/,'').gsub(/#{Mx[:fa_c_o]}\S+?#{Mx[:fa_c]}/,''). + gsub(/<\/?\S+?>/,''). + gsub(/^\@+/,''). + strip. + gsub(/#{Mx[:tc_p]}.+/,''). + gsub(/[\.,;:"]$/,''). + gsub(/["]/,''). + gsub(/^\s*[\(]/,''). + gsub(/[\(]\s*$/,''). + gsub(/^(?:See|e\.?g\.?).+/,''). + gsub(/^\s*[.,;:]\s*/,''). + strip. + gsub(/^\(?[a-zA-Z]\)$/,''). + gsub(/^\d+(st|nd|rd|th)$/,''). + gsub(/^(\d+\.?)+$/, ''). + gsub(/#{Mx[:mk_o]}|#{Mx[:mk_c]}/,''). + gsub(/:name#\S+/,''). + gsub(/^\S$/,'') + word=nil if word =~/^\S$/ + word=nil if word =~/^\s*$/ #watch + if word + unless word =~/[A-Z][A-Z]/ \ + or word =~/\w+\s\w+/ + word=word.capitalize + end + @freq[word] +=1 + @word_map[word] ||= [] + if line !~@rxp_lv0 \ + and line !~@rxp_lv1 \ + and line !~@rxp_lv2 \ + and line !~@rxp_lv3 + @word_map[word] << location_seg("#{@seg}\##{toy}",toy) + else + @word_map[word] << case line + when @rxp_lv0 then location_seg('T0',toy) + when @rxp_lv1 then location_seg('T1',toy) + when @rxp_lv2 then location_seg('T2',toy) + when @rxp_lv3 then location_seg('T3',toy) + end + end + end + end + end + end + end + end + seg='' + @file_concordance << SiSU_XHTML_EPUB2_Concordance::Source::DocTitle.new(@particulars).create + alph=%W[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z] + @file_concordance << '

' + alph.each {|x| @file_concordance << %{#{x},#{$ep[:hsp]}}} + @file_concordance << '

' + letter=alph.shift + @file_concordance << %{\n

A

} + for word in @freq.keys.sort! {|a,b| a.downcase<=>b.downcase} + f=/^(\S)/.match(word)[1] + if letter < f.upcase + while letter < f.upcase + if alph.length > 0 + letter=alph.shift + @file_concordance << %{\n

#{letter}

} + else break + end + end + end + keyword=SiSU_XHTML_EPUB2_Concordance::Source::Word.new(word,@freq[word]).html + if keyword !~ @rxp_excluded0 + if @word_map[word][0] =~ /\d+/ + @file_concordance << %{#{keyword}#{seg}#{@word_map[word].uniq.compact.join}} + end + @file_concordance << '

' + end + # special cases endnotes and header levels 1 - 3 + end + credits=SiSU_Proj_XHTML::Bits.new.credits_sisu_epub + @file_concordance << %{#{credits}\n} # footer + end + end + end +end +__END__ +#+END_SRC + +** xhtml_epub2_format.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2_format.rb" +# <> +module SiSU_XHTML_EPUB2_Format + class ParagraphNumber + def initialize(md,ocn) + @md,@ocn=md,ocn.to_s + @ocn ||='' + end + def ocn_display + make=SiSU_Env::ProcessingSettings.new(@md) + if make.build.ocn? + ocn_class='ocn' + if @ocn==nil \ + or @ocn.to_i==0 \ + or @ocn.empty? + %{} + else + @ocn.gsub(/^(\d+|)$/, + %{}) + end + else + %{} + end + end + def name + (@ocn==nil || @ocn.empty?) ? '' : %{} + end + def id #w3c? "tidy" complains about numbers as identifiers ! annoying + (@ocn==nil || @ocn.empty?) ? '' : %{id="o#{@ocn}"} + end + def goto + (@ocn==nil || @ocn.empty?) ? '' : %{} + end + end + class CSS + def css_epub_xhtml + <<-WOK +/* SiSU epub css default stylesheet */ + body { + color: black; + background: #ffffff; + background-color: #ffffff; + } +/* + table { + margin-left: 5%; + display: block; + } + tr { + display: block; + } + th,td { + display: inline; + vertical-align: top; + } +*/ + a:link { + color: #003399; + text-decoration: none; + } + a:visited { + color: #003399; + text-decoration: none; + } + a:hover { + color: #000000; + background-color: #f9f9aa; + } +/* + a:hover { + border-bottom: 2px solid #777777; + background-color: #fff3b6; + } +*/ + a:hover img { + background-color: #ffffff; + } + a:active { + color: #003399; + text-decoration: underline; + } + a.lnkocn:link { + color: #777777; + text-decoration: none; + } + div { + margin-left: 0; + margin-right: 0; + } + div.p { + margin-left: 5%; + margin-right: 1%; + } + + .norm, .bold, .verse, .group, .block, .alt { + line-height: 133%; + margin-left: 0em; + margin-right: 2em; + margin-top: 12px; + margin-bottom: 0px; + padding-left: 0em; + text-indent: 0mm; + } + p, h0, h1, h2, h3, h4, h5, h6, h7 { + display: block; + font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman; + font-size: 100%; + font-weight: normal; + line-height: 133%; + text-align: justify; + margin-left: 0em; + margin-right: 2em; + text-indent: 0mm; + margin-top: 0.8em; + margin-bottom: 0.8em; + } + p.norm { } + p.i1 {padding-left: 1em;} + p.i2 {padding-left: 2em;} + p.i3 {padding-left: 3em;} + p.i4 {padding-left: 4em;} + p.i5 {padding-left: 5em;} + p.i6 {padding-left: 6em;} + p.i7 {padding-left: 7em;} + p.i8 {padding-left: 8em;} + p.i9 {padding-left: 9em;} + + p.h0i0 { + padding-left: 0em; + text-indent: 0em; + } + p.h0i1 { + padding-left: 1em; + text-indent: -1em; + } + p.h0i2 { + padding-left: 2em; + text-indent: -2em; + } + p.h0i3 { + padding-left: 3em; + text-indent: -3em; + } + p.h0i4 { + padding-left: 4em; + text-indent: -4em; + } + p.h0i5 { + padding-left: 5em; + text-indent: -5em; + } + p.h0i6 { + padding-left: 6em; + text-indent: -6em; + } + p.h0i7 { + padding-left: 7em; + text-indent: -7em; + } + p.h0i8 { + padding-left: 8em; + text-indent: -8em; + } + p.h0i9 { + padding-left: 9em; + text-indent: -9em; + } + + p.h1i0 { + padding-left: 0em; + text-indent: 1em; + } + p.h1i1 { + padding-left: 1em; + text-indent: 0em; + } + p.h1i2 { + padding-left: 2em; + text-indent: -1em; + } + p.h1i3 { + padding-left: 3em; + text-indent: -2em; + } + p.h1i4 { + padding-left: 4em; + text-indent: -3em; + } + p.h1i5 { + padding-left: 5em; + text-indent: -4em; + } + p.h1i6 { + padding-left: 6em; + text-indent: -5em; + } + p.h1i7 { + padding-left: 7em; + text-indent: -6em; + } + p.h1i8 { + padding-left: 8em; + text-indent: -7em; + } + p.h1i9 { + padding-left: 9em; + text-indent: -8em; + } + + p.h2i0 { + padding-left: 0em; + text-indent: 2em; + } + p.h2i1 { + padding-left: 1em; + text-indent: 1em; + } + p.h2i2 { + padding-left: 2em; + text-indent: 0em; + } + p.h2i3 { + padding-left: 3em; + text-indent: -1em; + } + p.h2i4 { + padding-left: 4em; + text-indent: -2em; + } + p.h2i5 { + padding-left: 5em; + text-indent: -3em; + } + p.h2i6 { + padding-left: 6em; + text-indent: -4em; + } + p.h2i7 { + padding-left: 7em; + text-indent: -5em; + } + p.h2i8 { + padding-left: 8em; + text-indent: -6em; + } + p.h2i9 { + padding-left: 9em; + text-indent: -7em; + } + + p.h3i0 { + padding-left: 0em; + text-indent: 3em; + } + p.h3i1 { + padding-left: 1em; + text-indent: 2em; + } + p.h3i2 { + padding-left: 2em; + text-indent: 1em; + } + p.h3i3 { + padding-left: 3em; + text-indent: 0em; + } + p.h3i4 { + padding-left: 4em; + text-indent: -1em; + } + p.h3i5 { + padding-left: 5em; + text-indent: -2em; + } + p.h3i6 { + padding-left: 6em; + text-indent: -3em; + } + p.h3i7 { + padding-left: 7em; + text-indent: -4em; + } + p.h3i8 { + padding-left: 8em; + text-indent: -5em; + } + p.h3i9 { + padding-left: 9em; + text-indent: -6em; + } + + p.h4i0 { + padding-left: 0em; + text-indent: 4em; + } + p.h4i1 { + padding-left: 1em; + text-indent: 3em; + } + p.h4i2 { + padding-left: 2em; + text-indent: 2em; + } + p.h4i3 { + padding-left: 3em; + text-indent: 1em; + } + p.h4i4 { + padding-left: 4em; + text-indent: 0em; + } + p.h4i5 { + padding-left: 5em; + text-indent: -1em; + } + p.h4i6 { + padding-left: 6em; + text-indent: -2em; + } + p.h4i7 { + padding-left: 7em; + text-indent: -3em; + } + p.h4i8 { + padding-left: 8em; + text-indent: -4em; + } + p.h4i9 { + padding-left: 9em; + text-indent: -5em; + } + + p.h5i0 { + padding-left: 0em; + text-indent: 5em; + } + p.h5i1 { + padding-left: 1em; + text-indent: 4em; + } + p.h5i2 { + padding-left: 2em; + text-indent: 3em; + } + p.h5i3 { + padding-left: 3em; + text-indent: 2em; + } + p.h5i4 { + padding-left: 4em; + text-indent: 1em; + } + p.h5i5 { + padding-left: 5em; + text-indent: 0em; + } + p.h5i6 { + padding-left: 6em; + text-indent: -1em; + } + p.h5i7 { + padding-left: 7em; + text-indent: -2em; + } + p.h5i8 { + padding-left: 8em; + text-indent: -3em; + } + p.h5i9 { + padding-left: 9em; + text-indent: -4em; + } + + p.h6i0 { + padding-left: 0em; + text-indent: 6em; + } + p.h6i1 { + padding-left: 1em; + text-indent: 5em; + } + p.h6i2 { + padding-left: 2em; + text-indent: 4em; + } + p.h6i3 { + padding-left: 3em; + text-indent: 3em; + } + p.h6i4 { + padding-left: 4em; + text-indent: 2em; + } + p.h6i5 { + padding-left: 5em; + text-indent: 1em; + } + p.h6i6 { + padding-left: 6em; + text-indent: 0em; + } + p.h6i7 { + padding-left: 7em; + text-indent: -1em; + } + p.h6i8 { + padding-left: 8em; + text-indent: -2em; + } + p.h6i9 { + padding-left: 9em; + text-indent: -3em; + } + + p.h7i0 { + padding-left: 0em; + text-indent: 7em; + } + p.h7i1 { + padding-left: 1em; + text-indent: 6em; + } + p.h7i2 { + padding-left: 2em; + text-indent: 5em; + } + p.h7i3 { + padding-left: 3em; + text-indent: 4em; + } + p.h7i4 { + padding-left: 4em; + text-indent: 3em; + } + p.h7i5 { + padding-left: 5em; + text-indent: 2em; + } + p.h7i6 { + padding-left: 6em; + text-indent: 1em; + } + p.h7i7 { + padding-left: 7em; + text-indent: 0em; + } + p.h7i8 { + padding-left: 8em; + text-indent: -1em; + } + p.h7i9 { + padding-left: 9em; + text-indent: -2em; + } + + p.h8i0 { + padding-left: 0em; + text-indent: 8em; + } + p.h8i1 { + padding-left: 1em; + text-indent: 7em; + } + p.h8i2 { + padding-left: 2em; + text-indent: 6em; + } + p.h8i3 { + padding-left: 3em; + text-indent: 5em; + } + p.h8i4 { + padding-left: 4em; + text-indent: 4em; + } + p.h8i5 { + padding-left: 5em; + text-indent: 3em; + } + p.h8i6 { + padding-left: 6em; + text-indent: 2em; + } + p.h8i7 { + padding-left: 7em; + text-indent: 1em; + } + p.h8i8 { + padding-left: 8em; + text-indent: 0em; + } + p.h8i9 { + padding-left: 9em; + text-indent: -1em; + } + + p.h9i0 { + padding-left: 0em; + text-indent: 9em; + } + p.h9i1 { + padding-left: 1em; + text-indent: 8em; + } + p.h9i2 { + padding-left: 2em; + text-indent: 7em; + } + p.h9i3 { + padding-left: 3em; + text-indent: 6em; + } + p.h9i4 { + padding-left: 4em; + text-indent: 5em; + } + p.h9i5 { + padding-left: 5em; + text-indent: 4em; + } + p.h9i6 { + padding-left: 6em; + text-indent: 3em; + } + p.h9i7 { + padding-left: 7em; + text-indent: 2em; + } + p.h9i8 { + padding-left: 8em; + text-indent: 1em; + } + p.h9i9 { + padding-left: 9em; + text-indent: 0em; + } + + p.it0 { + margin-left: 0em; + margin-top: 6px; + margin-bottom: 0px; + line-height: 100%; + } + p.it1 { + margin-left: 1em; + margin-top: 0px; + margin-bottom: 0px; + line-height: 100%; + } + p.it2 { + margin-left: 2em; + margin-top: 0px; + margin-bottom: 0px; + line-height: 100%; + } + p.it3 { + margin-left: 3em; + margin-top: 0px; + margin-bottom: 0px; + line-height: 100%; + } + p.it4 { + margin-left: 4em; + margin-top: 0px; + margin-bottom: 0px; + line-height: 100%; + } + p.it5 { + margin-left: 5em; + margin-top: 0px; + margin-bottom: 0px; + line-height: 100%; + } + p.it6 { + margin-left: 6em; + margin-top: 0px; + margin-bottom: 0px; + line-height: 100%; + } + p.it7 { + margin-left: 7em; + margin-top: 0px; + margin-bottom: 0px; + line-height: 100%; + } + p.it8 { + margin-left: 8em; + margin-top: 0px; + margin-bottom: 0px; + line-height: 100%; + } + p.it9 { + margin-left: 9em; + margin-bottom: 0px; + margin-top: 0px; + line-height: 100%; + } + + p.group { } + + p.block { } + + p.alt { } + + p.verse { + margin-bottom: 6px; + } + + p.code { + font-family: inconsolata, andale mono, courier new, courier, monospace; + font-size: 90%; + text-align: left; + background-color: #eeeeee; + } + + p.caption { + text-align: left; + font-size: 80%; + display: inline; + } + + p.endnote { + font-size: 96%; + line-height: 120%; + text-align: left; + margin-right: 2em; + } + p.endnote_indent { + font-size: 96%; + line-height: 120%; + text-align: left; + margin-left: 2em; + margin-right: 2em; + } + + p.center { + text-align: center; + } + p.align_right { + text-align: right; + } + p.bold { + font-weight: bold; + } + p.bold_left { + font-weight: bold; + text-align: left; + } + p.centerbold { + text-align: center; + font-weight: bold; + } + p.em { + font-weight: bold; + font-style: normal; + background: #fff3b6; + } + + p.small { + font-size: 80%; + margin-top: 0px; + margin-bottom: 0px; + margin-right: 6px; + text-align: left; + } + + .tiny, .tiny_left, .tiny_right, .tiny_center { + font-size: 10px; + margin-top: 0px; + margin-bottom: 0px; + color: #777777; + margin-right: 6px; + text-align: left; + } + p.tiny { } + p.tiny_left { + margin-left: 0px; + margin-right: 0px; + text-align: left; + } + p.tiny_right { + margin-right: 1em; + text-align: right; + } + p.tiny_center { + margin-left: 0px; + margin-right: 0px; + text-align: center; + } + + p.concordance_word { + line-height: 150%; + font-weight: bold; + display: inline; + margin-top: 4px; + margin-bottom: 1px; + } + p.concordance_count { + font-size: 80%; + color: #777777; + display: inline; + margin-left: 0em; + } + p.concordance_object { + font-size: 80%; + line-height: 120%; + text-align: left; + margin-left: 3em; + margin-top: 1px; + margin-bottom: 3px; + } + p.book_index_lev1 { + line-height: 100%; + margin-top: 4px; + margin-bottom: 1px; + } + p.book_index_lev2 { + line-height: 100%; + text-align: left; + margin-left: 3em; + margin-top: 1px; + margin-bottom: 3px; + } + + p.quickref { + font-size: 10px; + font-style: italic; + margin-top: 0px; + margin-bottom: 0px; + color: #777777; + margin-right: 5px; + text-align: left; + } + p.bigref { + font-size: 11px; + font-weight: bold; + margin-top: 0px; + margin-bottom: 0px; + color: #777777; + margin-right: 5px; + text-align: center; + } + + p.letter { + font-weight: bold; + font-size: 80%; + margin-left: 0em; + margin-top: 2px; + margin-bottom: 2px; + margin-right: 6px; + text-align: left; + color: white; + background: #880000; + } + + tt { + font-family: inconsolata, andale mono, courier new, courier, monospace; + background-color: #eeeeee; + } + + label.ocn { + width: 2%; + float: right; + top: 0; + font-size: 10px; + margin-top: 0px; + margin-bottom: 5px; + color: #777777; + margin-right: 5px; + text-align: right; + background-color: #ffffff; + } + + table { } + tr { } + th,td { + vertical-align: top; + text-align: left; + } + th { + font-weight: bold; + } + + p.left, th.left, td.left { + text-align: left; + } + p.small_left, th.small_left, td.small_left { + text-align: left; + font-size: 80%; + } + p.right, th.right, td.right { + text-align: right; + } + + #horizontal_links { + background: #eeeeee; + margin-left: 5%; + margin-right: 5%; + } + #horizontal { + margin: 0; + padding: 0 0 0 10px; + border-top: 1px solid #000077; + border-bottom: 1px solid #000077; + } + #horizontal li { + margin: 0 0 0 0; + padding: 0 16px 0 0; + display: inline; + list-style-type: none; + text-align: left; + background: none; + } + #horizontal a { + line-height: 12px; + margin: 0 0 0 0; + text-decoration: none; + color: #000077; + } + #horizontal a.active, #horizontal a:hover { + border-bottom: 2px solid #777777; + padding-bottom: 2px; + color: #000077; + } + #horizontal a:hover { + color: #000077; + } + + #document_versions { + position: absolute; + top: 10mm; + right: 2%; + width: 12%; + float: right; + } + + #vertical_links { + position: absolute; + top: 10mm; + right: 0px; + width: 20%; + background: #dddddd; + float: right; + } + #vertical { + padding: 0 12px 0px 0px; + margin-left: 2%; + margin-right: 2%; + } + #vertical li { + display: block; + list-style-type: none; + } + #vertical a { + line-height: 12px; + text-decoration: none; + color: #000077; + } + #vertical a.active, #vertical a:hover { + border-bottom: 2px solid #777777; + padding-bottom: 2px; + color: #000077; + } + + ul, li { + list-style-type: none; + list-style: none; + padding-left: 20px; + display: block; + font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman; + font-weight: normal; + line-height: 150%; + text-align: justify; + text-indent: 0mm; + margin-left: 1em; + margin-right: 2em; + margin-top: 3px; + margin-bottom: 3px; + } + + li { + background: url(../image/bullet_09.png) no-repeat 0px 6px; + } + + ul { + } + li.bullet { margin-left: 0em; } + li.i1 { margin-left: 1em; } + li.i2 { margin-left: 2em; } + li.i3 { margin-left: 3em; } + li.i4 { margin-left: 4em; } + li.i5 { margin-left: 5em; } + li.i6 { margin-left: 6em; } + li.i7 { margin-left: 7em; } + li.i8 { margin-left: 8em; } + li.i9 { margin-left: 9em; } + + li.doc, li.ref, li.refcenter { + margin-top: 0px; + margin-bottom: 0px; + margin-right: 0px; + font-size: 8px; + font-style: normal; + text-align: left; + } + li.doc { + background: url(../image/bullet_09.png) no-repeat 0px 6px; + padding-left: 16px; + margin-left: 10px; + margin-right: 0px; + } + li.ref { + background: none; + padding-left: 0; + margin-left: 0; + color: #777777; + } + li.refcenter { + background: url(../image/bullet_09.png) no-repeat 0px 6px; + padding-left: 20px; + margin-left: 10%; + font-size: 9px; + color: #777777; + text-align: center; + } + li.refbold { + list-style-type: none; + padding-left: 16px; + margin-left: 0; + margin-right: 10mm; + font-weight: bold; + } + + h0, h1, h2, h3, h4, h5, h6, h7 { + font-weight: bold; + line-height: 120%; + text-align: left; + margin-top: 20px; + margin-bottom: 10px; + } + h4.norm, h5.norm, h6.norm, h7.norm { + margin-top: 10px; + margin-bottom: 0px; + } + h1.center, h2.center, h3.center, h4.center, h5.center, h6.center, h7.center { + text-align: center; + } + h1 { font-size: 120%; } + h2 { font-size: 115%; } + h3 { font-size: 110%; } + h4 { font-size: 105%; } + h5 { font-size: 100%; } + h6 { font-size: 100%; } + h7 { font-size: 100%; } + h0 { font-size: 80%; } + + h1.i {margin-left: 2em;} + h2.i {margin-left: 3em;} + h3.i {margin-left: 4em;} + h4.i {margin-left: 5em;} + h5.i {margin-left: 6em;} + h6.i {margin-left: 7em;} + h7.i {margin-left: 8em;} + h8.i {margin-left: 9em;} + h9.i {margin-left: 10em;} + + .toc { + font-weight: normal; + margin-top: 6px; + margin-bottom: 6px; + } + h1.toc { + margin-left: 1em; + font-size: 115%; + line-height: 150%; + } + h2.toc { + margin-left: 2em; + font-size: 110%; + line-height: 140%; + } + h3.toc { + margin-left: 3em; + font-size: 105%; + line-height: 120%; + } + h4.toc { + margin-left: 4em; + font-size: 100%; + line-height: 120%; + } + h5.toc { + margin-left: 5em; + font-size: 95%; + line-height: 110%; + } + h6.toc { + margin-left: 6em; + font-size: 90%; + line-height: 110%; + } + h7.toc { + margin-left: 7em; + font-size: 90%; + line-height: 105%; + } + + .microtoc { + margin-top: 2px; + margin-bottom: 2px; + } + + h1.microtoc { + margin-left: 0mm; + font-size: 115%; + } + h2.microtoc { + margin-left: 5mm; + font-size: 110%; + } + h3.microtoc { + margin-left: 10mm; + font-size: 105%; + } + h4.microtoc { + margin-left: 15mm; + font-weight: normal; + font-size: 100%; + } + h5.microtoc { + margin-left: 20mm; + font-weight: normal; + font-size: 95%; + } + h6.microtoc { + margin-left: 25mm; + font-weight: normal; + font-size: 90%; + } + h7.microtoc { + margin-left: 30mm; + font-weight: normal; + font-size: 85%; + } + + .subtoc { + margin-right: 34%; + font-weight: normal; + } + h5.subtoc { + margin-left: 2em; + font-size: 80%; + margin-top: 2px; + margin-bottom: 2px; + } + h6.subtoc { + margin-left: 3em; + font-size: 75%; + margin-top: 0px; + margin-bottom: 0px; + } + h7.subtoc { + margin-left: 4em; + font-size: 70%; + margin-top: 0px; + margin-bottom: 0px; + } + + div.substance { + width: 100%; + background-color: #ffffff; + } + div.ocn { + width: 5%; + float: right; + top: 0; + background-color: #ffffff; + } + div.endnote { + width: 100%; + background-color: #fffffff; + } + div.toc { + position: absolute; + float: left; + margin: 0; + padding: 0; + padding-top: 0.5em; + border: 0; + width: 5%; + background-color: #eeeeee; + margin-right:1em; + } + div.summary { + margin: 0; + padding: 0; + border-left: 2em solid #eeeeee; + padding-left: 0em; + background-color: #eeeeee; + } + div.content, div.main_column { + margin: 0; + padding: 0; + border-left: 0% solid #ffffff; + padding-left: 5%; + } + div.content:after { + content:' '; + clear:both; + display:block; + height:0; + overflow:hidden + } + div.footer { + clear:left; + padding: 0.5em; + font-size: 80%; + margin: 0; + } + div.toc ul { + list-style: none; + padding: 0; + margin: 0; + } + div.toc li ul a, li ul span.currentlink + { + font-weight: normal; + font-size: 90%; + padding-left: 2em; + background-color: #eeeeee; + } + div.toc a, span.currentlink{ + display:block; + text-decoration: none; + padding-left: 0.5em; + color: #0000aa; + } + hr { + width: 90%; + } + + span.currentlink { + text-decoration: none; + background-color: #aaaaf9; + } + + div.toc a:visited { + color: #0000aa; + } + div.toc a:hover { + color: #000000; + background-color: #f9f9aa; + } + + h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, h7.c, p.c { + text-align: center + } + h1.red, h2.red, h3.red, h4.red, h5.red, h6.red, h7.red { + text-align: center; + color: #ff0000; + margin-left: 5mm; + text-indent: 5mm; + margin-top: 30px; + margin-bottom: 20px; + margin-right: 15mm; + } + h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby, h7.ruby { + text-align: center; + color: #990000; + margin-left: 5mm; + text-indent: 5mm; + margin-top: 30px; + margin-bottom: 20px; + margin-right: 15mm; + } + WOK + end + end + module SanitizeXML + require_relative 'xhtml_parts' # xhtml_parts.rb + def self.xml(x) + if x.is_a?(String) + x=x.gsub(/ /,' ') if Ep[:alt]==:on + x.gsub(/&/,'&'). + gsub(//,">"). + gsub(/#{Dx[:url_o]}/,Dx[:url_o_xml]).gsub(/#{Dx[:url_c]}/,Dx[:url_c_xml]). + #gsub(//,'>'). + gsub(/\\\\/,'
'). + gsub(/<br(?: \/)?>/,'
') + else x + end + end + end + class HeadInformation + attr_reader :md,:rdf + def initialize(md) + @md=md + # DublinCore 1 - title + @css=SiSU_Env::CSS_Stylesheet.new(md) + @per=SiSU_XHTML_EPUB2_Persist::Persist.new + @per.seg_name_x=SiSU_XHTML_EPUB2::Seg.new.seg_name_x + @per.seg_name_x_tracker=SiSU_XHTML_EPUB2::Seg.new.seg_name_x_tracker + @tocband_scroll,@tocband_segtoc=nil,nil + @index,@metalink='index','#metadata' + end + def doc_type_xhtml + <<-WOK + + + WOK + end +=begin +~/epub + |-- META-INF + | `-- container.xml # simple, make sure full-path of rootfile points to metadata.opf + |-- content + | |-- 1.xhtml + | |-- 2.xhtml + | |-- 3.xhtml + | |-- ... .xhtml + | |-- concordance.xhtml + | |-- css + | | `-- xhtml.css + | |-- endnotes.xhtml + | |-- image + | | |-- arrow_next_red.png + | | |-- arrow_prev_red.png + | | |-- arrow_up_red.png + | | `-- bullet_09.png + | |-- index.xhtml + | |-- meta.xhtml + | |-- metadata.xhtml + | `-- toc.xhtml + |-- metadata.opf #(i) metadata dc; (ii) manifest (contents); (iii) spine (mimetypes) + |-- mimetype # application/epub+zip + `-- toc.ncx #(i) head (ii) doc title (iii) navmap, list of navigation points (like chapters) +=end + def doc_type + doc_type_xhtml + end + def mimetype + <<-WOK +application/epub+zip + WOK + end + def metainf_container #container.xml file in META-INF directory + #simple, make sure full-path of rootfile points to metadata.opf + #epub_metadata.opf content.opf + <<-WOK + + + + + + + WOK + end + def sections(dob,fn_base) + name=fn_base + Sfx[:epub_xhtml] + dir_epub_cont=@md.env.processing_path.epub + '/' + Ep[:d_oebps] + segfilename=dir_epub_cont + '/' + name + output_epub_cont_seg=File.new(segfilename,'w') + txt=dob.obj.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/,'') + output_epub_cont_seg << %{#{doc_type} + + + #{dob.obj} - + #{@md.html_title} + + + #{@css.xhtml_epub} + + +
+
+ #{dob.ocn} +

+ #{txt} +

+
+
+ + } +output_epub_cont_seg.close + end + def toc_ncx #list of navigation points (like chapters), table of contents, listing each navigation point (chapters and such) under the navigation map + def structure + open + head_open + head + head_close + doc_title + doc_author + navmap_open + #navmap ... + navmap_close + close + end + def open + <<-WOK + + + WOK + end + def close + <<-WOK + + WOK + end + def head_open + <<-WOK + + WOK + end + def head + depth=@md.lvs[1] + @md.lvs[2] + @md.lvs[3] + @md.lvs[4] + title=SanitizeXML.xml(@md.title.full) + author=SanitizeXML.xml(@md.author) + dgst=(@md.dgst.is_a?(Array) and @md.dgst.length > 1) ? @md.dgst[1] : 'na' + <<-WOK + + #{title} by #{author} + + + + + + + WOK + end + def head_close + <<-WOK + + WOK + end + def doc_title + txt=SanitizeXML.xml(@md.title.full) + <<-WOK + + #{txt} + + WOK + end + def doc_author + txt=SanitizeXML.xml(@md.author) + <<-WOK + + #{txt} + + WOK + end + def navmap_open + <<-WOK + + WOK + end + def navmap_sisu_toc(no) + id_u=DISABLE[:epub][:ncx_navpoint_unique_id] \ + ? '' + : "-#{no}" + <<-WOK + + + Table of Contents + + + + WOK + end + def navpoint(dob,no,fn_base,hashtag=nil) + fn=fn_base + Sfx[:epub_xhtml] + name=hashtag ? fn + hashtag : fn + id_u=DISABLE[:epub][:ncx_navpoint_unique_id] \ + ? '' + : "-#{no}" + txt=dob.obj.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/,'') + <<-WOK + + + #{txt} + + + WOK + end + def navpoint_close + <<-WOK + + WOK + end + def navmap_close + <<-WOK + + WOK + end + self + end + def metadata_opf #(i) metadata dc; (ii) manifest (contents); (iii) spine (mimetypes) + def structure + package_open + metadata_open + metadata_close + manifest_open + manifest_close + spine_open + spine_close + guide_open + guide_close + package_close + end + def package_open + <<-WOK + + + WOK + end + def package_close + <<-WOK + + WOK + end + def metadata #metadata dc + cover_image=if defined? @md.make.cover_image \ + and @md.make.cover_image.is_a?(Hash) \ + and @md.make.cover_image[:cover] =~/\S+/ + %{\n <#{$ep[:o]}meta name="cover" content="cover_image" />} + else '' + end + author=if defined? @md.creator.author \ + and @md.creator.author =~/\S+/ + m='' + @md.creator.author_detail.each do |i| + surname=i[:the] \ + ? i[:the] + : '' + other_names=i[:others] \ + ? ', ' + i[:others] + : '' + m=(m.empty?) \ + ? (surname + other_names) + : (m + '; ' + surname + ', ' + other_names) + m=SanitizeXML.xml(m) + end + x=@md.creator.author.dup + x=SanitizeXML.xml(x) + %{\n #{x}} + else '' + end + editor=if defined? @md.creator.editor \ + and @md.creator.editor =~/\S+/ + m='' + @md.creator.editor_detail.each do |i| + surname=i[:the] \ + ? i[:the] + : '' + other_names=i[:others] \ + ? ', ' + i[:others] + : '' + m=(m.empty?) \ + ? (surname + other_names) + : (m + '; ' + surname + ', ' + other_names) + m=SanitizeXML.xml(m) + end + x=@md.creator.editor.dup + x=SanitizeXML.xml(x) + %{\n #{x}} + else '' + end + translator=if defined? @md.creator.translator \ + and @md.creator.translator =~/\S+/ + m='' + @md.creator.translator_detail.each do |i| + surname=i[:the] \ + ? i[:the] + : '' + other_names=i[:others] \ + ? ', ' + i[:others] + : '' + m=(m.empty?) \ + ? (surname + other_names) + : (m + '; ' + surname + ', ' + other_names) + m=SanitizeXML.xml(m) + end + x=@md.creator.translator.dup + x=SanitizeXML.xml(x) + %{\n #{x}} + else '' + end + illustrator=if defined? @md.creator.illustrator \ + and @md.creator.illustrator =~/\S+/ + m='' + @md.creator.illustrator_detail.each do |i| + surname=i[:the] \ + ? i[:the] + : '' + other_names=i[:others] \ + ? ', ' + i[:others] + : '' + m=(m.empty?) \ + ? (surname + other_names) + : (m + '; ' + surname + ', ' + other_names) + m=SanitizeXML.xml(m) + end + x=@md.creator.illustrator.dup + x=SanitizeXML.xml(x) + %{\n #{x}} + else '' + end + date_published=if defined? @md.date.published \ + and @md.date.published =~/\S+/ + x=@md.date.published.dup + x=SanitizeXML.xml(x) + %{\n #{x}} + else '' + end + subject=if defined? @md.classify.subject \ + and @md.classify.subject =~/\S+/ + x=@md.classify.subject.dup + x=SanitizeXML.xml(x) + %{\n #{x}} + else '' + end + language=if defined? @md.opt.lng \ + and @md.opt.lng =~/\S+/ + language=@md.opt.lng.gsub(/
/,'
') + %{\n #{language}} + else '' + end + rights=if defined? @md.rights.all \ + and @md.rights.all =~/\S+/ + rights=SanitizeXML.xml(@md.rights.all) + rights=rights.gsub(//,' ') + %{\n #{rights}} + else '' + end + f=SiSU_Env::FileOp.new(@md) + dgst=(@md.dgst.is_a?(Array) and @md.dgst.length > 1) ? @md.dgst[1] : 'na' + <<-WOK + <#{$ep[:o]}metadata + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:opf="http://www.idpf.org/2007/opf" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:dc="http://purl.org/dc/elements/1.1/" + unique-identifier="urn:uuid:#{dgst}" version="2.0"> + #{@md.title.full} + #{cover_image}#{author}#{editor}#{translator}#{illustrator}#{language}#{date_published}#{subject}#{rights} + #{f.output_path.epub.url.gsub(/http:\/\//,'')}/#{f.base_filename.epub} + urn:uuid:#{dgst} + + + WOK + end + def manifest_open + <<-WOK + + + + + + + WOK + end + def manifest_content_sisu_toc + <<-WOK + + WOK + end + def manifest_cover_image_information(md) + if defined? md.make.cover_image \ + and @md.make.cover_image.is_a?(Hash) \ + and md.make.cover_image[:cover] =~/\S+/ + <<-WOK + + WOK + else '' + end + end + def manifest_content(dob,fn_base,hashtag=nil) + fn=fn_base + Sfx[:epub_xhtml] + name=hashtag ? fn + hashtag : fn + <<-WOK + + WOK + end + def manifest_images(imgs) + imgs=imgs + ['arrow_next_red.png','arrow_prev_red.png','arrow_up_red.png','bullet_09.png'] + images=[" \n"] + imgs.each do |i| + image,type=/(\S+?)\.(png|jpg|gif)/.match(i)[1,2] + type=type.sub(/jpg/,'jpeg') + images<<<<-WOK + + WOK + end + images=images.join('') + images + end + def manifest_close + <<-WOK + + WOK + end + def spine_open + #spine: reading order of XHTML files from manifest, idref attribute refers back to id in manifest (exclude images, CSS etc.). + <<-WOK + + WOK + end + def spine_cover_image + <<-WOK + + WOK + end + def spine_sisu_toc + <<-WOK + + WOK + end + def spine(dob,fn_base,hashtag=nil) + fn=fn_base + Sfx[:epub_xhtml] + name=hashtag ? fn + hashtag : fn + <<-WOK + + WOK + end + def spine_close + <<-WOK + + WOK + end + def guide_open + #guide: presentation order of XHTML files by reader). + <<-WOK + + WOK + end + def guide_cover_image + <<-WOK + + WOK + end + def guide_sisu_toc + <<-WOK + + WOK + end + def guide(dob,fn_base,hashtag=nil) + fn=fn_base + Sfx[:epub_xhtml] + name=hashtag ? fn + hashtag : fn + name=name ? name : dob.name + guide_name=(name =~/#{Sfx[:epub_xhtml]}/) ? name : (name + Sfx[:epub_xhtml]) + <<-WOK + + WOK + end + def guide_close + <<-WOK + + WOK + end + self + end + def table_close + %{
+#{the_table_close}} + end + def xhtml_close + %{#{SiSU_Proj_XHTML::Bits.new.credits_sisu_epub} + +} + end + end + class HeadToc < HeadInformation + include SiSU_Parts_XHTML + def initialize(md) + super(md) + @md=md + @tocband_segtoc=make_seg + end + def manifest_link(text) + %{ #{text}} + end + def concordance_link(text) + if @md.concord_make + %{ + #{text} + } + else '' + end + end + def head + %{#{doc_type} + + + #{@css.xhtml_epub} + + } + end + def concordance + if @md.concord_make + %{#{the_margin.css} +

+ + Concordance + +

+#{the_table_close}} + else + %{#{the_margin.css} +#{the_table_close}} + end + end + def links_guide_open(type='horizontal') + (type=='vertical') \ + ? links_guide_vertical_open + : links_guide_horizontal_open + end + def prefix_a + end + def rights + def all + rights=SanitizeXML.xml(@md.rights.all) + %{

Rights: #{rights}

} + end + self + end + def prefix_b + %{

Prefix: #{@md.prefix_b}} + end + def make_seg + concord=concordance_link(the_nav.txt_concordance) + %{ + +
+ #{the_nav.txt_toc_link} + + + #{concord} +#{the_table_close}} + end + def manifest #check structure + manifest=manifest_link(the_nav.txt_manifest) + %{#{the_margin.txt_3} + #{the_font.paragraph_font_small} + #{manifest} + +#{the_table_close}} + end + def concordance #check structure + concord=concordance_link(the_nav.txt_concordance) + %{#{the_margin.txt_3} + #{the_font.paragraph_font_small} + #{concord} + +#{the_table_close}} + end + def metadata + %{#{the_margin.css} +

+ + MetaData + +

+#{the_table_close}} + end + end + class HeadSeg < HeadInformation + def initialize(md) + super(md) + end + def head + %{#{doc_type} + + + #{@per.seg_name_x[@per.seg_name_x_tracker]} - + #{@md.html_title} + + + #{@css.xhtml_epub} + + } + end + def endnote_mark +%{ +
+} + end + end + class HeadScroll < HeadToc + def initialize(md) + super(md) + end + def toc_owner_details + %{#{the_margin.txt_3} +#{the_font.paragraph_font_small} + + Owner Details + + #{$ep[:hsp]*3} + + + +#{the_table_close}} + end + end + class FormatTextObject + include SiSU_Parts_XHTML + attr_accessor :md,:t_o,:txt,:ocn,:format,:table,:link,:linkname,:paranum,:p_num,:headname,:banner,:url + def initialize(md,t_o) + @md,@t_o=md,t_o + if t_o.is_a?(Hash) + @txt =t_o[:txt] || nil + @ocn =t_o[:ocn] || nil + @ocn_display =t_o[:ocn_display] || nil + @headname =t_o[:headname] || nil + @trailer =t_o[:trailer] || nil + @endnote_part_a =t_o[:endnote_part_a] || nil + @endnote_part_b =t_o[:endnote_part_b] || nil + @lnk_url =t_o[:lnk_url] || nil + @lnk_txt =t_o[:lnk_txt] || nil + @format =t_o[:format] || nil + @target =t_o[:target] || nil #occasionally passed but not used + if @format and not @format.empty? + if @format=~/^\d:(\S+)/ #need more reliable marker #if @format =~ /#{Rx[:lv]}/ + headname=$1 #format[/\d~(\S+)/m,1] + @headname=(headname =~/^[a-zA-Z]/) \ + ? %{} + : %{} + @headname=(headname =~/^[a-zA-Z]/) \ + ? %{} + : %{} + end + end + elsif t_o.class.inspect =~/Object/ + @dob=t_o if defined? t_o.is + @named=nametags_seg(@dob) + @txt=((defined? t_o.obj) ? t_o.obj : nil) + @ocn=((defined? t_o.ocn) ? t_o.ocn.to_s : nil) + @headname=((t_o.is==:heading and defined? t_o.name) ? t_o.name : nil) + else + if @md.opt.act[:maintenance][:set]==:on + p __FILE__ << ':' << __LINE__.to_s + p t_o.class + p caller + end + end + if @txt and not @txt.empty? + @txt=@txt.gsub(/#{Mx[:mk_o]}[-~]##{Mx[:mk_c]}/,'') + end + @p_num=ParagraphNumber.new(@md,@ocn) + end + def nametags_seg(dob) #FIX + tags='' + if defined? dob.tags \ + and dob.tags.length > 0 # insert tags "hypertargets" + dob.tags.each do |t| + tags=tags << %{} + end + end + tags + end + def endnote_body + %{ +

+ #{@txt} +

+} + end + def endnote_body_indent + %{ +

+ #{@txt} +

+} + end + def no_paranum + %{ +
+ +

+ #{@txt} +

+
+} + end + def para_form_css(tag,attrib,txt) # regular paragraphs shaped here + ul=ulc='' + ul,ulc="
    \n ","\n
" if @tag =~/li/ + %{ +
+ #{@p_num.ocn_display} + #{ul}<#{tag} class="#{attrib}" #{@p_num.id}> + #{@named}#{txt} + #{ulc} +
+} + end + def para + para_form_css('p','norm',@txt) + end + def group + para_form_css('p','group',@txt) + end + def block + para_form_css('p','block',@txt) + end + def alt + para_form_css('p','alt',@txt) + end + def verse + para_form_css('p','verse',@txt) + end + def code + para_form_css('p','code',@txt) + end + def center + para_form_css('p','center',@txt) + end + def bold + para_form_css('p','bold',@txt) + end + def bullet + para_form_css('li','bullet',@txt) + end + def table + @txt=if @t_o.obj !~/^
'). + gsub(/#{Mx[:br_obj]}/,'

') + para_form_css('p','norm',@txt) + end + def format(tag,attrib) + para_form_css(tag,attrib,@txt) + end + def title_heading(tag,attrib) + %{ +
+<#{tag} class="#{attrib}"> + #{@named}#{@txt} + +
+} + end + def title_heading0 + DISABLE[:epub][:per_section_title] \ + ? '' + : title_heading('h1','tiny') + end + def title_heading1 + DISABLE[:epub][:per_section_title] \ + ? '' + : title_heading('h1','tiny') + end + def title_heading2 + DISABLE[:epub][:per_section_title] \ + ? '' + : title_heading('h2','tiny') + end + def title_heading3 + DISABLE[:epub][:per_section_title] \ + ? '' + : title_heading('h3','tiny') + end + def title_heading4 + '' + end + def seg_heading_sub(tag,attrib,txt) + txt=txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ') + %{ +
+ #{@p_num.ocn_display} + <#{tag} class="#{attrib}" #{@p_num.id}>#{@p_num.name} + #{@named}#{@txt} + +
+} + end + def seg_heading4 + %{ +
+ #{@p_num.ocn_display} +

+ #{@txt} +

+
+} + end + def seg_heading5 + seg_heading_sub('p','bold',@txt) + end + def seg_heading6 + seg_heading_sub('p','bold',@txt) + end + def seg_heading7 + seg_heading_sub('p','bold',@txt) + end + def dl #check :trailer + "
#{@txt} #{@trailer}
" + end + def table_css_end + '
+

+ ' + end + def gsub_body #unused + @txt=case @txt + when /^(?:#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]}\s*)?\((i+|iv|v|vi+|ix|x|xi+)\)/ + @txt.gsub(/^\((i+|iv|v|vi+|ix|x|xi+)\)/,'(\1)'). + gsub(/^(#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]})\s*\((i+|iv|v|vi+|ix|x|xi+)\)/,'\1(\2)') + when /^(?:#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]}\s*)?\(?(\d|[a-z])+\)/ + @txt.gsub(/^\((\d+|[a-z])+\)/,'(\1)'). + gsub(/^(#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]})\s*\((\d+|[a-z])+\)/,'\1(\2)') + when /^\s*\d{1,3}\.\s/ + @txt.gsub(/^\s*(\d+\.)/,'\1') + when /^\s*[A-Z]\.\s/ + @txt.gsub(/^\s*([A-Z]\.)/,'\1') + else @txt + end + end + def bold_para + %{#{the_margin.txt_0} +

+ #{@txt} +

+#{the_margin.num_css} + #{$ep[:hsp]*3} +#{the_table_close}} + end + def bold_heading #unused + @txt=@txt.gsub(/[1-9]~\S+/,''). + gsub(/[1-9]~/,'') + %{

+ #{@txt} +

+#{the_margin.num_css} + #{$ep[:hsp]*3} +#{the_table_close}} + end + def toc_head_copy_at + @txt=SanitizeXML.xml(@txt) + %{

#{@txt}

\n} + end + def center + @txt=SanitizeXML.xml(@txt) + %{

#{@txt}

\n} + end + def bold + @txt=SanitizeXML.xml(@txt) + %{

#{@txt}

\n} + end + def center_bold + @txt=SanitizeXML.xml(@txt) + %{

#{@txt}

\n} + end + end + class FormatScroll < FormatTextObject + def initialize(md,txt) + super(md,txt) + end + end + class FormatSeg < FormatTextObject + def initialize(md,txt) + super(md,txt) + 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 + %{ +

+ #{@endnote_part_a}#{fn}#{Sfx[:epub_xhtml]}#{@endnote_part_b} +

+} + end + def clean(txt) + txt=txt.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}/,''). + gsub(/#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/,'') + end + def subtoc_lev(tag,attrib) + @txt=clean(@txt) + txt=if @txt \ + and @txt =~/<\/?i>|/mi + @txt.gsub(/<\/?i>|/mi,'') #removes name markers from subtoc, go directly to substantive text + else @txt + end + note='' + if txt =~/(#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})/m # had \s* at end + note=$1 + note=note.gsub(/[\s]+/m,' ') + txt=txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' '). + gsub(/#{$ep[:hsp]}\d+<\/sup>#{$ep[:hsp]}/m,''). + gsub(/#{$ep[:hsp]}\d+<\/sup>#{$ep[:hsp]}/m,'') #remove + end + %{<#{tag} class="#{attrib}"> + #{txt} #{note} + } + end + def subtoc_lev5 + subtoc_lev('h5','subtoc') if @txt + end + def subtoc_lev6 + subtoc_lev('h6','subtoc') if @txt + end + def subtoc_lev7 + subtoc_lev('h7','subtoc') if @txt + end + def heading_sub(tag,attrib,txt) + txt=txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ') + %{ +
+ #{@p_num.ocn_display} + <#{tag} class="#{attrib}" #{@p_num.id}> #{@headname} + #{@txt} + +
+} + end + def heading4 + %{ +
+ #{@p_num.ocn_display} +

+ #{@t_o[:format]} + #{@txt} +

+
+} + end + def heading5 + heading_sub('p','bold',@txt) + end + def heading6 + heading_sub('p','bold',@txt) + end + def heading7 + heading_sub('h7','bold',@txt) + end + def navigation_heading4 + %{ + +
+

+ #{@txt} +

+#{the_table_close}} + end + def navigation_heading5 + %{

+ #{@txt} +

} + end + def navigation_heading6 + %{

+ #{@txt} +

} + end + def navigation_heading7 + %{

+ #{@txt} +

} + end + def navigation_center + %{

#{@txt}

} + end + end + class FormatToc < FormatTextObject + def initialize(md,txt) + super(md,txt) + end + def links_guide + %{
  • + + #{@lnk_txt} + +
  • +} + end + def lev(tag,attrib) + if @txt + %{<#{tag} class="#{attrib}"> + #{@txt} + +} + else '' + end + end + def lev1 + lev('h1','toc') + end + def lev2 + lev('h2','toc') + end + def lev3 + lev('h3','toc') + end + def lev4 + lev('h4','toc') + end + def lev5 + lev('h5','toc') + end + def lev6 + lev('h6','toc') + end + def lev7 + lev('h7','toc') + end + def lev0 #docinfo + lev('h0','toc') + end + end +end +__END__ +#+END_SRC + +** xhtml_epub2_persist.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2_persist.rb" +# <> +module SiSU_XHTML_EPUB2_Persist + class Persist + @@persist=nil + attr_accessor :is0,:is1,:is2,:is3,:is4,:heading0,:heading1,:heading2,:heading3,:heading4, :title, :nav, :tocband_banner, :tocband_bannerless, :headings, :heading_endnotes, :main, :endnote_all, :tail, :credits, :heading_idx, :idx, :seg_endnotes, :seg_endnotes_array, :closed, :get_hash_fn, :get_hash_to, :seg_subtoc, :seg_subtoc_array, :fn, :seg_name ,:seg_name_x,:seg_name_x_tracker + def initialize(args=nil) + @@persist=args=(args ? args : (@@persist || persist_init_hash_values)) + @is0=args[:is0] + @is1=args[:is1] + @is2=args[:is2] + @is3=args[:is3] + @is4=args[:is4] + @heading0=args[:heading0] + @heading1=args[:heading1] + @heading2=args[:heading2] + @heading3=args[:heading3] + @heading4=args[:heading4] + @title=args[:title] + @nav=args[:nav] + @tocband_banner=args[:tocband_banner] + @tocband_bannerless=args[:tocband_bannerless] + @headings=args[:headings] + @heading_endnotes=args[:heading_endnotes] + @main=args[:main] + @endnote_all=args[:endnote_all] + @tail=args[:tail] + @credits=args[:credits] + #@heading_idx=args[:heading_idx] + @idx=args[:idx] + @seg_endnotes=args[:seg_endnotes] + @seg_endnotes_array=args[:seg_endnotes_array] + @closed=args[:closed] + @get_hash_to=args[:get_hash_to] + @get_hash_fn=args[:get_hash_fn] + @seg_subtoc=args[:seg_subtoc] + @seg_subtoc_array=args[:seg_subtoc_array] + @fn=args[:fn] + @seg_name=args[:seg_name] + @seg_name_x=args[:seg_name_x] + @seg_name_x_tracker=args[:seg_name_x_tracker] + end + def is0 + @is0 + end + def is1 + @is1 + end + def is2 + @is2 + end + def is3 + @is3 + end + def is4 + @is4 + end + def heading0 + @heading0 + end + def heading1 + @heading1 + end + def heading2 + @heading2 + end + def heading3 + @heading3 + end + def heading4 + @heading4 + end + def title + @title + end + def nav + @nav + end + def tocband_banner + @tocband_banner + end + def tocband_bannerless + @tocband_bannerless + end + def headings + @headings + end + def heading_endnotes + @heading_endnotes + end + def main + @main + end + def endnote_all + @endnote_all + end + def tail + @tail + end + def credits + @credits + end + def heading_idx + @heading_idx + end + def idx + @idx + end + def seg_endnotes + @seg_endnotes + end + def seg_endnotes_array + @seg_endnotes_array + end + def closed + @closed + end + def get_hash_to + @get_hash_to + end + def get_hash_fn + @get_hash_fn + end + def seg_subtoc + @seg_subtoc + end + def seg_subtoc_array + @seg_subtoc_array + end + def fn + @fn + end + def seg_name + @seg_name + end + def seg_name_x + @seg_name_x + end + def seg_name_x_tracker + @seg_name_x_tracker + end + def persist_init_hash_values + { + is0: 0, + is1: 0, + is2: 0, + is3: 0, + is4: 0, + heading0: '', + heading1: '', + heading2: '', + heading3: '', + heading4: '', + tocband_banner: [], + tocband_bannerless: [], + title: [], + nav: [], + headings: [], + main: [], + idx: [], + tail: [], + credits: [], + endnote_all: [], + heading_endnotes: '', + seg_endnotes: {}, + seg_endnotes_array: [], + closed: [], + get_hash_fn: '', + get_hash_to: '', + seg_subtoc: {}, + seg_subtoc_array: [], + fn: '', + seg_name: [], + seg_name_x: [], + seg_name_x_tracker: 0, + } + end + def persist_init + @@persist=nil + Persist.new(persist_init_hash_values) + end + end + class PersistTOC + @@persist=nil + attr_accessor :seg,:seg_mini,:scr,:ncx,:opf + def initialize(args=nil) + @@persist=args=(args ? args : (@@persist || persist_init_hash_values)) + @seg=args[:seg] + @seg_mini=args[:seg_mini] + @scr=args[:scr] + @ncx=args[:ncx] + @opf=args[:opf] + end + def seg + @seg + end + def seg_mini + @seg_mini + end + def scr + @scr + end + def ncx + @ncx + end + def opf + @opf + end + def persist_init_hash_values + { + seg: [], + seg_mini: [], + scr: [], + ncx: [], + opf: [], + } + end + def persist_init + @@persist=nil + PersistTOC.new(persist_init_hash_values) + end + end +end +__END__ +#+END_SRC + +** xhtml_epub2_segments.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2_segments.rb" +# <> +module SiSU_XHTML_EPUB2_Seg + require_relative 'xhtml_shared' # xhtml_shared.rb + require_relative 'xhtml_epub2' # xhtml_epub2.rb + require_relative 'xhtml_epub2_persist' # xhtml_epub2_persist.rb + require_relative 'shared_metadata' # shared_metadata.rb + class Output + def initialize(md,outputfile,per,type='') + @md, @output_epub_cont_seg,@per,@type= + md,outputfile, per, type + end + def output + if @per.title =~/\S/ + filename_seg=[] + filename_seg \ + << @per.title \ + << @per.nav + if @type=='endnotes' + @per.headings=[] #watch + txt_obj={ txt: 'Endnotes', ocn_display: ''} + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) + @per.headings \ + << format_seg.title_heading1 + filename_seg \ + << @per.heading_endnotes \ + << @per.headings \ + << %{\n
    \n} \ + << @per.endnote_all \ + << '
    ' + elsif @type=='idx' + @per.headings=[] + txt_obj={ txt: 'Index', ocn_display: ''} + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) + @per.headings << format_seg.title_heading1 + filename_seg \ + << @per.heading_idx \ + << @per.headings \ + << %{\n
    \n} \ + << @per.idx \ + << '
    ' + elsif @type=='metadata' + metadata=SiSU_Metadata::Summary.new(@md).xhtml_display.metadata + @per.headings=[] + txt_obj={ txt: 'Metadata', ocn_display: ''} + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) + @per.headings \ + << format_seg.title_heading1 + filename_seg \ + << @per.heading_idx \ + << @per.headings \ + << %{\n
    \n} \ + << metadata \ + << '
    ' + elsif @type=='sisu_manifest' + env=SiSU_Env::InfoEnv.new(@md.fns) + path_and_name,url_and_name= \ + "#{env.path.output}/#{@md.fnb}/sisu_manifest.html", + "#{env.url.root}/#{@md.fnb}/sisu_manifest.html" + manifest=if FileTest.file?("#{path_and_name}")==true + <A list of available output types may be available at the following url:

    +

    #{url_and_name}

    +WOK + else '' + end + @per.headings=[] + txt_obj={ txt: 'Manifest', ocn_display: ''} + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) + @per.headings \ + << format_seg.title_heading1 + filename_seg \ + << @per.heading_idx \ + << @per.headings \ + << %{\n
    \n} \ + << manifest \ + << '
    ' + else + filename_seg \ + << @per.headings \ + << @per.main \ + << "\n\n" + end + filename_seg \ + << @per.tail \ + << @per.nav \ + << @per.closed + filename_seg=filename_seg.flatten.compact #watch + filename_seg.each do |str| + unless str =~/\A\s*\Z/ + @output_epub_cont_seg \ + << str.strip + end + end + @output_epub_cont_seg.close + end + end + end + class Seg + @@seg_name=[] + @@seg_url='' + @@tracker=0 + attr_reader :seg_name_x,:seg_name_x_tracker + def initialize(md='',data='') + @md,@data=md,data + @per=SiSU_XHTML_EPUB2_Persist::Persist.new + @seg_name_x=@per.seg_name_x=(@@seg_name || []) + @seg_name_x_tracker=@per.seg_name_x_tracker=(@@tracker || 0) + @make=SiSU_Env::ProcessingSettings.new(@md) if @md + end + def songsheet + begin + data=get_subtoc_endnotes(@data,@per) + data=articles(data,@per) + SiSU_XHTML_EPUB2_Seg::Seg.new.cleanup(@md,@per) # (((( added )))) + #### (((( END )))) #### + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + SiSU_XHTML_EPUB2_Persist::Persist.new.persist_init + @@seg_name=@per.seg_name=[] + end + end + protected + def articles(data,per) + @per=per + tracking,newfile=0,0 + printed_endnote_seg='n' + idx_xhtml=nil + if @md.book_idx + idx_xhtml=SiSU_Particulars::CombinedSingleton. + instance.get_idx_xhtml(@md).xhtml_idx + idx_xhtml.each do |x| + @per.idx << x + end + @per.heading_idx='' + end + data.each do |dob| + if (dob.is == :heading \ + || dob.is == :heading_insert) \ + && dob.ln == 4 + @@seg_name << dob.name + @per.seg_name = @@seg_name + dob.name + end + end + @per.seg_name_x=@per.seg_name + @per.seg_name.length + testforartnum=@per.seg_name_x + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + @per.seg_name.length + ) + end + SiSU_Particulars::CombinedSingleton. + instance.get_map_nametags(@md).nametags_map #p map_nametags + data.each do |dob| + #if defined? dob.obj \ + #and dob.obj =~/href="#{Xx[:segment]}#+\S+?"/ + # ##Consider: remove, reinstate earlier? + # #while dob.obj =~/href="#{Xx[:segment]}#+(\S+?)"/ + # # m=$1 + # # if map_nametags[m][:segname] + # # dob.obj=dob.obj.sub(/href="#{Xx[:segment]}#+(\S+?)"/,%{href="#{map_nametags[m][:segname]}#{Sfx[:html]}#\\1"}) + # # else + # # p "NOT FOUND name_tags: #{m}" + # # dob.obj=dob.obj.sub(/href="#{Xx[:segment]}#+(\S+?)"/,%{href="#\\1"}) # not satisfactory + # # end + # #end + #end + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==4 + @per.heading4=dob.obj + @per.is4=newfile=1 + end + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==3 + @per.heading3=dob.obj + @per.is4,@per.is3=0,1 + end + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==2 + @per.heading2=dob.obj + @per.is4,@per.is3,@per.is2=0,0,1 + end + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==1 + @per.heading1=dob.obj + @per.is4,@per.is3,@per.is2,@per.is1=0,0,0,1 + end + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==0 + @per.heading0=dob.obj + @per.is4,@per.is3,@per.is2,@per.is1,@per.is0=0,0,0,0,1 + end + if (@per.is0 && !@per.is1 && !@per.is2 && !@per.is3 && !@per.is4) + if not (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==0 + $_ #; check + end + end + if @per.is4==1 + dir_epub_cont="#{@md.env.processing_path.epub}/#{Ep[:d_oebps]}" + if newfile==1 \ + or dob.obj =~/^#{Mx[:br_endnotes]}|^#{Mx[:br_eof]}/ + newfile=0 + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==4 + if tracking != 0 + tail(@md,@per) + #SiSU_XHTML_EPUB2_Seg::Seg.new(@md,@per).tail + segfilename="#{dir_epub_cont}/#{@per.seg_name_x[tracking-1]}#{Sfx[:epub_xhtml]}" + output_epub_cont_seg=File.new(segfilename,'w') if @per.seg_name_x[tracking-1] + if dob.is==:heading \ + or @per.seg_name_x[tracking-1] !~/endnotes|book_index|metadata/ + SiSU_XHTML_EPUB2_Seg::Output.new(@md,output_epub_cont_seg,@per).output + elsif dob.is==:heading_insert + if @per.seg_name_x[tracking-1]=='endnotes' + SiSU_XHTML_EPUB2_Seg::Output.new(@md,output_epub_cont_seg,@per,'endnotes').output + elsif @per.seg_name_x[tracking-1]=='book_index' + SiSU_XHTML_EPUB2_Seg::Output.new(@md,output_epub_cont_seg,@per,'idx').output + @per.idx=[] + elsif @per.seg_name_x[tracking-1]=='metadata' # navigation bug FIX + SiSU_XHTML_EPUB2_Seg::Output.new(@md,output_epub_cont_seg,@per,'metadata').output + else puts "#{__FILE__}::#{__LINE__}" + end + else puts "#{__FILE__}::#{__LINE__}" + end + SiSU_XHTML_EPUB2_Seg::Seg.new.reinitialise(per) + heading_art(dob) + head(dob) + if @per.seg_name_x[tracking] =='metadata' + segfilename="#{dir_epub_cont}/#{@per.seg_name_x[tracking]}#{Sfx[:epub_xhtml]}" + output_epub_cont_seg=File.new(segfilename,'w') + SiSU_XHTML_EPUB2_Seg::Output.new(@md,output_epub_cont_seg,@per,'metadata').output + SiSU_XHTML_EPUB2_Seg::Seg.new.reinitialise(per) + #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.closed #%(((( EOF )))) --> + end + if tracking==0 + heading_art(dob) + head(dob) + end + end + tracking=tracking+1 + end + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==4 \ + && dob.name + @per.get_hash_to=dob.name + @per.get_hash_fn=dob.name + end + if dob.obj.is_a?(String) + markup(dob) + elsif dob.obj.is_a?(Array) + dob.obj.each do |pg| + markup(pg) + end + end + if testforartnum[tracking-1] =~/endnote/ + if printed_endnote_seg=='n' + printed_endnote_seg='y' + end + end + end + end + data + end + def heading_art(dob) + @per.title=SiSU_XHTML_EPUB2_Format::HeadSeg.new(@md).head + end + def head(dob) + clean=/|<:.*?>$/ + @p_num ||= '' + if @per.is0==1 + if defined? @md.creator.author \ + and @md.creator.author + @author=%{#{@md.creator.author}\n} + end + @p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,dob.ocn) + txt_obj={ txt: @per.heading0, ocn_display: @p_num.ocn_display } + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) + @per.headings << format_seg.title_heading0.gsub(clean,'') + @per.heading0=@per.heading0. + gsub(/#{$ep[:hsp]}#{$ep[:hsp]}[\d*+]+<\/sup>#{$ep[:hsp]}<\/a>/,'') + end + if @per.is1==1 + @p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,dob.ocn) + txt_obj={ txt: @per.heading1, ocn_display: @p_num.ocn_display } + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) + @per.headings << format_seg.title_heading1.gsub(clean,'') + @per.heading1=@per.heading1. + gsub(/#{$ep[:hsp]}#{$ep[:hsp]}[\d*+]+<\/sup>#{$ep[:hsp]}<\/a>/,'') + end + if @per.is2==1 + heading2=@per.heading2 + @p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,dob.ocn) + txt_obj={ txt: heading2, ocn_display: @p_num.ocn_display } + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) + @per.headings << format_seg.title_heading2.gsub(clean,'') + @per.heading2=@per.heading2. + gsub(/#{$ep[:hsp]}#{$ep[:hsp]}[\d*+]+<\/sup>#{$ep[:hsp]}<\/a>/,'') + end + if @per.is3==1 + heading3=@per.heading3 + @p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,dob.ocn) + txt_obj={ txt: heading3, ocn_display: @p_num.ocn_display } + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) + @per.headings << format_seg.title_heading3.gsub(clean,'') + @per.heading3=@per.heading3. + gsub(/#{$ep[:hsp]}#{$ep[:hsp]}[\d*+]+<\/sup>#{$ep[:hsp]}<\/a>/,'') + end + if @per.is4==1 + heading4=@per.heading4 + @p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,dob.ocn) + txt_obj={ txt: heading4, ocn_display: @p_num.ocn_display } + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) + @per.headings \ + << format_seg.title_heading4.gsub(clean,'') + end + @@tracker=@@tracker+1 + end + def markup(dob) + @debug=[] + if dob.is ==:heading \ + || dob.is ==:heading_insert \ + || dob.is ==:para + #extend as necessary FIX + @p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,dob.ocn) + end + sto=SiSU_XHTML_EPUB2_Format::FormatTextObject.new(@md,dob) + dob_xhtml=if dob.is==:heading \ + || dob.is==:heading_insert \ + || dob.is==:para + dob_xhtml=if dob.is==:heading \ + or dob.is==:heading_insert + if dob.ln==4 + sto.seg_heading4 # work on see SplitTextObject + elsif dob.ln==5 + sto.seg_heading5 + elsif dob.ln==6 + sto.seg_heading6 + elsif dob.ln==7 + sto.seg_heading7 + end + elsif dob.is==:para + if dob.indent \ + and dob.hang \ + and dob.indent =~/[0-9]/ \ + and dob.hang =~/[0-9]/ + if dob.bullet_ + (dob.indent =~/[1-9]/) \ + ? sto.format('li',"i#{dob.indent}") + : sto.format('li','bullet') + elsif dob.indent == dob.hang + sto.format('p',"i#{dob.indent}") + elsif dob.indent != dob.hang + sto.format('p',"h#{dob.hang}i#{dob.indent}") + else sto.para + end + else sto.para + end + end + elsif dob.is ==:block \ + || dob.is ==:group \ + || dob.is ==:alt + sto.para #fix this should be block type specific #FIX + elsif dob.is==:verse + sto.verse + elsif dob.is==:code + sto.code + elsif dob.is==:table + sto.table + elsif dob.is==:break + sto.break + end + if @md.flag_separate_endnotes # may need to revisit, check + dob.obj=dob.obj.gsub(/"\s+href="##{Mx[:note_ref]}(\d+)">/, + %{" href=\"endnotes#{Sfx[:epub_xhtml]}##{Mx[:note_ref]}\\1">}) + #endnote- twice #removed file type + end + if (dob.is ==:heading \ + || dob.is==:heading_insert \ + || dob.is==:para) \ + && (not dob.ocn or dob.ocn.to_s.empty?) + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob) + end + if (dob.is==:heading \ + || dob.is==:heading_insert \ + || dob.is==:para) \ + and dob.note_ + #dob.obj =~/ \n} + @per.main << dob_xhtml + if @make.build.segsubtoc? + @per.main << @per.seg_subtoc[@per.get_hash_fn] + #% insertion of sub-toc + end + else + @per.main << dob_xhtml + end + end + def tail(md,per) + @md,@per=md,per + format_head_seg=SiSU_XHTML_EPUB2_Format::HeadSeg.new(@md) + if @md.flag_auto_endnotes \ + and @per.seg_endnotes[@per.get_hash_fn] + @per.tail << %{\n
    \n
    \n} + if @per.seg_endnotes[@per.get_hash_fn].flatten.length > 0 + @per.tail << format_head_seg.endnote_mark + @per.tail << @per.seg_endnotes[@per.get_hash_fn].flatten + #endnotes deposited at end of individual segments ||@|EXTRACTION OF ENDNOTES| + end + @per.tail << '
    ' + @per.tail << '
    ' #this div closes div class content + end + @per.closed=[] + @per.closed << format_head_seg.xhtml_close + end + def reinitialise(per) + per.headings,per.main,per.tail,per.credits=Array.new(4){[]} + end + def cleanup(md,per) + reinitialise(per) + @@tracker=0 + @per.seg_endnotes,@per.seg_subtoc={},{} + @per.seg_endnotes_array,@per.seg_subtoc_array=[],[] + per.endnote_all=[] + end + def get_subtoc_endnotes(data,per) #get endnotes & sub-table of contents subtoc + @per=per + data.each do |dob| + dob.obj=dob.obj.gsub(/
    (.+?)<\/a>/mi,'\1') + if @md.flag_auto_endnotes + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln.to_s =~/^[1-4]/ \ + and not @per.fn.to_s.empty? + @per.seg_endnotes[@per.fn]=[] + @per.seg_endnotes[@per.fn] << @per.seg_endnotes_array + @per.seg_endnotes_array=[] if dob.ln==4 + end + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==4 + #% EXTRACTION OF SUB-TOCs & SEGMENT NAME, after EXTRACTION OF ENDNOTES & SUB-TOCs + @per.seg_subtoc[@per.fn]=@per.seg_subtoc_array + @per.seg_subtoc_array=[] + if dob.name \ + and dob.obj + @per.fn=dob.name + else + @per.fn=(dob.name =~/\S+/) \ + ? dob.name + : '' + end + end + end + if dob.is==:heading \ + && dob.ln.to_s =~/^[5-7]/ + case dob.ln + when 5 + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob) + subtoc=format_seg.subtoc_lev5 #keep and make available, this is the subtoc + when 6 + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob) + subtoc=format_seg.subtoc_lev6 #keep and make available, this is the subtoc + when 7 + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob) + subtoc=format_seg.subtoc_lev7 #keep and make available, this is the subtoc + end + @per.seg_subtoc_array << subtoc + end + if @md.flag_auto_endnotes + ast,pls='*','+' + if dob.obj =~/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]})(?:\d|#{ast}|#{pls})+ / \ + and dob.is !=:code # endnote- + endnote_array=[] + if dob.obj=~/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}/m + endnote_array << dob.obj.scan(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}/m) + end + if dob.obj=~/#{Mx[:en_b_o]}#{ast}\d+\s.+?#{Mx[:en_b_c]}/m + endnote_array \ + << dob.obj.scan(/#{Mx[:en_b_o]}#{ast}\d+\s.+?#{Mx[:en_b_c]}/m) + end + if dob.obj=~/#{Mx[:en_b_o]}#{pls}\d+\s.+?#{Mx[:en_b_c]}/m + endnote_array \ + << dob.obj.scan(/#{Mx[:en_b_o]}#{pls}\d+\s.+?#{Mx[:en_b_c]}/m) + end + endnote_array=endnote_array.flatten #.compact #check compacting + endnote_array.each do |note| + note_match=note.dup + note_match_seg=note.dup + e_n=note_match_seg[/(?:#{Mx[:en_a_o]}(?:\d|#{ast}|#{pls})+|#{Mx[:en_b_o]}(?:#{ast}|#{pls})\d+)\s+(.+?)(?:#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/m,1] + try=e_n.split(//) + try.each do |e| + txt_obj={ txt: e } + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) + note_match=if e =~/#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]}/ + format_seg.endnote_body_indent + else format_seg.endnote_body + end + @per.seg_endnotes_array << note_match + end + try.join('
    ') + #% creation of separate end segment/page of all endnotes referenced back to reference segment + m=/(?:#{Mx[:en_a_o]}(?:\d|#{ast}|#{pls})+|#{Mx[:en_b_o]}(?:#{ast}|#{pls})\d+)\s+(.+?href=")(##{Mx[:note_ref]}(?:\d|_a|_b)+".+)(?:#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/mi + endnote_part_a=note_match_seg[m,1] + endnote_part_b=note_match_seg[m,2] + txt_obj={ + endnote_part_a: endnote_part_a, + endnote_part_b: endnote_part_b + } + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) + note_match_all_seg=format_seg.endnote_seg_body(@per.fn) #BUG WATCH 200408 + @per.endnote_all << note_match_all_seg + end + dob.obj=dob.obj.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ') + end + end + end + end + end +end +__END__ +#+END_SRC + +** xhtml_epub2_tune.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2_tune.rb" +# <> +require_relative 'dp' # dp.rb +module SiSU_XHTML_EPUB2_Tune + require_relative 'se' # se.rb + include SiSU_Env; include SiSU_Screen + require_relative 'xhtml_parts' # xhtml_parts.rb + require_relative 'xhtml_epub2_format' # xhtml_epub2_format.rb #watch + @@line_mode='' + @@endnote_array=[] + @@endnote_call_counter=1 + @@table_align=' + + +
    + \;' + @@table_align_close=' + +   
    ' + @@counter,@@column,@columns=0,0,0 + class Output + def initialize(data,md) + @data,@md=data,md + @file=SiSU_Env::InfoFile.new(@md.fns) + @cX=SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set]).cX + end + def hard_output + @filename_tune=@file.write_file_processing.html_tune + data=[] + @data.each {|x| x.obj.strip; data << x if not x.obj.empty?} #1.9 array? + data.each do |dob| + @filename_tune.puts dob, "\n" #check + end + end + def marshal + File.open(@file.marshal.xhtml_tune,'w') {|f| Marshal.dump(@data.to_a,f)} + end + end + class CleanXHTML + def initialize(html='') + @html=html + end + def clean + html=@html + str=if html.is_a?(String) + html + else html.obj + end + str=str.gsub(/#{Mx[:gl_o]}(#[0-9]{3})#{Mx[:gl_c]}/u,'&\1;'). + gsub(/#{Mx[:gl_o]}#([a-z]{2,4})#{Mx[:gl_c]}/u,'&\1;'). + gsub(/
    /u,'
    '). + gsub(/#{Mx[:nbsp]}/u,$ep[:hsp]) + end + end + class Tune + include SiSU_Parts_XHTML + def initialize(data,md) + @data,@md=data,md + @sys=SiSU_Env::SystemCall.new + @env=SiSU_Env::InfoEnv.new(@md.fns) + end + def songsheet + begin + @cX=SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set]).cX + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + 'Tune' + ).txt_grey + end + data=SiSU_XHTML_EPUB2_Tune::Tune.new(@data,@md).amp_angle_brackets + data=SiSU_XHTML_EPUB2_Tune::Tune.new(data,@md).endnotes_html + data=SiSU_XHTML_EPUB2_Tune::Tune.new(data,@md).url_markup + data=SiSU_XHTML_EPUB2_Tune::Tune.new(data,@md).markup + if @md.opt.act[:maintenance][:set]==:on #Hard Output Tune Optional on/off here + data=SiSU_XHTML_EPUB2_Tune::Output.new(data,@md).hard_output + SiSU_XHTML_EPUB2_Tune::Output.new(data,@md).marshal + end + SiSU_XHTML_EPUB2_Tune::Tune.new(@data,@md).output + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def markup + @tuned_file=[] + @data.each do |dob| + dob.obj=dob.obj.gsub(/#{Mx[:mk_o]}#([a-zA-Z]+)#{Mx[:mk_c]}/,'&\1;'). + gsub(/#{Mx[:mk_o]}(#[0-9]+)#{Mx[:mk_c]}/,'&\1;') + dob.obj=dob.obj.gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}/,'
    ') unless dob.is==:table + dob.obj=dob.obj.gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'\1'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'\1'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'\1'). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'\1'). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,'\1'). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'\1'). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'\1'). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'\1'). + gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'\1'). # tt, kbd + gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,''). + gsub(/#{Mx[:gl_bullet]}/m,"●#{$ep[:hsp]*2}"). + gsub(/#{Dx[:url_o]}/,Dx[:url_o_xml]).gsub(/#{Dx[:url_c]}/,Dx[:url_c_xml]). + gsub(/#{Mx[:nbsp]}/,$ep[:hsp]). + gsub(/<(p|br)>/,'<\1 />') + dob.obj=SiSU_XHTML_EPUB2_Tune::CleanXHTML.new(dob.obj).clean + @tuned_file << dob + end + end + def urls(data) + @words=[] + map_nametags=SiSU_Particulars::CombinedSingleton.instance.get_map_nametags(@md).nametags_map #p map_nametags + data.each do |word| + @words << if word=~/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}|image)/ + http_=true + if word =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/ + m,u=/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/.match(word).captures + elsif word =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/ + http_=false + m,u=/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:rel_o]}(\S+?)#{Mx[:rel_c]}/.match(word).captures + elsif word =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}image/ + m,u=/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}(image)/.match(word).captures + end + case m + when /\.png|\.jpg|\.gif|c=|\s\d+x\d+/ + w,h=/\s(\d+)x(\d+)/.match(m).captures if m =~/\s\d+x\d+/ + w=%{width="#{w}"} if w + h=%{height="#{h}"} if h + c=m[/"(.+?)"/m,1] + caption=%{

    #{c}

    } if c + png=m.scan(/\S+/)[0] + image_path=@md.file.output_path.epub.rel_image #image_path=@env.url.images_epub + ins=if u \ + and u.strip !~/^image$/ + %{
    #{caption}} + else %{#{caption}} + end + word=word.gsub(/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)/,ins) + else + link=m[/(.+)/m] + png=m.scan(/\S+/)[0].strip + link=link.strip + u=u.sub(/^#*/,'') #make neater + if map_nametags[u] \ + and map_nametags[u][:segname] + u=unless http_ + u=if u=~/^\d+$/ + u.gsub(/^(\d+)$/,"#{map_nametags[u][:segname]}#{Sfx[:xhtml]}#o\\1") if u !~/\// + else + u.gsub(/(\S+)/,"#{map_nametags[u][:segname]}#{Sfx[:xhtml]}#\\1") if u !~/\// + end + else u + end + elsif u =~/^:/ + u=u.gsub(/^:/,"#{@env.url.root}/") + elsif u =~/^\.\.\// + u=u.gsub(/^\.\.\//,"#{@env.url.root}/") + elsif u =~/https?:\/\// + else p "NOT FOUND name_tags: #{u}" + end + ins=%{#{link}} + word=word.gsub(/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,ins). + gsub(/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/,ins) + end + word + else word + end + word + end + @words=@words.join(' ') + end + def url_markup + data=@data + @tuned_file=[] + data.each do |dob| + unless dob.is==:code + if dob.obj =~/<::\s+/ #watch + dob.obj=dob.obj.gsub(/<::\s+(\S+?)\s+!>/, + %{\\1}) + end + if dob.obj =~/<:image\s+/ + dob.obj=dob.obj.gsub(/<:image\s+(http\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+>/, + %{}). + gsub(/<:image\s+(http\S+)\s+(\S+)\s+>/, + %{}). + gsub(/<:image\s+(\S+)\s+(\S+)\s+(\S+)\s+>/, + %{}). + gsub(/<:image\s+(\S+)\s+>/, + %{}) + end + if dob.obj =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}|image)/ + @word_mode=dob.obj.scan(/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}|image)[()\[\]]*[,.;:!?'"]{0,2}|(?:#{Mx[:gl_o]}\S+?#{Mx[:gl_c]})+|[^#{Mx[:lnk_o]}#{Mx[:lnk_c]}]+/mu) + words=urls(@word_mode) + dob.obj=dob.obj.gsub(/.+/m,words) + end + dob.obj=dob.obj.gsub(/\\copyright/i,%{©}) + dob.obj=if (dob.obj !~/\<:ad\s+\.\.\//) + dob.obj.gsub(/\<:ad\s+(\S+)?\s+(\S+\.png)\s+(.+)?\;\s+(.+)?\;\s*!\>/, + %{\n
    \\3
    \n}) + else + dob.obj.gsub(/\<:ad\s+(\S+)?\s+(\S+\.png)\s+(.+)?\;\s+(.+)?\;\s*\>/, + %{\n
    \\3
    \n}) + end + dob.obj=dob.obj.gsub(/!pick/,%{stellar}). + gsub(/!new/,%{#{$ep[:hsp]}new}). + gsub(/<:h(.{1,7}?)>/,'\1'). + gsub(/<:to(\d{1,7}?)>/,%{to#{$ep[:hsp]}\{#{$ep[:hsp]}\\1#{$ep[:hsp]}\} }). + gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1'). #http ftp matches escaped, no decoration + gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,%{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}). + gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,%{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}) #http ftp matches with decoration + if dob.obj =~/..\/\S+/ \ + and dob.obj !~/(\"..\/\S+?\"|>\s*..\/\S+<)/ + dob.obj=dob.obj.gsub(/(\.\.\/\S+)/,'\1') + end + dob.obj=dob.obj.gsub(//m,'>') + end + @tuned_file << dob + end + end + def amp_angle_brackets + data,data_new=@data,[] + data.each do |dob| + dob.obj=dob.obj. + gsub(/&/u,'&'). + gsub(//u,'>') + data_new << dob + end + data_new + end + def endnotes_html + data=@data + @tuned_file=[] + a,s='_a','_s' + ast,pls='*','+' + data.each do |dob| + unless dob.is ==:code + dob.obj=dob.obj.gsub(/(#{Mx[:en_a_o]}|#{Mx[:en_b_o]})(\d+)\s+(.+?)(#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/, + %{#{Mx[:nbsp]}#{Mx[:nbsp]}\\2#{Mx[:nbsp]} } + #note- endnote- + %{\\1\\2 #{Mx[:nbsp]}\\2. \\3 \\4}). #endnote- note- (careful may have switched) + gsub(/(#{Mx[:en_b_o]})[*](\d+)\s+(.+?)(#{Mx[:en_b_c]})/, + %{#{Mx[:nbsp]}#{Mx[:nbsp]}#{ast}\\2#{Mx[:nbsp]} } + #note- endnote- + %{\\1#{ast}\\2 #{Mx[:nbsp]}#{ast}\\2. \\3 \\4}). #endnote- note- (careful may have switched) + gsub(/(#{Mx[:en_b_o]})[+](\d+)\s+(.+?)(#{Mx[:en_b_c]})/, + %{#{Mx[:nbsp]}#{Mx[:nbsp]}#{pls}\\2#{Mx[:nbsp]} } + #note- endnote- + %{\\1#{pls}\\2 #{Mx[:nbsp]}#{pls}\\2. \\3 \\4}) #endnote- note- (careful may have switched) # double-check there may here be a bug + if dob.obj =~/#{Mx[:en_a_o]}([*+]+)\s+.+?#{Mx[:en_a_c]}/ + m=$1.length.to_i + dob.obj=dob.obj.gsub(/(#{Mx[:en_a_o]})[*]+\s+(.+?)(#{Mx[:en_a_c]})/, + %{#{Mx[:nbsp]}#{Mx[:nbsp]}#{ast*m}#{Mx[:nbsp]} } + #note- endnote- + %{\\1#{ast*m} #{Mx[:nbsp]}#{ast*m} \\2 \\3}). #endnote- note- (careful may have switched) + gsub(/(#{Mx[:en_a_o]})([+]+)\s+(.+?)(#{Mx[:en_a_c]})/, + %{#{Mx[:nbsp]}#{Mx[:nbsp]}#{pls*m}#{Mx[:nbsp]} } + #note- endnote- + %{\\1#{pls*m} #{Mx[:nbsp]}#{pls*m} \\2 \\3}) #endnote- note- (careful may have switched) + end + end + @tuned_file << dob + end + end + def output + data=@data + @tuned_file=[] + data.each do |dob| + dob.obj=dob.obj.strip.chomp + @tuned_file << dob + end + @tuned_file << "\n" if (@md.fns =~/\.sst0/) #remove + @tuned_file + end + end +end +__END__ +#+END_SRC + +* xhtml shared +** xhtml_parts.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_parts.rb" +# <> +module SiSU_Parts_XHTML + require_relative 'generic_parts' # generic_parts.rb + include SiSU_Parts_Generic + def the_line_break + '
    ' + end + def the_table_close + '
    ' + end + def the_url + def home + 'http://www.sisudoc.org/' # used in pdf header + end + def site #used as stub... where there are subdirectories and is different from home + home + end + self + end + def the_url_decoration + def xml_open #'<' + Dx[:url_o] + end + def xml_close #'>' + Dx[:url_c] + end + def txt_open + '<' + end + def txt_close + '>' + end + self + end + def the_margin + def txt_0 + %{ +
    +} + end + def txt_1 + %{ +
    } + end + def txt_2 + %{ + +
    +} + end + def txt_3 + %{ + +
    +} + end + def css + ' + +} + else %{} + end + nc+=1 + end + trc=(trc.is_a?(Array)) ? trc.flatten.join : trc + trc=" #{trc}\n" + nr+=1 + table_rows << trc + end + table_rows=table_rows.flatten.join + table_obj.obj=%{
    ' + end + def num_css + ' ' + end + self + end + def the_font + def set_fonts + 'verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman' + #'verdana, arial, georgia, tahoma, sans-serif, helvetica, "times new roman", times, roman' + end + def set_small + 'size="3"' + end + def set_tiny + 'size="2"' + end + def paragraph_font_tiny + %{} + end + def paragraph_font_small + %{} + end + self + end + def the_nav + def txt_concordance + %{ +   A-Z  + } + end + def txt_toc_link + %{ +   toc  + } + end + def txt_manifest + #{png_manifest} document manifest + %{ + [ document manifest ] + } + end + def txt_concordance + %{ +   A-Z  + } + end + self + end +end +module SiSU_Proj_XHTML + require_relative 'se' # se.rb + include SiSU_Env + class Bits + include SiSU_Parts_HTML + def initialize + @v=SiSU_Env::InfoVersion.instance.get_version + end + def credits_sisu_epub + %{
    +

    EPUB generated by #{@v.project} v#{@v.version}, GPL3

    +
    } + '' + end + end +end +__END__ +#+END_SRC + +** xhtml_shared.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_shared.rb" +# <> +module SiSU_XHTML_Shared + require_relative 'xhtml_table' # xhtml_table.rb + class TableXHTML < SiSU_XHTML_Table::TableXHTML + end +end +__END__ +#+END_SRC + +** xhtml_table.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_table.rb" +# <> +module SiSU_XHTML_Table + require_relative 'xhtml_parts' # xhtml_parts.rb + class TableXHTML + include SiSU_Parts_XHTML + @@tablefoot=[] #watch + def initialize(table) + @table_obj=table + end + def table + table_obj=@table_obj + if table_obj.obj !~/^/,the_line_break) + trc <<= if table_obj.head_ and nr==0; %{
    #{c}#{c}
    \n#{table_rows}
    } + table_obj + end + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xhtml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC diff --git a/org/xml.org b/org/xml.org new file mode 100644 index 00000000..68452bfa --- /dev/null +++ b/org/xml.org @@ -0,0 +1,5583 @@ +-*- mode: org -*- +#+TITLE: sisu xml including odf +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu:xml: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no + +* xml native +** xml_sax.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_sax.rb" +# <> +module SiSU_XML_SAX + require_relative 'se_hub_particulars' # se_hub_particulars.rb + include SiSU_Particulars + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'xml_shared' # xml_shared.rb + include SiSU_XML_Munge + require_relative 'xml_format' # xml_format.rb + include SiSU_XML_Format + require_relative 'xml_persist' # xml_persist.rb + require_relative 'rexml' # rexml.rb + include SiSU_Rexml + require_relative 'shared_metadata' # shared_metadata.rb + @@alt_id_count=0 + @@tablefoot='' + class Source + def initialize(opt) + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + end + def read + begin + @env, @md, @ao_arr= + @particulars.env,@particulars.md,@particulars.ao_array + unless @opt.act[:quiet][:set]==:on + tool=if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + @env.program.web_browser \ + + ' file://' \ + + @md.file.output_path.xml_sax.dir + '/' \ + + @md.file.base_filename.xml_sax + "\n\t" \ + + @env.program.xml_viewer \ + + ' file://' \ + + @md.file.output_path.xml_sax.dir + '/' \ + + @md.file.base_filename.xml_sax + elsif @opt.act[:verbose][:set]==:on + @env.program.web_browser \ + + ' file://' \ + + @md.file.output_path.xml_sax.dir + '/' \ + + @md.file.base_filename.xml_sax + else "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}" + end + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'XML SAX', + tool + ).green_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'XML SAX', + tool + ).green_title_hi + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + @opt.fns, + 'file://' \ + + @md.file.output_path.xml_sax.dir + '/' \ + + @md.file.base_filename.xml_sax + ).flow + end + end + SiSU_XML_SAX::Source::Songsheet.new(@particulars).song + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + #file closed in songsheet + SiSU_Env::CreateSite.new(@opt).cp_css + Dir.chdir(@opt.f_pth[:pth]) + end + end + private + class Songsheet + def initialize(particulars) + @env, @md, @ao_arr, @particulars= + particulars.env,particulars.md,particulars.ao_array,particulars + @file=SiSU_Env::FileOp.new(@md) + end + def song + begin + SiSU_XML_SAX::Source::Scroll.new(@particulars).songsheet + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_XML_SAX::Source::Tidy.new(@md,@file.place_file.xml_sax.dir).xml # test wellformedness, comment out when not in use + end + SiSU_Rexml::Rexml.new(@md,@file.place_file.xml_sax.dir).xml if @md.opt.act[:maintenance][:set]==:on # test rexml parsing, comment out when not in use #debug + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + end + class Scroll + require_relative 'txt_shared' # txt_shared.rb + include SiSU_TextUtils + require_relative 'css' # css.rb + require_relative 'xhtml_shared' # decide use, whether xml rather than xhtml + def initialize(particulars) + @env, @md, @ao_arr= + particulars.env,particulars.md,particulars.ao_array + @trans=SiSU_XML_Munge::Trans.new(@md) + @sys=SiSU_Env::SystemCall.new + @per=SiSU_XML_Persist::Persist.new + end + def songsheet + begin + pre + @data=markup(@ao_arr) + post + publish + ensure + SiSU_XML_Persist::Persist.new.persist_init + end + end + protected + def embedded_endnotes(dob='') + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/, + '\1\2 '). + gsub(/#{Mx[:en_b_o]}([*+]\d+)\s+(.+?)#{Mx[:en_b_c]}/, + '\1\2 '). + gsub(/#{Mx[:en_a_o]}([*+]+)\s+(.+?)#{Mx[:en_a_c]}/, + '\1\2 ') + end + def extract_endnotes(dob='') + notes=dob.obj.scan(/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]})([\d*+]+\s+.+?)(?:#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/) + notes.flatten.each do |e| + s=e.to_s + util=SiSU_TextUtils::Wrap.new(s,70) + wrap=util.line_wrap + wrap=wrap.gsub(/^(\d+)\s+(.+?)\s*\Z/m, < +#{Ax[:tab]*2}\\1 +#{Ax[:tab]*2} +#{Ax[:tab]*3}\\2 +#{Ax[:tab]*2} +#{Ax[:tab]*1} +WOK +). + gsub(/^([*+]\d+)\s+(.+?)\s*\Z/m, < +#{Ax[:tab]*2}\\1 +#{Ax[:tab]*2} +#{Ax[:tab]*3}\\2 +#{Ax[:tab]*2} +#{Ax[:tab]*1} +WOK +). + gsub(/^([*+]+)\s+(.+?)\s*\Z/m, < +#{Ax[:tab]*2}\\1 +#{Ax[:tab]*2} +#{Ax[:tab]*3}\\2 +#{Ax[:tab]*2} +#{Ax[:tab]*1} +WOK +) + @endnotes << wrap + end + end + def xml_head + metadata=SiSU_Metadata::Summary.new(@md).xml_sax.metadata + @per.head << metadata + end + def xml_sc(md='') + sc=if @md.sc_info + < + filename: + + #{@md.sc_filename} +
    + version number: + + #{@md.sc_number} +
    + version date: + + #{@md.sc_date} +
    + +WOK + else '' + end + @per.sc=sc + end + def xml_structure(dob,type='norm') + if dob.is==:heading + lv=dob.ln + dob.ln + 2 + else lv=nil + end + extract_endnotes(dob) + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'\1'). #footnote/endnote clean + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,'\1') #footnote/endnote clean + #if defined? dob.obj + #t_ograph="#{dob.obj}" + util=SiSU_TextUtils::Wrap.new(dob.obj,70) + wrapped=util.line_wrap + #end + @per.body << if defined? dob.ocn; %{#{Ax[:tab]*0}} + else "#{Ax[:tab]*0}" + end + @per.body << "#{Ax[:tab]*1}#{dob.ocn}" if defined? dob.ocn + @per.body << if lv; %{#{Ax[:tab]*1}\n#{Ax[:tab]*2}#{wrapped}\n#{Ax[:tab]*1}} + else %{#{Ax[:tab]*1}\n#{Ax[:tab]*2}#{wrapped}\n#{Ax[:tab]*1}} # main text, contents, body KEEP + end + @per.body << @endnotes if @endnotes + ##@per.body << "#{Ax[:tab]*1}#{dob[@regx,2]}" if dob[@regx,2] # old unwrapped main text, contents, body KEEP + @per.body << "#{Ax[:tab]*0}" + @endnotes=[] + end + def block_structure(dob='') + extract_endnotes(dob) + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'\1'). #footnote/endnote clean + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,'\1') #footnote/endnote clean + dob=@trans.markup_block(dob) + dob.obj=dob.obj.strip + @per.body << %{#{Ax[:tab]*0}} + @per.body << %{#{Ax[:tab]*1}#{dob.ocn}} + @per.body << %{#{Ax[:tab]*1}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*2}#{dob.obj}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*1}} + @per.body << "#{Ax[:tab]*0}" + @per.body << @endnotes if @endnotes + @endnotes=[] + end + def group_structure(dob='') + extract_endnotes(dob) + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'\1'). #footnote/endnote clean + gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,'\1') #footnote/endnote clean + dob=@trans.markup_group(dob) + dob.obj=dob.obj.strip + @per.body << %{#{Ax[:tab]*0}} + @per.body << %{#{Ax[:tab]*1}#{dob.ocn}} + @per.body << %{#{Ax[:tab]*1}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*2}#{dob.obj}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*1}} + @per.body << "#{Ax[:tab]*0}" + @per.body << @endnotes if @endnotes + @endnotes=[] + end + def poem_structure(dob='') + dob=@trans.markup_group(dob) + #dob.obj.gsub(/\s\s/,'  ') + dob.obj=dob.obj.strip + @per.body << %{#{Ax[:tab]*0}} + @per.body << %{#{Ax[:tab]*1}#{dob.ocn}} + @per.body << %{#{Ax[:tab]*1}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*2}#{dob.obj}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*0}} + end + def code_structure(dob='') + dob=@trans.markup_group(dob) + dob.obj=dob.obj.gsub(/\s\s/,'  ').strip + @per.body << %{#{Ax[:tab]*0}} + @per.body << %{#{Ax[:tab]*1}#{dob.ocn}} + @per.body << %{#{Ax[:tab]*1}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*2}#{dob.obj}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*1}} + @per.body << "#{Ax[:tab]*0}" + end + def table_structure(dob) + table=SiSU_XHTML_Shared::TableXHTML.new(dob) + @per.body << %{#{Ax[:tab]*0}} + @per.body << %{#{Ax[:tab]*1}#{dob.ocn}} + @per.body << %{#{Ax[:tab]*1}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*2}#{table.table.obj}} + @per.body << %{#{Ax[:tab]*1}} + #@per.body << %{#{tab*1}} + @per.body << "#{Ax[:tab]*0}" + #@per.body << %{#{Ax[:tab]*0}} + #@per.body << %{#{Ax[:tab]*1}#{table}\n#{Ax[:tab]*1}} # unless lv # main text, contents, body KEEP + #@per.body << "#{Ax[:tab]*0}" + #@endnotes=[] + end + def markup(data) + xml_sc(@md) + @endnotes,@level,@cont,@copen,@xml_contents_close=[],[],[],[],[] + @rcdc=false + xml_head + (0..7).each { |x| @cont[x]=@level[x]=false } + (4..7).each { |x| @xml_contents_close[x]='' } + data.each do |dob| + @trans.char_enc.utf8(dob) if @sys.locale =~/utf-?8/i #% utf8 + dob=@trans.markup(dob) + if @rcdc==false \ + and (dob.is ==:meta \ + and dob.obj =~/Document Information/) + @rcdc=true + end + if dob.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + if defined? dob.ocn #look to move to format section + ocn=((dob.ocn.to_s =~/\d+/) ? dob.ocn : nil) + @p_num=SiSU_XML_Format::ParagraphNumber.new(@md,ocn) + end + if not @rcdc + if defined? dob.ocn \ + and dob.ocn.to_s =~/\d+/ + x=SiSU_XML_Format::FormatSeg.new(@md,dob) + if dob.is==:heading + xml_structure(dob) + dob.obj=case dob.ln + when 1 then x.heading_body1 + when 2 then x.heading_body2 + when 3 then x.heading_body3 + when 4 then x.heading_body4 + when 5 then x.heading_body5 + when 6 then x.heading_body6 + when 7 then x.heading_body7 + end + else + if dob.is==:verse + poem_structure(dob) + elsif dob.is==:group + group_structure(dob) + elsif dob.is==:block + block_structure(dob) + elsif dob.is==:code + code_structure(dob) + elsif dob.is==:table # FIX, check css, will need to modify + table_structure(dob) + elsif dob.is ==:para \ + and dob.indent.to_s =~/[1-9]/ \ + and dob.bullet_==true + xml_structure(dob,"indent_bullet#{dob.indent}") + elsif dob.is ==:para \ + and dob.indent.to_s =~/[1-9]/ \ + and dob.indent == dob.hang + xml_structure(dob,"indent#{dob.indent}") + elsif dob.is ==:para \ + and dob.hang.to_s =~/[0-9]/ \ + and dob.indent != dob.hang + xml_structure(dob,"hang#{dob.hang.to_s}_indent#{dob.indent.to_s}") + else xml_structure(dob) + end + end + elsif dob.obj =~/(#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + elsif dob.obj =~/MetaData/ + txt_obj={ txt: '
    MetaData' } + format_scroll=FormatScroll.new(@md,txt_obj) + dob.obj=format_scroll.bold_para + elsif dob.obj =~/(Owner Details)/ +# txt_obj={ txt: '
    Owner Details' } +# format_scroll=FormatScroll.new(@md,txt_obj) +# @per.owner_details=format_scroll.bold_para + dob.obj='' + end + if dob.obj =~// \ + and dob.obj =~/^(-\{{2}~\d+|)/ # -endnote + dob.obj='' + end + if dob.obj =~/.*<:#>.*$/ #investigate removal + dob.obj=if dob.obj =~ /#{Mx[:pa_o]}:i[1-9]#{Mx[:pa_c]}/ + txt_obj={ txt: dob } + format_text=FormatTextObject.new(@md,txt_obj) + format_text.scr_inden_ocn_e_no_paranum + end + end + else # + end + dob.obj=dob.obj.gsub(/#{Mx[:pa_o]}:\S+#{Mx[:pa_c]}/,'') if dob.obj + end + end + 7.downto(4) do |x| + y=x - 1; v=x - 3 + @per.body << "#{Ax[:tab]*5}\n#{Ax[:tab]*y}" if @level[x]==true + end + 3.downto(1) do |x| + y=x - 1 + @per.body << "#{Ax[:tab]*y}" if @level[x]==true + end + #7.downto(1) { |x| y=x - 1; @per.body << "#{Ax[:tab]*y}" if @level[x]==true } + end + def pre + rdf=SiSU_XML_Tags::RDF.new(@md) + @per.head,@per.body=[],[] + stylesheet=SiSU_Style::CSS_HeadInfo.new(@md,'xml_sax').stylesheet + encoding=if @sys.locale =~/utf-?8/i then '' + else '' + end + @per.open =< +WOK + @per.head << '' + @per.body << '' + end + def post + @per.head << @per.sc + @per.head << '' + @per.body << '' + @per.close = '' + end + def publish + content=[] + content << @per.open << @per.head << @per.body #<< @per.metadata + #content << @per.owner_details if @md.stmp =~/\w\w/ + content << @per.tail << @per.close + content=content.flatten.compact + Output.new(content,@md).xml + @@xml={} + end + end + class Output + def initialize(data,md) + @data,@md=data,md + @file=SiSU_Env::FileOp.new(@md) + end + def xml + SiSU_Env::FileOp.new(@md).mkdir + filename_xml=@file.write_file.xml_sax + @data.each do |str| + str=str.gsub(/\A\s+\Z/m,'') + filename_xml.puts str unless str.empty? + end + filename_xml.close + end + end + class Tidy + def initialize(md,file) + @md,@file=md,file + @prog=SiSU_Env::InfoProgram.new + end + def xml + if @prog.tidy !=false #note values can be other than true + if (@md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + unless @md.opt.act[:quiet][:set]==:on + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + 'invert', + 'Using XML Tidy', + 'check document structure' + ).colorize + tell=SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + 'invert', + '', + '' + ) + tell.grey_open + end + tidyfile='/dev/null' #don't want one or screen output, check for alternative flags + tidy=SiSU_Env::SystemCall.new(@file,tidyfile) + tidy.well_formed? + tell.p_off unless @md.opt.act[:quiet][:set]==:on + end + end + end + end + end +end +__END__ +#+END_SRC + +** xml_dom.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_dom.rb" +# <> +module SiSU_XML_DOM + require_relative 'se_hub_particulars' # se_hub_particulars.rb + include SiSU_Particulars + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'ao' # ao.rb + require_relative 'xml_shared' # xml_shared.rb + include SiSU_XML_Munge + require_relative 'xml_format' # xml_format.rb + include SiSU_XML_Format + require_relative 'xml_persist' # xml_persist.rb + require_relative 'rexml' # rexml.rb + include SiSU_Rexml + require_relative 'shared_metadata' # shared_metadata.rb + @@alt_id_count=0 + @@tablefoot='' + class Source + def initialize(opt) + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + end + def read + begin + @env, @md, @ao_arr= + @particulars.env,@particulars.md,@particulars.ao_array + unless @opt.act[:quiet][:set]==:on + tool=if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + @env.program.web_browser \ + + ' file://' \ + + @md.file.output_path.xml_dom.dir + '/' \ + + @md.file.base_filename.xml_dom + "\n\t" \ + + @env.program.xml_viewer \ + + ' file://' \ + + @md.file.output_path.xml_dom.dir + '/' \ + + @md.file.base_filename.xml_dom + elsif @opt.act[:verbose][:set]==:on + @env.program.web_browser \ + + ' file://' \ + + @md.file.output_path.xml_dom.dir + '/' \ + + @md.file.base_filename.xml_dom + else "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}" + end + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'XML DOM', + tool + ).green_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'XML DOM', + tool + ).green_title_hi + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + @opt.fns, + 'file://' \ + + @md.file.output_path.xml_dom.dir + '/' \ + + @md.file.base_filename.xml_dom + ).flow + end + end + SiSU_XML_DOM::Source::Songsheet.new(@particulars).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + SiSU_Env::CreateSite.new(@opt).cp_css + Dir.chdir(@opt.f_pth[:pth]) + end + end + private + class Songsheet + def initialize(particulars) + @env, @md, @ao_arr, @particulars= + particulars.env,particulars.md,particulars.ao_array,particulars + @file=SiSU_Env::FileOp.new(@md) + end + def songsheet + begin + SiSU_XML_DOM::Source::Scroll.new(@particulars).songsheet + if (@md.opt.act[:verbose][:set]==:on \ + || @md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + SiSU_XML_DOM::Source::Tidy.new(@md,@file.place_file.xml_dom.dir).xml # test wellformedness, comment out when not in use + end + SiSU_Rexml::Rexml.new(@md,@file.place_file.xml_dom.dir).xml if @md.opt.act[:maintenance][:set]==:on # test rexml parsing, comment out when not in use #debug + rescue + SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + end + class Scroll + require_relative 'txt_shared' # txt_shared.rb + include SiSU_TextUtils + require_relative 'xhtml_shared' # decide use, whether xml rather than xhtml + def initialize(particulars) + @env, @md, @ao_arr= + particulars.env,particulars.md,particulars.ao_array + @trans=SiSU_XML_Munge::Trans.new(@md) + @sys=SiSU_Env::SystemCall.new + @per=SiSU_XML_Persist::Persist.new + end + def songsheet + begin + pre + @data=markup(@ao_arr) + post + publish + ensure + SiSU_XML_Persist::Persist.new.persist_init + end + end + protected + def xml_markup(dob='') + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/, + '\1\2 '). + gsub(/#{Mx[:en_b_o]}([*+]\d+)\s+(.+?)#{Mx[:en_b_c]}/, + '\1\2 '). + gsub(/#{Mx[:en_a_o]}([*+]+)\s+(.+?)#{Mx[:en_a_c]}/, + '\1\2 ') + end + def xml_head + metadata=SiSU_Metadata::Summary.new(@md).xml_dom.metadata + @per.head << metadata + end + def xml_sc(md='') + sc=if @md.sc_info + < + filename: + + #{@md.sc_filename} +
    + version number: + + #{@md.sc_number} +
    + version date: + + #{@md.sc_date} +
    + +WOK + else '' + end + @per.sc=sc + end + def xml_element(dob,xml_el='',xml_content='',type='norm') + n=n1=n2=n3=0 + if dob.is==:heading + lv=dob.ln + n=dob.ln + n1=dob.ln + n2=dob.ln + 2 + n3=dob.ln + 3 + else lv=nil + end + tag=if defined? dob.name and dob.name=~/\S+/ + "\n#{Ax[:tab]*n3}#{dob.name}" + else '' + end + xml_el ||='' + @per.body <<< +#{Ax[:tab]*n2} +#{Ax[:tab]*n3}#{dob.ocn}#{tag} +#{Ax[:tab]*n3}#{dob.obj} +#{Ax[:tab]*n2} +#{Ax[:tab]*n1}#{xml_content} +WOK + if lv==4 + @copen[1]=true + @copen[2]=@copen[3]=@copen[4]=false + elsif lv==5 + @copen[2]=true + @copen[3]=@copen[4]=false + elsif lv==6 + @copen[3]=true + @copen[4]=false + elsif lv==7 + @copen[4]=true + end + end + def xml_structure(dob,type='norm') + n=n1=n2=n3=0 + if dob.is==:heading + lv=dob.ln + n=dob.ln - 1 + n1=dob.ln + n2=dob.ln + 1 + n3=dob.ln + 2 + dob.ln - 3 + else lv=nil + end + case lv + when 1..3 + xml_el="" + 3.downto(lv) do |x| + y=x - 1 + if @cont[1] \ + or @cont[2] \ + or @cont[3] + @per.body << "#{Ax[:tab]*5}" + end + @cont[1]=false if @cont[1] + @cont[2]=false if @cont[2] + @cont[3]=false if @cont[3] + ####### attempt to close contents + if @copen[4] # 4~ + [4,3,2,1].each { |v| @per.body << "#{Ax[:tab]*n}" } + @copen[1]=@copen[2]=@copen[3]=@copen[4]=false + elsif @copen[3] # 3~ + [3,2,1].each { |v| @per.body << "#{Ax[:tab]*n}" } + @copen[1]=@copen[2]=@copen[3]=false + elsif @copen[2] # 2~ + [2,1].each { |v| @per.body << "#{Ax[:tab]*n}" } + @copen[1]=@copen[2]=@copen[3]=false + elsif @copen[1] # 1~ + [1].each { |v| @per.body << "#{Ax[:tab]*n}" } + @copen[1]=@copen[2]=@copen[3]=false + end + @per.body << "#{Ax[:tab]*y}" if @level[x] + @level[x]=false + end + when 4..7 + 7.downto(lv) do |x| + if @level[x]==true + @xml_contents_close[x]='' + end + end + cv=lv - 3 + xml_el="" + xml_content="\n#{Ax[:tab]*5}" + case lv + when 4 + @per.body << "#{Ax[:tab]*5}" if @cont[1] + if @copen[4]==true # 4~ + [4,3,2,1].each { |v| @per.body << "#{Ax[:tab]*n}" } + elsif @copen[3]==true # 3~ + [3,2,1].each { |v| @per.body << "#{Ax[:tab]*n}" } + elsif @copen[2]==true # 2~ + [2,1].each { |v| @per.body << "#{Ax[:tab]*n}" } + elsif @copen[1]==true # 1~ + [1].each { |v| @per.body << "#{Ax[:tab]*n}" } + end + @cont[1]=true + when 5 + if @cont[3] \ + or @cont[2] \ + or @cont[1] + @per.body << "#{Ax[:tab]*5}" + end + if @copen[4]==true #4~ + [4,3,2].each { |v| @per.body << "#{Ax[:tab]*n}" } + elsif @copen[3]==true #3~ + [3,2].each { |v| @per.body << "#{Ax[:tab]*n}" } + elsif @copen[2]==true #2~ + [2].each { |v| @per.body << "#{Ax[:tab]*n}" } + end + @cont[2]=true + when 6 + if @cont[4] \ + or @cont[3] \ + or @cont[2] \ + or @cont[1] + @per.body << "#{Ax[:tab]*5}" + end + if @copen[4] #4~ + [4,3].each { |v| @per.body << "#{Ax[:tab]*n}" } + elsif @copen[3] #3~ + [3].each { |v| @per.body << "#{Ax[:tab]*n}" } + end + @cont[3]=true + when 7 + if @cont[4] \ + or @cont[3] \ + or @cont[2] \ + or @cont[1] + @per.body << "#{Ax[:tab]*5}" + end + if @copen[4] #4~ + [4].each { |v| @per.body << "#{Ax[:tab]*n}" } + end + @cont[4]=true + end + end + xml_el ||='' + xml_element(dob,xml_el,xml_content,type) + if lv + @level[lv]=true + ((lv+1)..7).each { |x| @level[x]=false } + end + end + def add_to_body(dob,type='norm') + if defined? dob.obj # main text, contents, body KEEP + if defined? dob.ocn \ + and dob.ocn + @per.body << %{#{Ax[:tab]*6}} + @per.body << %{#{Ax[:tab]*7}#{dob.ocn}} if defined? dob.ocn + end + #@per.body << %{#{Ax[:tab]*7}#{dob.obj}} + #@per.body << %{#{Ax[:tab]*7}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*7}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*8}#{dob.obj}#{Ax[:tab]*1}} + @per.body << %{#{Ax[:tab]*7}} + @per.body << %{#{Ax[:tab]*6}} + end + end + def block_structure(dob) + dob=@trans.markup_block(dob) #decide check & FIX + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/m, + '\1\2 ').strip + dob + end + def group_structure(dob) + dob=@trans.markup_group(dob) #decide check & FIX + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/m, + '\1\2 ').strip + dob + end + def poem_structure(dob) + dob=@trans.markup_group(dob) #decide check & FIX + dob.obj=dob.obj.strip + dob + end + def code_structure(dob) + dob=@trans.markup_group(dob) #decide check & FIX + dob.obj=dob.obj.gsub(/\s\s/,'  ').strip + dob + end + def table_structure(dob) #tables + SiSU_XHTML_Shared::TableXHTML.new(dob) + end + def markup(data) + xml_sc(@md) + @level,@cont,@copen,@xml_contents_close=[],[],[],[] + @rcdc=false + type='norm' + (0..7).each { |x| @cont[x]=@level[x]=false } + (4..7).each { |x| @xml_contents_close[x]='' } + xml_head + data.each do |dob| + @trans.char_enc.utf8(dob) if @sys.locale =~/utf-?8/i #% utf8 + dob=@trans.markup(dob) + if @rcdc==false \ + and (dob.is ==:meta \ + and dob.obj =~/Document Information/) + @rcdc=true + end + if dob !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + @p_num=SiSU_XML_Format::ParagraphNumber.new(@md,dob.ocn) if defined? dob.ocn + if not @rcdc + if defined? dob.ocn \ + and dob.ocn.to_s =~/\d+/ + format_scroll=SiSU_XML_Format::FormatScroll.new(@md,dob) if dob.is==:para and dob.indent ##FIX + x=SiSU_XML_Format::FormatSeg.new(@md,dob) + if dob.is==:heading + if dob.ln==0 + type="heading_section_#{dob.ln.to_s}" + xml_markup(dob) + xml_structure(dob,type) + dob.obj=x.heading_body0 + elsif dob.ln==1 + type="heading_section_#{dob.ln.to_s}" + xml_markup(dob) + xml_structure(dob,type) + dob.obj=x.heading_body1 + elsif dob.ln==2 + type="heading_section_#{dob.ln.to_s}" + xml_markup(dob) + xml_structure(dob,type) + dob.obj=x.heading_body2 + elsif dob.ln==3 + type="heading_section_#{dob.ln.to_s}" + xml_markup(dob) + xml_structure(dob,type) + dob.obj=x.heading_body3 + elsif dob.ln==4 + type="heading_content_#{dob.lv}" + xml_markup(dob) + xml_structure(dob,type) + dob.obj=x.heading_body4 + elsif dob.ln==5 + type="heading_content_#{dob.lv}" + xml_markup(dob) + xml_structure(dob,type) + dob.obj=x.heading_body5 + elsif dob.ln==6 + type="heading_content_#{dob.lv}" + xml_structure(dob,type) + dob.obj=x.heading_body6 + elsif dob.ln==7 + type="heading_content_#{dob.lv}" + xml_structure(dob,type) + dob.obj=x.heading_body7 + end + else + dob.ocn + if dob.is==:verse + type='verse' + poem_structure(dob) #redo + elsif dob.is==:group + type='group' + group_structure(dob) #redo + elsif dob.is==:block + type='block' + block_structure(dob) #redo + elsif dob.is==:code + type='code' + code_structure(dob) #redo + elsif dob.is==:table # tables come as single block #work area 2005w13 + type='table' + table_structure(dob) + elsif dob.is==:para \ + and dob.indent.to_s =~/[1-9]/ \ + and dob.bullet_ + type="indent_bullet#{dob.indent.to_s}" + xml_markup(dob) + elsif dob.is==:para \ + and dob.indent.to_s =~/[1-9]/ \ + and dob.indent == dob.hang + type="indent#{dob.indent.to_s}" + xml_markup(dob) + elsif dob.is==:para \ + and dob.hang.to_s =~/[0-9]/ \ + and dob.indent != dob.hang + type="hang#{dob.hang.to_s}_indent#{dob.indent.to_s}" + xml_markup(dob) + else + type='norm' + xml_markup(dob) + end + add_to_body(dob,type) + end + elsif dob.obj =~/(#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + elsif dob.obj =~/(MetaData)/ + txt_obj={ txt: '
    MetaData' } + format_scroll=FormatScroll.new(@md,txt_obj) + dob.obj=format_scroll.bold_para + elsif dob.obj =~/(Owner Details)/ + dob.obj='' + end + if dob.obj =~// \ + and dob.obj =~/^(-\{{2}~\d+|)/ # -endnote + dob.obj='' + end + if dob.obj =~/.*<:#>.*$/ + dob.obj=if dob.obj =~ /#{Mx[:pa_o]}:i[1-9]#{Mx[:pa_c]}/ + txt_obj={ txt: dob.obj } + format_text=FormatTextObject.new(@md,txt_obj) + format_text.scr_inden_ocn_e_no_paranum + end + end + else # + end + dob.obj=dob.obj.gsub(/#{Mx[:pa_o]}:\S+#{Mx[:pa_c]}/,'') if dob.obj + end + end + @content_flag=true + 7.downto(4) do |x| + y=x - 1; v=x - 3 + if @level[x]==true #2004w36 bug fix? watch/test previous logic broke on free.for.all @coontent_flag introduced + if @content_flag==true + @per.body << "#{Ax[:tab]*5}\n#{Ax[:tab]*y}" + @content_flag=false + else + @per.body << "\n#{Ax[:tab]*y}" + end + end + end + 3.downto(1) do |x| + y=x - 1 + @per.body << "#{Ax[:tab]*y}" if @level[x]==true + end + end + def pre + rdf=SiSU_XML_Tags::RDF.new(@md) + stylesheet=SiSU_Style::CSS_HeadInfo.new(@md,'xml_dom').stylesheet + encoding=if @sys.locale =~/utf-?8/i then '' + else '' + end + @per.open =< +WOK + @per.head << '' + @per.body << '' + end + def post + @per.head << @per.sc + @per.head << '' + @per.body << '' + @per.close << '' + end + def publish + content=[] + content << @per.open << @per.head << @per.body # << @per.metadata + content << @per.tail << @per.close + content=content.flatten.compact + Output.new(content,@md).xml + @per.head,@per.body,@per.tail=[],[],[] # check whether should be nil + end + end + class Output + include SiSU_Param + def initialize(data,md) + @data,@md=data,md + @file=SiSU_Env::FileOp.new(@md) + end + def xml + SiSU_Env::FileOp.new(@md).mkdir + filename_xml=@file.write_file.xml_dom + @data.each do |str| + str=str.gsub(/#{Mx[:pa_o]}:\S+#{Mx[:pa_c]}/,'') + filename_xml.puts str unless str.empty? + end + filename_xml.close + end + end + class Tidy + def initialize(md,file) + @md,@file=md,file + @prog=SiSU_Env::InfoProgram.new + end + def xml + if @prog.tidy !=false + if (@md.opt.act[:verbose_plus][:set]==:on \ + || @md.opt.act[:maintenance][:set]==:on) + unless @md.opt.act[:quiet][:set]==:on + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + 'invert', + 'Using XML Tidy', + 'check document structure' + ).colorize + tell=SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + 'invert', + '', + '' + ) + tell.grey_open + end + tidyfile='/dev/null' #don't want one or screen output, check for alternative flags + tidy=SiSU_Env::SystemCall.new(@file,tidyfile) + tidy.well_formed? + tell.p_off unless @md.opt.act[:quiet][:set]==:on + end + end + end + end + end +end +__END__ +,** Notes: tidy -xml dom.xml >> index.tidy +#+END_SRC + +#+END_SRC + +* xml shared +** xml_shared.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_shared.rb" +# <> +module SiSU_XML_Munge + require_relative 'xml_parts' # xml_parts.rb + class Trans + include SiSU_Parts_XML + def initialize(md) + @md=md + @sys=SiSU_Env::SystemCall.new + @dir=SiSU_Env::InfoEnv.new(@md.fns) + if @md.sem_tag + @ab ||=semantic_tags.default + end + end + def semantic_tags + def default + { + pub: 'publication', + conv: 'convention', + vol: 'volume', + pg: 'page', + cty: 'city', + org: 'organization', + uni: 'university', + dept: 'department', + fac: 'faculty', + inst: 'institute', + co: 'company', + com: 'company', + dt: 'date', + y: 'year', + m: 'month', + d: 'day', + ti: 'title', + au: 'author', + ed: 'editor', #editor? + v: 'version', #edition + n: 'name', + fn: 'firstname', + mn: 'middlename', + ln: 'lastname', + in: 'initials', + qt: 'quote', + ct: 'cite', + ref: 'reference', + ab: 'abreviation', + def: 'define', + desc: 'description', + trans: 'translate', + } + end + self + end + def char_enc #character encode + def utf8(dob='') + if @sys.locale =~/utf-?8/i # instead ucs for utf8 # String#encode Iñtërnâtiônàlizætiøn + str=if defined? dob.obj then dob.obj + elsif dob.is_a?(String) then dob + end + if str + #¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûü + #¢£¥§©ª«®°±²³µ¶¹º»¼½¾×÷ + str=str.gsub(//um,'>'). # '>' # > + gsub(/¢/um,'¢'). # '¢' # ¢ + gsub(/£/um,'£'). # '£' # £ + gsub(/¥/um,'¥'). # '¥' # ¥ + gsub(/§/um,'§'). # '§' # § + gsub(/©/um,'©'). # '©' # © + gsub(/ª/um,'ª'). # 'ª' # ª + gsub(/«/um,'«'). # '«' # « + gsub(/®/um,'®'). # '®' # ® + gsub(/°/um,'°'). # '°' # ° + gsub(/±/um,'±'). # '±' # ± + gsub(/²/um,'²'). # '²' # ² + gsub(/³/um,'³'). # '³' # ³ + gsub(/µ/um,'µ'). # 'µ' # µ + gsub(/¶/um,'¶'). # '¶' # ¶ + gsub(/¹/um,'¹'). # '¹' # ¹ + gsub(/º/um,'º'). # 'º' # º + gsub(/»/um,'»'). # '»' # » + gsub(/¼/um,'¼'). # '¼' # ¼ + gsub(/½/um,'½'). # '½' # ½ + gsub(/¾/um,'¾'). # '¾' # ¾ + gsub(/×/um,'×'). # '×' # × + gsub(/÷/um,'÷'). # '÷' # ÷ + gsub(/¿/um,'¿'). # '¿' # ¿ + gsub(/À/um,'À'). # 'À' # À + gsub(/Á/um,'Á'). # 'Á' # Á + gsub(/Â/um,'Â'). # 'Â' #  + gsub(/Ã/um,'Ã'). # 'Ã' # à + gsub(/Ä/um,'Ä'). # 'Ä' # Ä + gsub(/Å/um,'Å'). # 'Å' # Å + gsub(/Æ/um,'Æ'). # 'Æ' # Æ + gsub(/Ç/um,'Ç'). # 'Ç' # Ç + gsub(/È/um,'È'). # 'È' # È + gsub(/É/um,'É'). # 'É' # É + gsub(/Ê/um,'Ê'). # 'Ê' # Ê + gsub(/Ë/um,'Ë'). # 'Ë' # Ë + gsub(/Ì/um,'Ì'). # 'Ì' # Ì + gsub(/Í/um,'Í'). # 'Í' # Í + gsub(/Î/um,'Î'). # 'Î' # Î + gsub(/Ï/um,'Ï'). # 'Ï' # Ï + gsub(/Ð/um,'Ð'). # 'Ð' # Ð + gsub(/Ñ/um,'Ñ'). # 'Ñ' # Ñ + gsub(/Ò/um,'Ò'). # 'Ò' # Ò + gsub(/Ó/um,'Ó'). # 'Ó' # Ó + gsub(/Ô/um,'Ô'). # 'Ô' # Ô + gsub(/Õ/um,'Õ'). # 'Õ' # Õ + gsub(/Ö/um,'Ö'). # 'Ö' # Ö + gsub(/Ø/um,'Ø'). # 'Ø' # Ø + gsub(/Ù/um,'Ù'). # 'Ù' # Ù + gsub(/Ú/um,'Ú'). # 'Ú' # Ú + gsub(/Û/um,'Û'). # 'Û' # Û + gsub(/Ü/um,'Ü'). # 'Ü' # Ü + gsub(/Ý/um,'Ý'). # 'Ý' # Ý + gsub(/Þ/um,'Þ'). # 'Þ' # Þ + gsub(/ß/um,'ß'). # 'ß' # ß + gsub(/à/um,'à'). # 'à' # à + gsub(/á/um,'á'). # 'á' # á + gsub(/â/um,'â'). # 'â' # â + gsub(/ã/um,'ã'). # 'ã' # ã + gsub(/ä/um,'ä'). # 'ä' # ä + gsub(/å/um,'å'). # 'å' # å + gsub(/æ/um,'æ'). # 'æ' # æ + gsub(/ç/um,'ç'). # 'ç' # ç + gsub(/è/um,'è'). # 'è' # è + gsub(/é/um,'é'). # '´' # é + gsub(/ê/um,'ê'). # 'ˆ' # ê + gsub(/ë/um,'ë'). # 'ë' # ë + gsub(/ì/um,'ì'). # 'ì' # ì + gsub(/í/um,'í'). # '´' # í + gsub(/î/um,'î'). # 'î' # î + gsub(/ï/um,'ï'). # 'ï' # ï + gsub(/ð/um,'ð'). # 'ð' # ð + gsub(/ñ/um,'ñ'). # 'ñ' # ñ + gsub(/ò/um,'ò'). # 'ò' # ò + gsub(/ó/um,'ó'). # 'ó' # ó + gsub(/ô/um,'ô'). # 'ô' # ô + gsub(/õ/um,'õ'). # 'õ' # õ + gsub(/ö/um,'ö'). # 'ö' # ö + gsub(/ø/um,'ø'). # 'ø' # ø + gsub(/ù/um,'ú'). # 'ù' # ú + gsub(/ú/um,'û'). # 'ú' # û + gsub(/û/um,'ü'). # 'û' # ü + gsub(/ü/um,'ý'). # 'ü' # ý + gsub(/þ/um,'þ'). # 'þ' # þ + gsub(/ÿ/um,'ÿ'). # 'ÿ' # ÿ + gsub(/‘/um,'‘'). # '‘' # ‘ + gsub(/’/um,'’'). # '’' # ’ + gsub(/“/um,'“'). # “ # “ + gsub(/”/um,'”'). # ” # ” + gsub(/–/um,'–'). # – # – + gsub(/—/um,'—'). # — # — + gsub(/∝/um,'∝'). # ∝ # ∝ + gsub(/∞/um,'∞'). # ∞ # ∞ + gsub(/™/um,'™'). # ™ # ™ + gsub(/✠/um,'✠'). # ✗ # ✠ + gsub(/ /um,' '). # space identify + gsub(/ /um,' ') # space identify + end + dob=if defined? dob.obj + dob.obj=str + dob + elsif dob.is_a?(String) + str + end + dob + end + end + def html(dob='') + if @sys.locale =~/utf-?8/i # instead ucs for utf8 # String#encode Iñtërnâtiônàlizætiøn + dob.obj=dob.obj.gsub(/ /u,' '). # space identify + gsub(/ /u,' ') # space identify + end + end + self + end + def tidywords(wordlist) + wordlist_new=[] + wordlist.each do |x| + #imperfect solution will not catch all possible cases + x=x.gsub(/&/,'&') unless x =~/&\S+;/ + x=x.gsub(/&([A-Z])/,'&\1') + wordlist_new << x + end + wordlist_new + end + def markup(dob='') + wordlist=dob.obj.scan(/&[#0-9a-z]+;|\S+|\n/) #\n needed for tables, check though added 2005w17 + dob.obj=tidywords(wordlist).join(' ').strip + unless dob.is==:table + dob.obj=dob.obj.gsub(/#{Mx[:br_line]}/u,'
    '). + gsub(/#{Mx[:br_paragraph]}/u,'
    '). + gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}/,'
    ') + end + dob.obj=dob.obj.gsub(/#{Mx[:mk_o]}:name#\S+?#{Mx[:mk_c]}/,''). + gsub(/#{Mx[:mk_o]}#([a-zA-Z]+)#{Mx[:mk_c]}/,'&\1;'). + gsub(/#{Mx[:mk_o]}(#[0-9]+)#{Mx[:mk_c]}/,'&\1;'). + gsub(/(^|#{Mx[:gl_c]}|\s+)<\s+/,'\1< ').gsub(/\s+>(\s+|$)/,' >\1'). + #gsub(/#{Mx[:fa_emphasis_o]}(.+?)#{Mx[:fa_emphasis_c]}/,'\1'). #reinstate + gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/m,'\1'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/m,'\1'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'\1'). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'\1'). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,'\1'). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'\1'). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'\1'). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'\1'). + gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'\1'). + gsub(/<:pb>\s*/,''). #Fix + gsub(/<+[-~]#>+/,'') + if dob.is !=:code + #embeds a red-bullet image --> + dob.obj=dob.obj.gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'\1'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'\1'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'\1'). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'\1') + dob.obj=dob.obj.gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}/,'
    ') unless dob.is==:table + dob.obj=dob.obj.gsub(/#{Mx[:br_page]}\s*/,''). + gsub(/#{Mx[:br_page_new]}\s*/,''). + gsub(/#{Mx[:br_page_line]}\s*/,''). + gsub(/#{Mx[:pa_non_object_no_heading]}|#{Mx[:pa_non_object_dummy_heading]}/,''). + gsub(/<[-~]#>/,''). + gsub(/href="#{Xx[:segment]}/m,'href="'). + gsub(/#{Mx[:lnk_o]}([^#{Mx[:lnk_o]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{Mx[:rel_c]}]+?)#{Mx[:lnk_c]}#{Mx[:rel_o]}(\.\.\/\S+?)#{Mx[:rel_c]}/, + '\1'). + gsub(/#{Mx[:lnk_o]}([^#{Mx[:lnk_o]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{Mx[:rel_c]}]+?)#{Mx[:lnk_c]}#{Mx[:rel_o]}:(\S+?)#{Mx[:rel_c]}/, + '\1'). + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:rel_o]}(\S+?)#{Mx[:rel_c]}/, + '\1'). + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}[ ]*(\S+?\.(?:jpg|png|gif))[ ]+(\d+)x(\d+)(\s+[^}]+)?#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, + %{[\\1] \\4}). + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}[ ]*(\S+?\.(?:jpg|png|gif))([ ]+[^}]+)?#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, + %{\\1}). + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}[ ]*(\S+?\.(?:jpg|png|gif))[ ]+(\d+)x(\d+)(\s+[^}]+)?#{Mx[:lnk_c]}image/, + %{[\\1] \\4}). + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}[ ]*(\S+?\.(?:jpg|png|gif))([ ]+[^}]+)?#{Mx[:lnk_c]}image/, + %{\\1}). + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, + '\1'). #watch, compare html_tune + gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, + %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}). + gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/, + '\1') #escaped urls not linked, deal with later + else + dob.obj=dob.obj.gsub(//m,'>') + end + if dob.of==:block + dob.obj=dob.obj.gsub(/#{Mx[:gl_bullet]}/,'● ') + end + dob.obj=dob.obj.gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/, + %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}). + gsub(/#{Dx[:url_o]}/,"#{Dx[:url_o_xml]}"). + gsub(/#{Dx[:url_c]}/,"#{Dx[:url_c_xml]}"). + gsub(/ |#{Mx[:nbsp]}/m,' '). + gsub(/;&([^#]|(?:[^gl][^t]|[^a][^m][^p]|[^n][^b][^s][^p])[^;])/,';&\1') # pattern not to match + dob + end + def markup_light(dob='') + dob.obj=dob.obj.gsub(/\/\{(.+?)\}\//,'\1'). + gsub(/[*!]\{(.+?)\}[*!]/,'\1'). + gsub(/_\{(.+?)\}_/,'\1'). + gsub(/-\{(.+?)\}-/,'\1'). + gsub(//,'
    '). + gsub(/<:pb>\s*/,''). + gsub(/<[-~]#>/,''). + gsub(/(^|#{Mx[:gl_c]}|\s)&\s+/,'\1& '). #sort + gsub(/&([^;]{1,5})/,'&\1'). #sort, rough estimate, revisit #WATCH found in node not sax + gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif))[ ]+.+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)/, + "#{@md.file.output_path.xml.rel_image}\/\\1"). + gsub(/ |#{Mx[:nbsp]}/,' '). + gsub(/;&([^#]|(?:[^gl][^t]|[^a][^m][^p]|[^n][^b][^s][^p])[^;])/,';&\1') # pattern not to match + wordlist=dob.obj.scan(/&[#0-9a-z]+;|\S+|\n/) #\n needed for tables, check though added 2005w17 + dob.obj=tidywords(wordlist).join(' ').strip + dob + end + def clean(str) + str=str.gsub(/#{Mx[:gl_o]}(#[0-9]{3})#{Mx[:gl_c]}/u,'&\1;'). + gsub(/#{Mx[:gl_o]}#([a-z]{2,4})#{Mx[:gl_c]}/u,'&\1;') + end + def markup_fictionbook(str='',is='') + str=str.gsub(/#{Mx[:en_a_o]}([\d+*]+).+?#{Mx[:en_a_c]}/m,'
    [\1]'). + gsub(/&/,'&'). #sort + gsub(/#{Mx[:mk_o]}#([a-zA-Z]+)#{Mx[:mk_c]}/,'&\1;'). + gsub(/(^|#{Mx[:gl_c]}|\s)&\s+/,'\1& '). #sort + gsub(/#{Mx[:mk_o]}(#[0-9]+)#{Mx[:mk_c]}/,'&\1;') + str=str.gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}/,'
    ') unless is==:table + str=str.gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'\1'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'\1'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'\1'). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'\1'). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,'\1'). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'\1'). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'\1'). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'\1'). + gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'\1'). # tt, kbd + gsub(/#{Mx[:lnk_o]}\s*(\S+?\.(?:png|jpg|gif)).+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}|image)/m,''). + gsub(/#{Mx[:url_o]}(.+?)#{Mx[:url_c]}/,"#{Dx[:url_o]}\\1#{Dx[:url_c]}"). + gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,''). + gsub(/#{Mx[:gl_bullet]}/m,'● '). #  not available + gsub(/#{Mx[:nbsp]}/,' '). #  not available + gsub(/<(p|br)>/,'<\1 />') + clean(str) + end + def markup_docbook(dob='') # work on, initially a copy of fictionbook! + if dob.is !=:code + dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}(\d+)\s*(.+?)#{Mx[:en_a_c]}/m,'\2'). + gsub(/\\\\/,''). + gsub(/&/,'&'). #sort + gsub(/#{Mx[:mk_o]}#([a-zA-Z]+)#{Mx[:mk_c]}/,'&\1;'). + gsub(/(^|#{Mx[:gl_c]}|\s)&\s+/,'\1& '). #sort + gsub(/#{Mx[:mk_o]}(#[0-9]+)#{Mx[:mk_c]}/,'&\1;') + dob.obj=dob.obj.gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}/,'
    ') unless dob.is==:table + dob.obj=dob.obj.gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'\1'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'\1'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'\1'). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'\1'). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,'\1'). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'\1'). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'\1'). + gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'\1'). + gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'\1'). # tt, kbd + gsub(/#{Mx[:lnk_o]}\s*(\S+?)\.(png|jpg|gif).+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}|image)/m, + %{#{Xx[:split]}:spaces0:
    \n:spaces1:\n:spaces1:\n:spaces0:
    #{Xx[:split]}}). # common image location, else use ./images + gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(.+?)#{Mx[:url_c]}/, + '\1'). + gsub(/#{Mx[:url_o]}(.+?)#{Mx[:url_c]}/, + '\1'). + gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,''). + gsub(/#{Mx[:gl_bullet]}/m,'● '). #  not available + gsub(/#{Mx[:nbsp]}/,' '). #  not available + gsub(/<(p|br)>/,'<\1 />') + dob.obj=clean(dob.obj) + elsif dob.is == :code + dob.obj=dob.obj.gsub(/&/m,'&'). #sort + gsub(//,'>') + else # p dob.is ?? + end + dob + end + def markup_group(dob='') + dob.obj=dob.obj.gsub(//,'>'). + gsub(/<:?br(?:\s+\/)?>/,'
    '). + gsub(/<(link xmlns:xl=".+?")>/,'<\1>'). + gsub(/<(\/link)>/,'<\1>'). + gsub(/<(\/?en)>/,'<\1>') + dob + end + def markup_block(dob='') + dob.obj=dob.obj.gsub(//,'>'). + gsub(/<:?br(?:\s+\/)?>/,'
    '). + gsub(/<(link xmlns:xl=".+?")>/,'<\1>'). + gsub(/<(\/link)>/,'<\1>'). + gsub(/<(\/?en)>/,'<\1>') + dob + end + def xml_sem_block_paired(matched) # colon depth: many, recurs + matched=matched.gsub(/\b(au):\{(.+?)\}:\1\b/m, %{\\2}). + gsub(/\b(vol):\{(.+?)\}:\1\b/m, %{\\2}). + gsub(/\b(pub):\{(.+?)\}:\1\b/m, %{\\2}). + gsub(/\b(ref):\{(.+?)\}:\1\b/m, %{\\2}). + gsub(/\b(desc):\{(.+?)\}:\1\b/m,%{\\2}). + gsub(/\b(conv):\{(.+?)\}:\1\b/m,%{\\2}). + gsub(/\b(ct):\{(.+?)\}:\1\b/m, %{\\2}). + gsub(/\b(cty):\{(.+?)\}:\1\b/m, %{\\2}). + gsub(/\b(org):\{(.+?)\}:\1\b/m, %{\\2}). + gsub(/\b(dt):\{(.+?)\}:\1\b/m, %{\\2}). + gsub(/\b(n):\{(.+?)\}:\1\b/m, %{\\2}). + gsub(/([a-z]+(?:[_:.][a-z]+)*)(?::\{(.+?)\}:\1)/m,'\2') + end + def xml_semantic_tags(dob) + if @md.sem_tag + dob.obj.gsub!(/([a-z]+(?:[_:.][a-z]+)*)(?::\{(.+?)\}:\1)/m) {|c| xml_sem_block_paired(c) } + dob.obj.gsub!(/([a-z]+(?:[_:.][a-z]+)*)(?::\{(.+?)\}:\1)/m) {|c| xml_sem_block_paired(c) } + dob.obj.gsub!(/([a-z]+(?:[_:.][a-z]+)*)(?::\{(.+?)\}:\1)/m) {|c| xml_sem_block_paired(c) } + dob.obj=dob.obj.gsub(/:\{(.+?)\}:au\b/m, %{\\1}). + gsub(/:\{(.+?)\}:n\b/m, %{\\1}). + gsub(/:\{(.+?)\}:ti\b/m, %{\\1}). + gsub(/:\{(.+?)\}:ref\b/m, %{\\1}). + gsub(/:\{(.+?)\}:desc\b/m, %{\\1}). + gsub(/:\{(.+?)\}:cty\b/m, %{\\1}). + gsub(/:\{(.+?)\}:org\b/m, %{\\1}). + gsub(/:\{(.+?)\}:([a-z]+(?:[_:.][a-z]+)*)/m,'\1'). + gsub(/;\{([^}]+(?![;]))\};ti\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};qt\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};ref\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};ed\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};v\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};desc\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};def\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};trans\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};y\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};ab\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};pg\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};fn?\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};mn?\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};ln?\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};in\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};uni\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};fac\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};inst\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};dept\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};org\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};com?\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};cty\b/m, %{\\1}). + gsub(/;\{([^}]+(?![;]))\};([a-z]+(?:[_:.][a-z]+)*)/m,'\1') + end + dob + end + end +end +module SiSU_XML_Tags #Format + require_relative 'dp' # dp.rb + include SiSU_Param + class RDF + include SiSU_Parts_XML + def initialize(md='',seg_name=[],tracker=0) + @full_title=@subtitle=@author=@subject=@description=@publisher=@contributor=@date=@date_created=@date_issued=@date_available=@date_valid=@date_modified=@type=@format=@identifier=@source=@language=@relation=@coverage=@rights=@copyright=@owner=@keywords='' + @md=md + @rdfurl=%{ rdf:about="http://www.jus.uio.no/lm/toc"\n} + if defined? @md.title.full \ + and @md.title.full # DublinCore 1 - title + @rdf_title=%{ dc.title="#{seg_name}#{@md.title.full}"\n} + @full_title=%{ \n} + end + if defined? @md.creator.author \ + and @md.creator.author=~/\S+/ # DublinCore 2 - creator/author (author) + @rdf_author=%{ dc.author="#{@md.creator.author}"\n} + content=meta_content_clean(@md.creator.author) + @author=%{ \n} + end + if defined? @md.publisher \ + and @md.publisher # DublinCore 5 - publisher (current copy published by) + @rdf_publisher=%{ dc.publisher="#{@md.publisher}"\n} + content=meta_content_clean(@md.publisher) + @publisher=%{ \n} + end + if defined? @md.creator.contributor \ + and @md.creator.contributor=~/\S+/ # DublinCore 6 - contributor + @rdf_contributor=%{ dc.contributor="#{@md.creator.contributor}"\n} + content=meta_content_clean(@md.creator.contributor) + @contributor=%{ \n} + end + if defined? @md.date.published \ + and @md.date.published=~/\S+/ # DublinCore 7 - date year-mm-dd + @rdf_date=%{ dc.date="#{@md.date.published}"\n} + @date=%{ \n} # fix @md.date_scheme + end + if defined? @md.date.created \ + and @md.date.created=~/\S+/ # DublinCore 7 - date.created year-mm-dd + @rdf_date_created=%{ dc.date.created="#{@md.date.created}"\n} + @date_created=%{ \n} + end + if defined? @md.date.issued \ + and @md.date.issued=~/\S+/ # DublinCore 7 - date.issued year-mm-dd + @rdf_date_issued=%{ dc.date.issued="#{@md.date.issued}"\n} + @date_issued=%{ \n} + end + if defined? @md.date.available \ + and @md.date.available=~/\S+/ # DublinCore 7 - date.available year-mm-dd + @rdf_date_available=%{ dc.date.available="#{@md.date.available}"\n} + @date_available=%{ \n} + end + if defined? @md.date.valid \ + and @md.date.valid=~/\S+/ # DublinCore 7 - date.valid year-mm-dd + @rdf_date_valid=%{ dc.date.valid="#{@md.date.valid}"\n} + @date_valid=%{ \n} + end + if defined? @md.date.modified \ + and @md.date.modified=~/\S+/ # DublinCore 7 - date.modified year-mm-dd + @rdf_date_modified=%{ dc.date.modified="#{@md.date.modified}"\n} + @date_modified=%{ \n} + end + if defined? @md.rights.all \ + and @md.rights.all # DublinCore 15 - rights + @rdf_rights=%{ dc.rights="#{@md.rights.all}"\n} + content=meta_content_clean(@md.rights.all) + @rights=%{ \n} + end + if defined? @md.classify.subject \ + and @md.classify.subject=~/\S+/ # DublinCore 3 - subject (us library of congress, eric or udc, or schema???) + @rdf_subject=%{ dc.subject="#{@md.classify.subject}"\n} + content=meta_content_clean(@md.classify.subject) + @subject=%{ \n} + end + if defined? @md.notes.description \ + and @md.notes.description=~/\S+/ # DublinCore 4 - description + @rdf_description=%{ dc.description="#{@md.notes.description}"\n} + content=meta_content_clean(@md.notes.description) + @description=%{ \n} + end + if defined? @md.notes.coverage \ + and @md.notes.coverage=~/\S+/ # DublinCore 14 - coverage + @rdf_coverage=%{ dc.coverage="#{@md.notes.coverage}"\n} + content=meta_content_clean(@md.notes.coverage) + @coverage=%{ \n} + end + if defined? @md.notes.relation \ + and @md.notes.relation=~/\S+/ # DublinCore 13 - relation + @rdf_relation=%{ dc.relation="#{@md.notes.relation}"\n} + content=meta_content_clean(@md.notes.relation) + @relation=%{ \n} + end + if defined? @md.notes.type \ + and @md.notes.type # DublinCore 8 - type (genre eg. report, convention etc) + @rdf_type=%{ dc.type="#{@md.notes.type}"\n} + content=meta_content_clean(@md.notes.type) + @type=%{ \n} + end + if defined? @md.notes.format \ + and @md.notes.format=~/\S+/ # DublinCore 9 - format (use your mime type) + @rdf_format=%{ dc.format="#{@md.notes.format}"\n} + content=meta_content_clean(@md.notes.format) + @format=%{ \n} + end + #if defined? @md.identifier.sisupod \ + #and @md.identifier.sisupod=~/\S+/ # DublinCore 10 - identifier (your identifier, could use urn which is free) + # @rdf_identifier=%{ dc.identifier="#{@md.identifier.sisupod}"\n} + # content=meta_content_clean(@md.identifier.sisupod) + # @identifier=%{ \n} + #end + if defined? @md.original.source \ + and @md.original.source=~/\S+/ # DublinCore 11 - source (document source) + @rdf_source=%{ dc.source="#{@md.original.source}"\n} + content=meta_content_clean(@md.original.source) + @source=%{ \n} + end + if defined? @md.title.language \ + and @md.title.language=~/\S+/ # DublinCore 12 - language (English) + @rdf_language=%{ dc.language="#{@md.title.language}"\n} + @language=%{ \n} + end + if defined? @md.original.language \ + and @md.original.language=~/\S+/ + @rdf_language_original=%{ dc.language="#{@md.original.language}"\n} + @language_original=%{ \n} + end + content=meta_content_clean(@md.keywords) + @keywords=%{ \n} if @md.keywords + end + def meta_content_clean(content='') + content=if not content.nil? + content=content.tr('"',"'"). + gsub(/&/,'&') + else content + end + end + def rdfseg #segHead + rdftoc + end + def comment_xml(extra='') + generator="Generated by: #{@md.project_details.project} #{@md.project_details.version} of #{@md.project_details.date_stamp} (#{@md.project_details.date})" if @md.project_details.version + lastdone="Last Generated on: #{Time.now}" + rubyv="Ruby version: #{@md.ruby_version}" + sc=if @md.sc_info + "Source file: #{@md.sc_filename} version: #{@md.sc_number} of: #{@md.sc_date}" + else '' + end + if extra.empty? +< +WOK + else +< +WOK + end + end + def comment_xml_sax + desc='SiSU XML, SAX type representation' + comment_xml(desc) + end + def comment_xml_node + desc='SiSU XML, Node type representation' + comment_xml(desc) + end + def comment_xml_dom + desc='SiSU XML, DOM type representation' + comment_xml(desc) + end + def metatag_html #values strung together, because some empty, and resulting output (line breaks) is much better +<> +module SiSU_Tables + class Table #_xml + @@tablehead=0 + @@tablefoot=[] #watch #bug??? #check was @@tablefoot + def initialize(one,ocn='') + @one,@parablock,@ocn=one,one,ocn + end + def table_split #% used but, no longer operational, revisit + @new_content=[] + @one.split(/\n/).each do |parablock| + table=TableXML.new("#{parablock}\n") + @new_content << table.table + end + @new_content.join + end + end + class TableXML /,1] + @@tablefoot << m if m + @parablock=@parablock.gsub(//,'') + @@tablehead=1 if @parablock =~/#{Mx[:gr_o]}Th#{Mx[:tc_p]}/u + if @parablock =~/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}/u + @parablock=@parablock.gsub(/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}.+?#{Mx[:tc_p]}~(\d+);\w\d+;\w\d+#{Mx[:gr_c]}/u, + %{\n#{@ocn}
    }) + end + if @parablock =~/#{Mx[:gr_o]}TZ#{Mx[:gr_c]}/ + tablefoot=[] + @@tablefoot.each {|x| tablefoot << ''} + @@tablefoot=[] + end + if @@tablehead==1 + if @parablock =~/#{Mx[:tc_p]}#{Mx[:tc_p]}/u + @parablock=@parablock.gsub(/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u, + %{ + \n") + @@tablehead=0 + end + @parablock + else + @parablock=@parablock.gsub(/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u, + %{ + + \n\n") + end + @parablock + end + end + class TableXMLdocbook + @@tablehead=0 + @@tablefoot=[] #watch + def initialize(table,id='') + @table_obj,@id=table,id + end + def spaces + Ax[:spaces] + end + def table + table_obj=@table_obj + if table_obj.obj !~/^/,'
    ') + trc <<= if table_obj.head_ and nr==0 + %{#{spaces*6}#{c}\n} + else %{#{spaces*6}#{c}\n} + end + nc+=1 + end + trc=(trc.is_a?(Array)) ? trc.flatten.join : trc + trc = if table_obj.head_ and nr==0 + "#{spaces*4}
    \n#{spaces*5}\n#{trc}#{spaces*5}\n#{spaces*4}\n#{spaces*4}\n" + else + "#{spaces*5}\n#{trc}#{spaces*5}\n" + end + nr+=1 + table_rows << trc + end + tbody_close=if table_obj.head_ + "#{spaces*4}" + else '' + end + table_rows=table_rows.flatten.join + # include table_id
    }). + gsub(/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u, + %{}). + gsub(/#{Mx[:tc_c]}/,"\n
    }). + gsub(/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u, + %{ + }). + gsub(/#{Mx[:tc_c]}/,"\n
    + table_obj.obj=%{#{spaces*3} +#{spaces*4}
    +#{spaces*4} +#{table_rows}#{tbody_close} +#{spaces*4} +#{spaces*4}
    +#{spaces*3}
    } + table_obj + end + end + class TableXMLexp +
    ' + end + def margin_numless + '
    ' + end + def table_head(inf) + %{ + + + + " + end + def table + m=@parablock[//,1] + @@tablefoot << m if m + @parablock=@parablock.gsub(//,'') + @@tablehead=1 if @parablock =~/#{Mx[:gr_o]}Th#{Mx[:tc_p]}/u + if @parablock =~/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}.+?#{Mx[:tc_p]}~(\d+);\w\d+;\w\d+#{Mx[:gr_c]}/u + @parablock=table_head($1) + end + if @parablock =~/#{Mx[:gr_o]}TZ#{Mx[:gr_c]}/ + tablefoot=[] + @@tablefoot.each {|x| tablefoot << ''} + @@tablefoot=[] + if @parablock =~/#{Mx[:gr_o]}TZ#{Mx[:gr_c]}/ + @parablock=table_end + end + end + if @@tablehead==1 + if @parablock =~/#{Mx[:tc_p]}#{Mx[:tc_p]}/u + if @parablock =~/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u + @parablock=@parablock.gsub(/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,table_row($1,true)) + end + if @parablock =~/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u + @parablock=@parablock.gsub(/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,table_cell($1,true)) + end + if @parablock =~/#{Mx[:tc_c]}/ + @parablock=@parablock.gsub(/#{Mx[:tc_c]}/,table_row_close(true)) + end + @@tablehead=0 + end + @parablock + else + if @parablock =~/^#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u + @parablock=@parablock.gsub(/^#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,table_row($1)) + end + if @parablock =~/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u + @parablock=@parablock.gsub(/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,table_cell($1)) + end + if @parablock =~/#{Mx[:tc_c]}/ + @parablock=@parablock.gsub(/#{Mx[:tc_c]}/,table_row_close) + end + @parablock + end + @parablock + end + end +end +__END__ +#+END_SRC + +** xml_format.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_format.rb" +# <> +module SiSU_XML_Format + require_relative 'dp' # dp.rb + require_relative 'xml_parts' # xml_parts.rb + include SiSU_Param + class ParagraphNumber + def initialize(md,paranum) + @md=md + @paranum=(paranum ? (/(\d+)/m.match(paranum)[1]) : nil) + end + def display + p_num_display=if @paranum + @paranum.gsub(/(\d+)/, + '' + + '  \1') + else '' + end + p_num_display + end + def name + p_num_name=@paranum.gsub(/(\d+)/,'') + p_num_name + end + def goto + p_num_goto=@paranum.gsub(/(\d+)/,'') + p_num_goto + end + end + class HeadInformation + include SiSU_Parts_XML + def initialize #dc rdf + @full_title=@subtitle=@author=@subject=@description=@publisher=@contributor=@date=@type=@format=@identifier=@source=@language=@relation=@coverage=@rights=@copyright=@owner=@keywords='' + @md=@@md + # DublinCore 1 - title + @rdfurl=%{ rdf:about="http://www.jus.uio.no/lm/toc"\n} + if defined? @md.title.full \ + and @md.title.full # DublinCore 1 - title + @rdf_title=%{ dc.title="#{seg_name}#{@md.title.full}"\n} + @full_title=%{\n} + end + if defined? @md.creator.author \ + and @md.creator.author # DublinCore 2 - creator/author (author) + @rdf_author=%{ dc.author="#{@md.creator.author}"\n} + @author=%{\n} + end + if defined? @md.classify.subject \ + and @md.classify.subject=~/\S+/ # DublinCore 3 - subject (us library of congress, eric or udc, or schema???) + @rdf_subject=%{ dc.subject="#{@md.classify.subject}"\n} + @subject=%{\n} + end + if defined? @md.notes.description \ + and @md.notes.description=~/\S+/ # DublinCore 4 - description + @rdf_description=%{ dc.description="#{@md.notes.description}"\n} + @description=%{\n} + end + if defined? @md.publisher \ + and @md.publisher=~/\S+/ # DublinCore 5 - publisher (current copy published by) + @rdf_publisher=%{ dc.publisher="#{@md.publisher}"\n} + @publisher=%{\n} + end + if defined? @md.creator.contributor \ + and @md.creator.contributor=~/\S+/ # DublinCore 6 - contributor + @rdf_contributor=%{ dc.contributor="#{@md.creator.contributor}"\n} + @contributor=%{\n} + end + if defined? @md.date.published \ + and @md.date.published # DublinCore 7 - date year-mm-dd + @rdf_date=%{ dc.date="#{@md.date.published}"\n} + @date=%{\n} + end + if defined? @md.date.created \ + and @md.date.created # DublinCore 7 - date.created year-mm-dd + @rdf_date_created=%{ dc.date.created="#{@md.date.created}"\n} + @date_created=%{\n} + end + if defined? @md.date.issued \ + and @md.date.issued # DublinCore 7 - date.issued year-mm-dd + @rdf_date_issued=%{ dc.date.issued="#{@md.date.issued}"\n} + @date_issued=%{\n} + end + if defined? @md.date.available \ + and @md.date.available # DublinCore 7 - date.available year-mm-dd + @rdf_date_available=%{ dc.date.available="#{@md.date.available}"\n} + @date_available=%{\n} + end + if defined? @md.date.valid \ + and @md.date.valid # DublinCore 7 - date.valid year-mm-dd + @rdf_date_valid=%{ dc.date.valid="#{@md.date.valid}"\n} + @date_valid=%{\n} + end + if defined? @md.date.modified \ + and @md.date.modified # DublinCore 7 - date.modified year-mm-dd + @rdf_date_modified=%{ dc.date.modified="#{@md.date.modified}"\n} + @date_modified=%{\n} + end + if defined? @md.notes.coverage \ + and @md.notes.coverage=~/\S+/ # DublinCore 14 - coverage + @rdf_coverage=%{ dc.coverage="#{@md.notes.coverage}"\n} + @coverage=%{\n} + end + if defined? @md.notes.relation \ + and @md.notes.relation=~/\S+/ # DublinCore 13 - relation + @rdf_relation=%{ dc.relation="#{@md.notes.relation}"\n} + @relation=%{\n} + end + if defined? @md.notes.type \ + and @md.notes.type # DublinCore 8 - type (genre eg. report, convention etc) + @rdf_type=%{ dc.type="#{@md.notes.type}"\n} + @type=%{\n} + end + if defined? @md.notes.format \ + and @md.notes.format=~/\S+/ # DublinCore 9 - format (use your mime type) + @rdf_format=%{ dc.format="#{@md.notes.format}"\n} + @format=%{\n} + end + #if defined? @md.identifier.sisupod \ + #and @md.identifier.sisupod=~/\S+/ # DublinCore 10 - identifier (your identifier, could use urn which is free) + # @rdf_identifier=%{ dc.identifier="#{@md.identifier.sisupod}"\n} + # @identifier=%{\n} + #end + if defined? @md.original.source \ + and @md.original.source=~/\S+/ # DublinCore 11 - source (document source) + @rdf_source=%{ dc.source="#{@md.original.source}"\n} + @source=%{\n} + end + if defined? @md.original.language \ + and @md.original.language=~/\S+/ # DublinCore 12 - language (English) + @rdf_language=%{ dc.language="#{@md.original.title}"\n} + @language=%{\n} + end + if defined? @md.rights.all \ + and @md.rights.all=~/\S+/ # DublinCore 15 - rights + rights=meta_content_clean(@md.rights.all) + copyright=meta_content_clean(@md.rights.copyright.all) + @rdf_rights=%{ dc.rights="#{rights}"\n} + @rights=%{\n} + end + @copyright=%{\n} \ + if @md.rights.copyright.all # possibly redundant see dc.rights + @owner=%{\n} if @md.owner + @keywords=%{\n} if @md.keywords + @index='index' + end + def meta_content_clean(content='') + content=if not content.nil? + content=content.tr('"',"'"). + gsub(/&/,'&') + content=SiSU_XML_Munge::Trans.new(@md).char_enc.utf8(content) + else content + end + end + def table_close + '
    + + +} + end + def table_end(tablefoot='') + %{
    #{the_margin_numless}#{the_margin_numless} #{the_table_close} +#{tablefoot}} + end + def table_row(inf,h=false) + bold=h ? '' : '' + %{ +
    #{bold}} + end + def table_cell(inf,h=false) + if h; %{} + else %{} + end + end + def table_row_close(h=false) + bold_close=h ? '' : '' + "#{bold_close}
    ' + end + def toc_head + < + +#{@md.html_title} + + + +#{@full_title} +#{@author} +#{@subject} +#{@description} +#{@publisher} +#{@contributor} +#{@date} +#{@date_created} +#{@date_issued} +#{@date_available} +#{@date_valid} +#{@date_modified} +#{@type} +#{@format} +#{@identifier} +#{@source} +#{@language} +#{@relation} +#{@coverage} +#{@rights} +#{@copyright} +#{@owner} +#{@png.ico} +#{@txt.generator} +#{@js.head} +\n +#{@color.body} +#{@font.css_table_file} + + + +#{@js.top} +WOK + end + end + class FormatTextObject + include SiSU_Parts_XML + attr_accessor :md,:txt,:format,:paranum,:p_num,:para_id,:headname,:font + def initialize(md,dob) + @md,@dob=md,dob + if @dob[:ocn]=~/\d+/ + @paranum=/(\d+)/m.match(@dob[:ocn])[1] + @headname='' + @headname=%{} if defined? dob.name + @p_num=SiSU_XML_Format::ParagraphNumber.new(@md,dob.ocn) + end + rgx=/^[1-6-]~{1,2}/ #watch + @lnk_url=@lnk_url.gsub(rgx,'') if @lnk_url =~rgx + rgx=/~\{\d+\s+(.+?)\}~/ + @lnk_url=@lnk_url.gsub(rgx,'\1') if @lnk_url =~rgx + end + def scr_endnote_body + "#{@txt} " + end + end + class FormatScroll < FormatTextObject + def initialize(md,dob) + super(md,dob) + end + def heading_body + %{

    #{@p_num.name}#{@headname}#{@dob.obj}

    } + + %{

      #{@dob.ocn}

    \n} + end + def heading_body0 + %{

    #{@p_num.name}#{@headname}#{@dob.obj}

    } + + %{

      #{@dob.ocn}

    \n} + end + def heading_body1 + %{

    #{@p_num.name}#{@headname}#{@dob.obj}

    } + + %{

      #{@dob.ocn}

    \n} + end + def heading_body2 + %{

    #{@p_num.name}#{@headname}#{@dob.obj}

    } + + %{

      #{@dob.ocn}

    \n} + end + def heading_body3 + %{

    #{@p_num.name}#{@headname}#{@dob.obj}

    } + + %{

      #{@dob.ocn}

    \n} + end + def heading_body4 + %{
    #{@p_num.name}#{@headname}#{@dob.obj}
    } + + %{

      #{@dob.ocn}

    \n} + end + def heading_body5 + %{
    #{@p_num.name}#{@headname}#{@dob.obj}
    } + + %{

      #{@dob.ocn}

    \n} + end + def heading_body6 + %{#{@p_num.name}#{@headname}#{@dob.obj}} + + %{

      #{@dob.ocn}

    \n} + end + end + class ParagraphNumber + def initialize(md,ocn) + @md,@ocn=md,ocn.to_s + @ocn ||='' + end + def ocn_display + @make=SiSU_Env::ProcessingSettings.new(@md) + if @make.build.ocn? + ocn_class='ocn' + if @ocn.to_i==0 + @ocn.gsub(/^(\d+|)$/, + %{}) + else + @ocn.gsub(/^(\d+|)$/, + %{}) + end + else + ocn_class='ocn_off' + @ocn.gsub(/^(\d+|)$/, + %{}) + end + end + def name + %{} + end + def id #w3c? "tidy" complains about numbers as identifiers ! annoying + %{id="o#{@ocn}"} + end + def goto + %{} + end + end + class HeadInformation + include SiSU_Parts_XML + attr_reader :md,:sfx,:pdf,:rdf,:vz + def initialize(md) + @md=md + @rdf=SiSU_XML_Tags::RDF.new(md) + # DublinCore 1 - title + @stylesheet=SiSU_Style::CSS_HeadInfo.new(md).stylesheet + @seg_name_html=(SiSU_HTML::Source::Seg.new.seg_name_html || []) + @seg_name_html_tracker=(SiSU_HTML::Source::Seg.new.seg_name_html_tracker || []) + @index='index' + @metalink='#metadata' + @tocband_scroll,@tocband_segtoc=nil,nil + end + def doc_type + %{ +\n} + end + def table_close + %{ +#{the_table_close}} + end + def html_close #moved + %{ +} + end + end + class XML + end + class FormatTextObject + include SiSU_Parts_XML + attr_accessor :md,:dob,:txt,:ocn,:format,:table,:link,:linkname,:paranum,:p_num,:headname,:banner,:url + def initialize(md,t_o) + @md,@t_o=md,t_o + if t_o.is_a?(Hash) + @txt =t_o[:txt] || nil + @ocn =t_o[:ocn] || nil + @ocn_display =t_o[:ocn_display] || nil + @headname =t_o[:headname] || nil + @trailer =t_o[:trailer] || nil + @endnote_part_a =t_o[:endnote_part_a] || nil + @endnote_part_b =t_o[:endnote_part_b] || nil + @lnk_url =t_o[:lnk_url] || nil + @lnk_txt =t_o[:lnk_txt] || nil + @format =t_o[:format] || nil + @target =t_o[:target] || nil #occasionally passed but not used + elsif t_o.class.inspect =~/Object/ + @txt=if defined? t_o.obj; t_o.obj + else nil + end + @ocn=if defined? t_o.ocn; t_o.ocn.to_s + else nil + end + @headname=if t_o.is==:heading and defined? t_o.name; t_o.name + else nil + end + else + if @md.opt.act[:maintenance][:set]==:on + p __FILE__ << ':' << __LINE__.to_s + p t_o.class + p caller + end + end + if defined? @t_o.ocn + ocn=((@t_o.ocn.to_s =~/\d+/) ? @t_o.ocn : nil) + @p_num=ParagraphNumber.new(@md,ocn) + end + if @format and not @format.empty? + if @format=~/^\d:(\S+)/ #need more reliable marker #if @format =~ /#{Rx[:lv]}/ + headname=$1 #format[/\d~(\S+)/m,1] + @headname=if headname =~/^[a-zA-Z]/; %{} #consider: h_#{headname} + else %{} + end + end + end + @dob=t_o if defined? t_o.is + end + def endnote_body + %{ +

    + #{@txt} +

    +} + end + def endnote_body_indent + %{ +

    + #{@txt} +

    +} + end + def no_paranum + %{ +
    + +

    + #{@txt} +

    +
    +} + end + def para_form_css(tag,attrib) # regular paragraphs shaped here + ul=ulc='' + ul,ulc="
      \n ","\n
    " if @tag =~/li/ + %{ +
    + #{@p_num.ocn_display} + #{ul}<#{tag} class="#{attrib}" #{@p_num.id}> + #{@txt} + #{ulc} +
    +} + end + def para + para_form_css('p','norm') + end + def code + para_form_css('p','code') + end + def center + para_form_css('p','center') + end + def bold + para_form_css('p','bold') + end + def bullet + para_form_css('li','bullet') + end + def format(tag,attrib) + para_form_css(tag,attrib) + end + def heading_normal(tag,attrib) + %{ +
    + #{@p_num.ocn_display} + <#{tag} class="#{attrib}" #{@p_num.id}>#{@p_num.name} + #{@headname}#{@txt} + +
    +} + end + def heading_body + heading_normal('p','norm') + end + def heading_body0 + heading_normal('h1','norm') + end + def heading_body1 + heading_normal('h1','norm') + end + def heading_body2 + heading_normal('h2','norm') + end + def heading_body3 + heading_normal('h3','norm') + end + def heading_body4 + heading_normal('h4','norm') + end + def heading_body5 + heading_normal('h5','norm') + end + def heading_body6 + heading_normal('h6','norm') + end + def heading_body7 + heading_normal('h7','norm') + end + def title_header(tag,attrib) + %{ +
    +<#{tag} class="#{attrib}"> + #{@txt} + +
    +} + end + def title_header1 + title_header('h1','tiny') + end + def title_header2 + title_header('h2','tiny') + end + def title_header3 + title_header('h3','tiny') + end + def title_header4 + '' + end + def title_header4_old + %{ +
    + + +
    +} + end + def dl #check :trailer + "
    #{@txt} #{@trailer}
    " + end + def table_css_end # + '
    +

    + ' + end + def gsub_body +#fix + @txt=case @txt + when /^\s*\((i+|iv|v|vi+|ix|x|xi+)\)/ + @txt.gsub(/^\((i+|iv|v|vi+|ix|x|xi+)\)/,'(\1)'). + gsub(/^(#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]})\s*\((i+|iv|v|vi+|ix|x|xi+)\)/,'\1(\2)') + when /^\s*\(?(\d|[a-z])+\)/ + @txt.gsub(/^\((\d+|[a-z])+\)/,'(\1)'). + gsub(/^(#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]})\s*\((\d+|[a-z])+\)/,'\1(\2)') + when /^\s*\d{1,3}\.\s/ + @txt.gsub(/^\s*(\d+\.)/,'\1') + when /^\s*[A-Z]\.\s/ + @txt.gsub(/^\s*([A-Z]\.)/,'\1') + else @txt + end + end + def bold_para + %{#{the_margin.txt_0} +

    + #{@txt} +

    +#{the_margin.num_css} +     +#{the_table_close}} + end + def bold_header + @txt=@txt.gsub(/[1-9]~(\S+)/,''). + gsub(/[1-9]~/,'') + %{

    + #{@txt} +

    +#{the_margin.num_css} +     +#{the_table_close}} + end + def toc_head_copy_at + %{

    #{@txt}

    \n} + end + def center + %{

    #{@txt}

    \n} + end + def bold + %{

    #{@txt}

    \n} + end + def center_bold + %{

    #{@txt}

    \n} + end + end + class FormatScroll < FormatTextObject + include SiSU_Parts_XML + def initialize(md,txt) + super(md,txt) + end + end + class FormatSeg < FormatTextObject + def initialize(md,txt) + super(md,txt) + end + def navigation_toc_lev1_advert + %{#{@banner.home_button}\n +
    +#{@txt} +#{@two} +

    } + end + def navigation_toc_lev1 + %{#{@banner.nav_toc}} + end + def navigation_toc_lev2 #change bold use css + %{

    + + +
    + + + #{@txt} + +

    +#{the_table_close}} + end + def navigation_toc_lev3 #change bold use css + %{

    + + +
    + + + #{@txt} + +

    +#{the_table_close}} + end + def navigation_toc_lev4 + %{ + +
    + +

    + #{@txt} +

    +#{the_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.empty? #you may wish to reconsider, sends to 'doc' where no segment info # Sfx[:html] or Sfx[:xhtml] ? + %{ +

    + #{@endnote_part_a}#{fn}#{@md.lang_code_insert}#{Sfx[:html]}#{@endnote_part_b} +

    +} + end + def subtoc_lev(tag,attrib) + txt=if @txt \ + and @txt =~/<\/?i>|/mi + @txt.gsub(/<\/?i>|/mi,'') #removes name markers from subtoc, go directly to substantive text + else @txt + end + note='' + if txt =~/(#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}\s*)/m + note=$1 + note=note.gsub(/[\n\s]+/m,' ') + txt=txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' '). + gsub(/ \d+<\/sup> /m,'') + end + %{<#{tag} class="#{attrib}"> + #{txt} #{note} + } + end + def subtoc_lev5 + subtoc_lev('h5','subtoc') if @txt + end + def subtoc_lev6 + subtoc_lev('h6','subtoc') if @txt + end + def subtoc_lev7 + subtoc_lev('h7','subtoc') if @txt + end + #% para sisu + def header_sub(tag,attrib) + @txt=@txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ') + %{ +
    + #{@p_num.ocn_display} + <#{tag} class="#{attrib}" #{@p_num.id}>#{@p_num.name} #{@headname} + #{@txt} + +
    +} + end + def header4 + %{ +
    + #{@p_num.ocn_display} +

    #{@p_num.name} + #{@t_o[:format]} + #{@txt} +

    +
    +} + end + def header5 + header_sub('p','bold') + end + def header6 + header_sub('p','bold') + end + def header7 + header_sub('p','bold') + end + def navigation_header4 + %{ + +
    +

    + #{@txt} +

    +#{the_table_close}} + end + def navigation_header5 + %{

    + #{@txt} +

    } + end + def navigation_header6 + %{

    + #{@txt} +

    } + end + def navigation_header7 + %{

    + #{@txt} +

    } + end + def navigation_center + "
    #{@txt}
    " + end + end + class FormatToc < FormatTextObject + def initialize(md,txt) + super(md,txt) + end + def links_guide + %{
  • + + #{@lnk_txt} + +
  • +} + end + def lev(tag,attrib) + if @txt + %{<#{tag} class="#{attrib}"> + #{@txt} + +} + else '' + end + end + def lev1 + lev('h1','toc') + end + def lev2 + lev('h2','toc') + end + def lev3 + lev('h3','toc') + end + def lev4 + lev('h4','toc') + end + def lev5 + lev('h5','toc') + end + def lev6 + lev('h6','toc') + end + def lev7 + lev('h7','toc') + #lev('b','toc') + end + 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_lev7 + lev('h7','minitoc') + end + def mini_lev0 #docinfo + lev('h0','minitoc') + end + def mini_tail + %{ +

    + Manifest (alternative outputs) +

    +} + end + def mini_concord_tail + %{ +

    + Concordance (wordlist) +

    +

    + Manifest (alternative outputs) +

    +} + end + end + class XML + end +end +__END__ +,** Notes: tidy -xml index.xml >> index.tidy +#+END_SRC + +** xml_md_oai_pmh_dc.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_md_oai_pmh_dc.rb" +# <> +module SiSU_XML_Metadata + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'dp' # dp.rb + include SiSU_Param + class OAI_PMH + def initialize(opt) + @md=SiSU_Param::Parameters.new(opt).get + @oai_pmh=[] + end + def read + output + end + def pre +< + +WOK + end + def body + if defined? @md.title.full \ + and @md.title.full=~/\S+/ # DublinCore 1 - title + @oai_pmh << %{ #{@md.title.full}\n} + end + if defined? @md.creator.author \ + and @md.creator.author=~/\S+/ # DublinCore 2 - creator/author (author) + txt=meta_content_clean(@md.creator.author) + @oai_pmh << %{ #{txt}\n} + end + if defined? @md.classify.subject \ + and @md.classify.subject=~/\S+/ # DublinCore 3 - subject (us library of congress, eric or udc, or schema???) + txt=meta_content_clean(@md.classify.subject) + @oai_pmh << %{ #{txt}\n} + end + if defined? @md.classify.keywords \ + and @md.classify.keywords=~/\S+/ + txt=meta_content_clean(@md.classify.keywords) + @oai_pmh << %{ #{txt}\n} + end + if @md.publisher # DublinCore 5 - publisher (current copy published by) + txt=meta_content_clean(@md.publisher) + @oai_pmh << %{ #{txt}\n} + end + if defined? @md.creator.contributor \ + and @md.creator.contributor=~/\S+/ # DublinCore 6 - contributor + txt=meta_content_clean(@md.creator.contributor) + @oai_pmh << %{ #{txt}\n} + end + if defined? @md.date.published \ + and @md.date.published=~/\S+/ # DublinCore 7 - date year-mm-dd + @oai_pmh << %{ #{@md.date.published}\n} + end + if defined? @md.date.created \ + and @md.date.created=~/\S+/ # DublinCore 7 - date.created + @oai_pmh << %{ #{@md.date.created}\n} + end + if defined? @md.date.issued \ + and @md.date.issued=~/\S+/ # DublinCore 7 - date.issued + @oai_pmh << %{ #{@md.date.issued}\n} + end + if defined? @md.date.available \ + and @md.date.available=~/\S+/ # DublinCore 7 - date.available + @oai_pmh << %{ #{@md.date.available}\n} + end + if defined? @md.date.valid \ + and @md.date.valid=~/\S+/ # DublinCore 7 - date.valid + @oai_pmh << %{ #{@md.date.valid}\n} + end + if defined? @md.date.modified \ + and @md.date.modified=~/\S+/ # DublinCore 7 - date.modified + @oai_pmh << %{ #{@md.date.modified}\n} + end + if defined? @md.notes.description \ + and @md.notes.description=~/\S+/ # DublinCore 4 - description + txt=meta_content_clean(@md.notes.description) + @oai_pmh << %{ #{txt}\n} + end + if defined? @md.notes.coverage \ + and @md.notes.coverage=~/\S+/ # DublinCore 14 - coverage + txt=meta_content_clean(@md.notes.coverage) + @oai_pmh << %{ #{txt}\n} + end + if defined? @md.notes.relation \ + and @md.notes.relation=~/\S+/ # DublinCore 13 - relation + txt=meta_content_clean(@md.notes.relation) + @oai_pmh << %{ #{txt}\n} + end + if defined? @md.notes.type \ + and @md.notes.type=~/\S+/ # DublinCore 8 - type + txt=meta_content_clean(@md.notes.type) + @oai_pmh << %{ #{txt}\n} + end + if defined? @md.notes.format \ + and @md.notes.format=~/\S+/ # DublinCore 9 - format + txt=meta_content_clean(@md.notes.format) + @oai_pmh << %{ #{txt}\n} + end + #if defined? @md.identifier.sisupod \ + #and @md.identifier.sisupod=~/\S+/ # DublinCore 10 - identifier + # txt=meta_content_clean(@md.identifier.sisupod) + # @oai_pmh << %{ #{txt}\n} + #end + if defined? @md.original.source \ + and @md.original.source=~/\S+/ # DublinCore 11 - source + txt=meta_content_clean(@md.original.source) + @oai_pmh << %{ #{txt}\n} + end + if defined? @md.title.language \ + and @md.title.language=~/\S+/ # DublinCore 12 - language (English) + @oai_pmh << %{ #{@md.title.language}\n} + end + if defined? @md.original.language \ + and @md.original.language=~/\S+/ + @oai_pmh << %{ #{@md.original.language}\n} + end + if defined? @md.rights.all \ + and @md.rights.all=~/\S+/ # DublinCore 15 - rights + txt=meta_content_clean(@md.rights.all) + @oai_pmh << %{ #{txt}\n} + end + @oai_pmh + end + def meta_content_clean(content='') + unless content.nil? + content=content.tr('"',"'") + end + content + end + def post + '' + end + def output + SiSU_Env::FileOp.new(@md).mkdir + oai_pmh=SiSU_Env::FileOp.new(@md,@md.fn[:oai_pmh]).mkfile #implement in param + oai_pmh << pre + body.each do |x| + oai_pmh << x + end + oai_pmh << post + end + end +end +__END__ +http://www.openarchives.org/pmh/ +http://www.openarchives.org/OAI/2.0/openarchivesprotocol.htm#dublincore +http://es.dublincore.org/documents/usageguide/elements.shtml +http://dublincore.org/documents/dces/ +see also http://dublincore.org/documents/dcmes-xml/ +#http://www.openarchives.org/OAI/2.0/openarchivesprotocol.htm#dublincore +#sample implementation, e.g. 2 + + + Grassmann's space analysis + Hyde, E. W. (Edward Wyllys) + LCSH:Ausdehnungslehre; LCCN QA205.H99 + J. Wiley & Sons + Created: 1906; Available: 1991 + text + http://resolver.library.cornell.edu/math/1796949 + + english + Public Domain + +#+END_SRC + +** xml_parts.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_parts.rb" +# <> +module SiSU_Parts_XML + require_relative 'generic_parts' # generic_parts.rb + include SiSU_Parts_Generic + def the_line_break + '
    ' + end + def the_table_close + '
    ' + end + def the_url_decoration + def xml_open #'<' + Dx[:url_o] + end + def xml_close #'>' + Dx[:url_c] + end + def txt_open + '<' + end + def txt_close + '>' + end + self + end + def the_color + def white + '#ffffff' + end + def black + '#000000' + end + def grey_pale + '#eeeeee' + end + def grey_medium + '#cccccc' + end + def grey + '#999999' + end + def blue_ink + '#003399' + end + def blue_tinge + '#e3ecef' + end + def yellow_light + '#fff3b6' + end + def table1 + 'ffffcc' + end + def table2 + 'c0d0f0' + end + def band1 + %{"#{white}"} + end + def band2 + %{"#{white}"} + end + self + end + def the_png + def _url_path_image_base #used for html image display + "#{Xx[:html_relative2]}_sisu/image" + end + def ico + %{ } + end + def png_home + %{#{the_text.home} -->} + end + def png_home_button + rel=@dir.path_rel_links.html_scroll_2 + %{#{the_text.home} -->} + end + self + end + def the_font + def set_fonts + 'verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman' + #'verdana, arial, georgia, tahoma, sans-serif, helvetica, "times new roman", times, roman' + end + def set_face + %{face="#{set_fonts}"} + end + #def set_color + # 'color="#000000"' + #end + #def set_size_endnote + # 'size="3"' + #end + #def set_small + # 'size="3"' + #end + #def set_tiny + # 'size="2"' + #end + #def paragraph_font_tiny + # %{} + #end + #def paragraph_font_small + # %{} + #end + self + end + def the_banner + def home_button_only + %{ + #{the_png.png_home_button} + } + end + def banner_band + %{ + +
    + + #{the_png.png_home} + + +#{the_table_close}} + end + self + end +end +module SiSU_Proj_XML + require_relative 'html_parts' # html_parts.rb + require_relative 'se' # se.rb + include SiSU_Env + class Bits < SiSU_Proj_HTML::Bits + end +end +__END__ +#+END_SRC + +** xml_persist.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_persist.rb" +# <> +module SiSU_XML_Persist + class Persist + @@persist=nil + attr_accessor :head,:toc,:body,:tail,:open,:close,:sc,:endnotes,:book_idx,:metadata + #attr_accessor :head,:body,:tail,:open,:close,:sc +#@@odf={ body: [], head: [], toc: [], metadata: [], tail: [], book_idx: [], endnotes: [] } + def initialize(args=nil) + @@persist=args=(args ? args : (@@persist || persist_init_hash_values)) + @head=args[:head] + @toc=args[:toc] + @body=args[:body] + @tail=args[:tail] + @open=args[:open] + @close=args[:close] + @sc=args[:sc] + @endnotes=args[:endnotes] + @book_idx=args[:book_idx] + @metadata=args[:metadata] + end + def head + @head + end + def toc + @toc + end + def body + @body + end + def tail + @tail + end + def open + @open + end + def close + @close + end + def sc + @sc + end + def endnotes + @endnotes + end + def book_idx + @book_idx + end + def metadata + @metadata + end + def persist_init_hash_values + { + head: [], + toc: [], + body: [], + tail: [], + open: [], + close: [], + sc: [], + endnotes: [], + book_idx: [], + metadata: [], + } + end + def persist_init + @@persist=nil + Persist.new(persist_init_hash_values) + end + end +end +__END__ +#+END_SRC + +** xml_scaffold_structure_collapsed.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_scaffold_structure_collapsed.rb" +# <> +module SiSU_XML_Scaffold_Structure_Collapse + require_relative 'se_hub_particulars' # se_hub_particulars.rb + include SiSU_Particulars + require_relative 'ao' # ao.rb + require_relative 'se' # se.rb + include SiSU_Env + class Source + def initialize(opt) + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + end + def spaces + Ax[:spaces] + end + def read + begin + @md,@ao_array=@particulars.md,@particulars.ao_array + SiSU_XML_Scaffold_Structure_Collapse::Source::Scroll.new(@ao_array,@md).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + private + class Scroll + def collapsed + [ '0', + '1', + '2', + '3', + '4', + '5', + '6' + ] + end + def docbook + end + def fictionbook + end + self + end + def output(o,lev=nil,comment='') + puts lev == (0..6) \ + ? "#{spaces*lev}<#{lev}>[#{o.ocn}] #{o.ln} #{o.obj}#{comment}" + : "<#{lev}>[#{o.ocn}] #{o.ln} #{o.obj}#{comment}" + end + def structure_collapsed(data) + puts "\ncollapsed structure, heading outline --->\n\n" + data.each_with_index do |o,i| + if (o.is ==:heading || o.is ==:heading_insert) + output(o,o.lc) + end + end + end + def structure_build_collapsed(data) + @s=tags.collapsed + puts "\nXML [#{@t} type] structure outline --->\n\n" + h=[0,false,false,false] + puts "<#{@s[0]}>" + data.each_with_index do |o,i| + if (o.is ==:heading || o.is ==:heading_insert) + lev=o.lc + structure_build_tag_close(lev,h) + puts "#{spaces*lev}<#{@s[lev]}>\n#{spaces*lev} [#{o.ocn}] #{lev} {#{o.node}}" + h[0]=lev + end + end + structure_build_tag_close(0,h) + end + def structure_build_tag_close(lev,h) + case h[0] + when 1 + puts "#{spaces*1}" if (lev <= 1) + puts "" if (lev==0) + when 2 + puts "#{spaces*2}" if (lev <= 2) + puts "#{spaces*1}" if (lev <= 1) + puts "" if (lev==0) + when 3 + puts "#{spaces*3}" if (lev <= 3) + puts "#{spaces*2}" if (lev <= 2) + puts "#{spaces*1}" if (lev <= 1) + puts "" if (lev==0) + when 4 + puts "#{spaces*4}" if (lev <= 4) + puts "#{spaces*3}" if (lev <= 3) + puts "#{spaces*2}" if (lev <= 2) + puts "#{spaces*1}" if (lev <= 1) + puts "" if (lev==0) + when 5 + puts "#{spaces*5}" if (lev <= 5) + puts "#{spaces*4}" if (lev <= 4) + puts "#{spaces*3}" if (lev <= 3) + puts "#{spaces*2}" if (lev <= 2) + puts "#{spaces*1}" if (lev <= 1) + puts "" if (lev==0) + when 6 + puts "#{spaces*6}" if (lev <= 6) + puts "#{spaces*5}" if (lev <= 5) + puts "#{spaces*4}" if (lev <= 4) + puts "#{spaces*3}" if (lev <= 3) + puts "#{spaces*2}" if (lev <= 2) + puts "#{spaces*1}" if (lev <= 1) + puts "" if (lev==0) + end + end + end + end +end +__END__ +@s=['0', + 'A', + 'B', + 'C', + '1', + '2', + '3' +] +#@t='docbook' #@t='fictionbook' +#@s=['book', #@s=['body', +# 'part', # 'section', +# 'subpart N/A', # 'section', +# 'sub-subpart N/A', # 'section', +# 'chapter', # 'section', +# 'sect1', # 'section', +# 'sect2' # 'section' +#] #] +#+END_SRC + +** xml_scaffold_structure_sisu.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_scaffold_structure_sisu.rb" +# <> +module SiSU_XML_Scaffold_Structure_Sisu + require_relative 'se_hub_particulars' # se_hub_particulars.rb + include SiSU_Particulars + require_relative 'ao' # ao.rb + require_relative 'se' # se.rb + include SiSU_Env + class Source + def initialize(opt) + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + end + def spaces + Ax[:spaces] + end + def read + begin + @md,@ao_array=@particulars.md,@particulars.ao_array + SiSU_XML_Scaffold_Structure_Sisu::Source::Scroll.new(@ao_array,@md).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + private + class Scroll \n\n" + data.each_with_index do |o,i| + if (o.is ==:heading || o.is ==:heading_insert) + puts "#{spaces*o.ln}<#{tags.sisu[o.ln]}>[#{o.ocn}] #{o.ln} #{o.obj}" + end + end + end + def output(o,lev=nil,comment='') + puts lev == (0..6) \ + ? "#{spaces*lev}<#{lev}>[#{o.ocn}] #{o.ln} #{o.obj}#{comment}" + : "<#{lev}>[#{o.ocn}] #{o.ln} #{o.obj}#{comment}" + end + def structure_build_sisu(data) + @s=tags.sisu + puts "\nXML [#{@t} type] structure outline --->\n\n" + h=[0,false,false,false] + puts "<#{@s[0]}>" + data.each_with_index do |o,i| + if (o.is ==:heading || o.is ==:heading_insert) + structure_build_tag_close(o.ln,h) + puts "#{spaces*o.ln}<#{@s[o.ln]}>\n#{spaces*o.ln} [#{o.ocn}] #{o.ln} {#{o.node}}" + case o.ln + when 1 + h=[o.ln,true,false,false] + when 2 + h=[o.ln,true,true,false] + when 3 + h=[o.ln,true,true,true] + when 4..6 + h[0]=o.ln + end + end + end + structure_build_tag_close(0,h) + end + def structure_build_tag_close(lev,h) + case h[0] + when 1 + puts "#{spaces*1}" if (lev <= 1) && h[1] + puts "" if (lev==0) + when 2 + puts "#{spaces*2}" if (lev <= 2) && h[2] + puts "#{spaces*1}" if (lev <= 1) && h[1] + puts "" if (lev==0) + when 3 + puts "#{spaces*3}" if (lev <= 3) && h[3] + puts "#{spaces*2}" if (lev <= 2) && h[2] + puts "#{spaces*1}" if (lev <= 1) && h[1] + puts "" if (lev==0) + when 4 + puts "#{spaces*4}" if (lev <= 4) + puts "#{spaces*3}" if (lev <= 3) && h[3] + puts "#{spaces*2}" if (lev <= 2) && h[2] + puts "#{spaces*1}" if (lev <= 1) && h[1] + puts "" if (lev==0) + when 5 + puts "#{spaces*5}" if (lev <= 5) + puts "#{spaces*4}" if (lev <= 4) + puts "#{spaces*3}" if (lev <= 3) && h[3] + puts "#{spaces*2}" if (lev <= 2) && h[2] + puts "#{spaces*1}" if (lev <= 1) && h[1] + puts "" if (lev==0) + when 6 + puts "#{spaces*6}" if (lev <= 6) + puts "#{spaces*5}" if (lev <= 5) + puts "#{spaces*4}" if (lev <= 4) + puts "#{spaces*3}" if (lev <= 3) && h[3] + puts "#{spaces*2}" if (lev <= 2) && h[2] + puts "#{spaces*1}" if (lev <= 1) && h[1] + puts "" if (lev==0) + end + end + end + end +end +__END__ +@s=['0', + 'A', + 'B', + 'C', + '1', + '2', + '3' +] +#@t='docbook' #@t='fictionbook' +#@s=['book', #@s=['body', +# 'part', # 'section', +# 'subpart N/A', # 'section', +# 'sub-subpart N/A', # 'section', +# 'chapter', # 'section', +# 'sect1', # 'section', +# 'sect2' # 'section' +#] #] +#+END_SRC + +* odf +** xml_odf_odt.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_odf_odt.rb" +# <> +module SiSU_XML_ODF_ODT + require_relative 'se_hub_particulars' # se_hub_particulars.rb + include SiSU_Particulars + require_relative 'ao' # ao.rb + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'xml_parts' # xml_parts.rb + require_relative 'xml_odf_odt_format' # xml_odf_odt_format.rb + include SiSU_XML_ODF_ODT_Format + require_relative 'shared_metadata' # shared_metadata.rb + require_relative 'txt_shared' # txt_shared.rb + require_relative 'xml_shared' # xml_shared.rb + include SiSU_XML_Munge + require_relative 'xml_persist' # xml_persist.rb + @@alt_id_count,@@alt_id_count=0,0 + class Source + begin + require 'zlib' + require 'find' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('zlib or find NOT FOUND (LoadError)') + end + def initialize(opt) + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + @@endnotes_para=[] + end + def read + begin + @md,@env,@ao_array=@particulars.md,@particulars.env,@particulars.ao_array + unless @opt.act[:quiet][:set]==:on + tool=(@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? "#{@env.program.odf_viewer} file://#{@md.file.output_path.odt.dir}/#{@md.file.base_filename.odt}" + : "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}" + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Opendocument (ODF:ODT)', + tool + ).green_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Opendocument (ODF:ODT)', + tool + ).green_title_hi + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + @opt.fns, + 'file://' \ + + @md.file.output_path.odt.dir + '/' \ + + @md.file.base_filename.odt + ).flow + end + end + SiSU_XML_ODF_ODT::Source::Scroll.new(@particulars).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + Dir.chdir(@opt.f_pth[:pth]) + end + end + private + class Scroll appropriately within odf, consider + n=n.dup.to_s + if n =~/#{Mx[:br_line]}/ + fix=n.split(/#{Mx[:br_line]}/) #watch #added + fix.each do |x| + if x =~/\S+/ then @n << x + end + end + else @n << n + end + end + end + def odf_book_idx + if @md.book_idx + idx_arr=[] + idx_raw=SiSU_Particulars::CombinedSingleton. + instance.get_idx_raw(@md.opt).raw_idx + idx_raw.each do |x| + x=if x.is_a?(String) + SiSU_XML_ODF_ODT_Format::FormatBookIndex.new(x). + book_idx_bookmark + else nil + end + idx_arr << x.strip if x.is_a?(String) + end + @per.book_idx=idx_arr.join + end + end + def odf_metadata + @per.metadata=SiSU_Metadata::Summary.new(@md). + odf.metadata + end + def odf_tail + manifest="#{@md.file.output_path.manifest.url}/#{@md.file.base_filename.manifest}" + @per.tail << %{Available document outputs:
    <#{manifest}>
    } + @per.tail << %{\nSiSU: <www.jus.uio.no/sisu> and <www.sisudoc.org>} + @per.tail << "\n" + end + def set_bookmark_tag(dob) + SiSU_XML_ODF_ODT_Format::Tags.new.set_bookmark_tag(dob) + end + def heading(dob,p_num) + dob=footnote(dob) + m=/#{$1}/ + breakpage='' + if @md.fns \ + and @md.fns != '' \ + and @md.fns !=@@fns + @@docstart=true + @@fns=@md.fns + end + unless @@docstart + breakpage=if (@md.pagenew || @md.pagebreak) \ + and (@md.pagenew.to_s =~m \ + or @md.pagebreak.to_s =~m) + ' ' + elsif @md.pageline \ + and @md.pageline =~m #fix + else '' + end + end + @@docstart=false + if dob.use_ != :dummy + dob.tmp=dob.obj + dob.obj=%{#{breakpage}} \ + + %{#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}} + else dob.tmp,dob.obj='','' + end + dob + end + def toc(dob,p_num) + hardspace=(dob.lv =~/[A-D]/i) \ + ? '' + : '' + toc_heading=dob.ocn \ + ? (%{} \ + + %{#{dob.tmp}}) + : dob.tmp + dob.obj=%{} \ + + %{#{toc_heading}#{hardspace}} + dob + end + def image_src(i) + if @md.fns =~/\.ss[tm]$/ \ + and FileTest.file?("#{@env.path.image_source_include(@md)}/#{i}") #review + @env.path.image_source_include(@md) + elsif @md.opt.f_pth[:pth] =~/\/\S+?\/sisupod\/\S+?\/sisupod\/doc/ + pt=/(\/\S+?\/sisupod\/\S+?\/sisupod)\/doc/.match(@md.opt.f_pth[:pth])[1] + img_src=pt + '/image' + if FileTest.file?("#{img_src}/#{i}") + img_src + else + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + "ERROR - image:", + %{"#{i}" missing}, + "search locations: #{@env.path.image_source_include_local}," \ + + "#{@env.path.image_source_include_remote} and" \ + + "#{@env.path.image_source_include}" + ).error2 unless @md.opt.act[:quiet][:set]==:on + nil + end + elsif @md.fns =~/\.ss[tm]$/ \ + and FileTest.file?("#{@env.path.image_source_include_local}/#{i}") #review + @env.path.image_source_include_local + elsif @md.fns =~/\.ss[tm]$/ \ + and FileTest.file?("#{@env.path.image_source_sisu_includes(@md)}/#{i}") + @env.path.image_source_sisu_includes(@md) + elsif @md.fns =~/\.-ss[tm]$/ \ + and FileTest.file?("#{@env.path.image_source_include_remote}/#{i}") + @env.path.image_source_include_remote + else + SiSU_Screen::Ansi.new( + @md.opt.act[:color_state][:set], + "ERROR - image:", + %{"#{i}" missing}, + "search locations: " \ + + @env.path.image_source_include_local + ',' \ + + @env.path.image_source_include_remote + 'and' \ + + @env.path.image_source_include \ + + @md.opt.sisu_data_dir? + ).error2 unless @md.opt.act[:quiet][:set]==:on + nil + end + end + def image_odf(img) + # copy image to od image directory (unless exists) + # divide pixel dimension by 37.79485 and retain 3 decimal places + m=img[1] + i=/^(\S+?\.(?:png|jpg|gif))/.match(m).captures.join \ + if m =~/^(\S+?\.(?:png|jpg|gif))/ + c=/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/.match(m).captures.join \ + if m =~/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/ + w,h=/\s(\d+)x(\d+)/.match(m).captures if m =~/\s\d+x\d+/ + w=(w.to_i/37.79485).to_s + h=(h.to_i/37.79485).to_s + h=/([0-9]+\.\d{0,3})/.match(h).captures.join + w=/([0-9]+\.\d{0,3})/.match(w).captures.join + image_source=image_src(i) + if image_source + if FileTest.file?("#{image_source}/#{i}") + FileUtils::cp( + "#{image_source}/#{i}", + "#{@env.processing_path.odt}/Pictures/#{i}" + ) + else STDERR.puts %{\t*WARN* did not find image - "#{image_source}/#{i}" [#{__FILE__}:#{__LINE__}]} + end + end + img=if i.to_s =~/jpg|png|gif/ \ + and h.to_s =~/\d/ \ + and w.to_s =~/\d/ + @@img_count +=1 + %{#{c}} #anchor-type: as-char or paragraph or char or ... + else %{[image omitted]} + end + end + def image(dob) + m=if dob.obj =~/#{Mx[:lnk_o]}[ ]*(.+?)[ ]*#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/ + dob.obj.scan(/(#{Mx[:lnk_o]}[ ]*(.+?)[ ]*#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]})/) + elsif dob.obj =~/#{Mx[:lnk_o]}[ ]*(.+?)[ ]*#{Mx[:lnk_c]}image/ + dob.obj.scan(/(#{Mx[:lnk_o]}[ ]*(.+?)[ ]*#{Mx[:lnk_c]}(image))/) + else nil + end + if m then m.each do |i| + cont,url=i[1],i[2] + cont=cont.gsub(/([)(\]\[])/,"\\\\\\1"). + gsub(/([+?])/,"\\\\\\1") # incorrect handling of + + url=url.gsub(/([+?])/,"\\\\\\1") + dob.obj=dob.obj.sub(/#{Mx[:lnk_o]}[ ]*#{cont}[ ]*#{Mx[:lnk_c]}image/m,image_odf(i)). + sub(/#{Mx[:lnk_o]}[ ]*#{cont}[ ]*#{Mx[:lnk_c]}#{Mx[:url_o]}#{url}#{Mx[:url_c]}/m,image_odf(i)). + sub(/\\([)(\]\[?])/,'\1') #clumsy fix + end + m=nil + end + dob + end + def text_link_odf(txt,url,trail) + txt=txt.gsub(/(\\\+)/,'+') #this is convoluted, and risky :-( + url=url.gsub(/(\\\+)/,'+') #this is convoluted, and risky :-( + map_nametags=SiSU_Particulars::CombinedSingleton. + instance.get_map_nametags(@md).nametags_map + t=case url + when /^https?:/ + %{#{txt.strip}#{trail}} + when /^:/ # site same document collection html link + url=url.gsub(/^:/,"#{@env.url.root}/") + %{#{txt.strip}#{trail}} + when /^\.\.\// # site same document collection html link + url=url.gsub(/^\.\.\//,"#{@env.url.root}/") + %{#{txt.strip}#{trail}} + else # document internal link + if map_nametags[url] \ + and map_nametags[url][:segname] + else p "NOT FOUND name_tags: #{url}" + end + t=map_nametags[url] \ + && map_nametags[url][:segname] \ + ? (%{} \ + + %{#{txt.strip}#{trail}}) + : %{#{txt.strip}#{trail}} + end + t + end + def text_link_odf_bookmark(txt,url,trail) + SiSU_Particulars::CombinedSingleton.instance.get_map_nametags(@md).nametags_map + %{#{txt.strip}#{trail}} + end + def text_link(dob) + m=dob.obj.scan(/(#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]})/) #sort + if m + m.each do |i| + txt,url,trail=i[1],i[2] + txt=txt.gsub(/([)(\]\[])/,"\\\\\\1"). + gsub(/([+?*])/,"\\\\\\1") # problems with + + url=url.gsub(/([+?])/,"\\\\\\1") # problems with + + dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:url_o]}#{url}#{Mx[:url_c]}/m, + text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url + gsub(/\\([)(\]\[?])/,'\1') #clumsy fix + end + m=nil + end + dob + end + def text_link_relative(dob) + m=dob.obj.scan(/(#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:rel_o]}(\S+?)#{Mx[:rel_c]})/) #sort + if m + m.each do |i| + txt,url,trail=i[1],i[2] + txt=txt.gsub(/([)(\]\[])/,"\\\\\\1"). + gsub(/([+?*])/,"\\\\\\1") # problems with + + url=url.gsub(/([+?])/,"\\\\\\1") # problems with + + dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m, + text_link_odf_bookmark(txt,url,trail)). #make sure trailing ']' are not caught in url + gsub(/\\([)(\]\[?])/,'\1') #clumsy fix + end + m=nil + end + dob + end + def text_link_relative_(dob) + m=dob.obj.scan(/(#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:rel_o]}(\S+?)#{Mx[:rel_c]})/) #sort + if m + m.each do |i| + txt,url,trail=i[1],i[2] + txt=txt.gsub(/([)(\]\[])/,"\\\\\\1") + dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m, + text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url + gsub(/\\([)(\]\[?])/,'\1') #clumsy fix + end + m=nil + end + dob + end + def normal(dob,p_num) #P1 - P3 + dob=footnote(dob) + dob.obj=dob.obj.gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/, + '\1'). #http ftp matches escaped, no decoration + gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/, + %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}). + gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, + %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}) #http ftp matches with decoration + dob.obj= if dob.is==:para \ + and dob.indent.to_s =~/[0-9]/ \ + and dob.indent == dob.hang + %{#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}} + elsif dob.is==:para \ + and dob.hang.to_s =~/[0-9]/ \ + and dob.indent != dob.hang + %{#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}} + else %{#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}} + end + dob + end + def fontface(dob) + end + def footnote_urls(str) + str=str.gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, + %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}) + str=text_link(str) if str =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/ + str=text_link_relative(str) if str =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/ + str + end + def footnote(t_o) + str=if defined? t_o.obj then t_o.obj + elsif t_o.is_a?(String) then t_o + end + if str + @astx||=10000 + @astxs||=20000 + if str =~/#{Mx[:en_a_o]}\d+\s+/ + str=str.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/, + '\1 \2') + end + if str =~/#{Mx[:en_a_o]}([*]+)\s+/ + a=$1.gsub(/([*])/,"\\\\\\1") + str=str.gsub(/#{Mx[:en_a_o]}([*]+)\s+(.+?)#{Mx[:en_a_c]}/, + %{\\1 \\2}) + @astxs+=1 + end + if str=~/#{Mx[:en_a_o]}[*+]+\s/ + asterisk=str.scan(/#{Mx[:en_a_o]}([*+]+)\s+(.+?)#{Mx[:en_a_c]}/) + asterisk.each do |x| + a=x[0].gsub(/([*+])/,"\\\\\\1") + str=group_clean(str) + str=footnote_urls(str) + str=str.gsub(/#{Mx[:en_a_o]}(#{a})\s+(.+?)#{Mx[:en_a_c]}/, + %{\\1 \\2}) + @astx+=1 + end + end + if str=~/#{Mx[:en_b_o]}[*+]\d+\s/ + asterisk=str.scan(/#{Mx[:en_b_o]}([*+]\d+)\s+(.+?)#{Mx[:en_b_c]}/) + asterisk.each do |x| + a=x[0].gsub(/([*+])/,"\\\\\\1") + str=group_clean(str) + str=footnote_urls(str) + str=str.gsub(/#{Mx[:en_b_o]}(#{a})\s+(.+?)#{Mx[:en_b_c]}/, + %{\\1 \\2}) + @astx+=1 + end + end + end + if defined? t_o.obj then t_o.obj=str + elsif t_o.is_a?(String) then t_o=str + end + t_o + end + def group_clean(str) + str=str.gsub(/&nbsp;| |#{Mx[:nbsp]}/,' '). + gsub(//,'>'). + gsub(/<(text:span text:style-name="Span_\S+?"|\/text:span)>/,'<\1>'). #works, not ideal + gsub(/#{Mx[:br_line]}/,'
    '). + gsub(/<br(?:\s+\/)?>/,'
    ') + end + def poem(dob,p_num) #P4 #same as group + parray=[] + dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each_with_index do |parablock,i| + set_ref=(i==0) ? "#{p_num[:set_ref]}#{set_bookmark_tag(dob)}" : '' + parablock=group_clean(parablock) + parablock=footnote(parablock) + parray << %{#{set_ref}#{parablock}} if parablock =~/\S+/ + end + dob.obj=parray.join \ + + %{#{p_num[:display]}} \ + + '' + dob + end + def group(dob,p_num) #P4 #same as verse + parray=[] + dob.obj=dob.obj.gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/, + '\1'). #http ftp matches escaped, no decoration + gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/, + %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}). + gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, + %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}) #http ftp matches with decoration + dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each_with_index do |parablock,i| + set_ref=(i==0) ? "#{p_num[:set_ref]}#{set_bookmark_tag(dob)}" : '' + parablock=group_clean(parablock) + parablock=parablock.gsub(/<text:a xl:type="simple" xl:href="(.+?)">/m, + ''). + gsub(/<(\/text:a)>/,'<\1>'). + gsub(/<(text:note text:id=.+?)>/,'<\1>'). + gsub(/<(text:p text:style-name="Footnote")>/,'<\1>'). + gsub(/<(\/?text:(?:note-citation|note-body|note|p))>/,'<\1>') + parablock=footnote(parablock) + parray << %{#{set_ref}#{parablock}} if parablock =~/\S+/ + end + dob.obj=parray.join \ + + %{#{p_num[:display]}} \ + + '' + dob + end + def block(dob,p_num) #P4 #same as verse + parray=[] + dob.obj=dob.obj.gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/, + '\1'). #http ftp matches escaped, no decoration + gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/, + %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}). + gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, + %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}) #http ftp matches with decoration + dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each_with_index do |parablock,i| + set_ref=(i==0) ? "#{p_num[:set_ref]}#{set_bookmark_tag(dob)}" : '' + parablock=group_clean(parablock) + parablock=parablock.gsub(/<text:a xl:type="simple" xl:href="(.+?)">/m, + ''). + gsub(/<(\/text:a)>/,'<\1>'). + gsub(/<(text:note text:id=.+?)>/,'<\1>'). + gsub(/<(text:p text:style-name="Footnote")>/,'<\1>'). + gsub(/<(\/?text:(?:note-citation|note-body|note|p))>/,'<\1>') + parablock=footnote(parablock) + parray << %{#{set_ref}#{parablock}} \ + if parablock =~/\S+/ + end + dob.obj=parray.join \ + + %{#{p_num[:display]}} \ + + '' + dob + end + def code(dob,p_num) #P5 + if dob.is==:code + dob.obj=dob.obj.gsub(/\s\s/,'  ') + parray=[] + dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each_with_index do |parablock,i| + set_ref=(i==0) ? "#{p_num[:set_ref]}#{set_bookmark_tag(dob)}" : '' + parablock=group_clean(parablock) + parablock=parablock.gsub(/^\s*$/,'
    '). + gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/, + '\1') #http ftp matches escaped, no decoration + parray << %{#{set_ref}#{parablock}} if parablock =~/\S+/ + end + dob.obj=parray.join \ + + %{#{p_num[:display]}} \ + + '' + end + dob + end + def table(dob,p_num) # + if dob.is ==:table + dob=footnote(dob) #check + table=SiSU_XML_ODF_ODT_Format::Table.new(@md,dob,p_num) + dob=table.table + end + dob + end + def obj_break(dob) + if dob.is ==:break + br=SiSU_XML_ODF_ODT_Format::FormatObjBreak.new(@md,dob) + if dob.obj==Mx[:br_page] \ + or dob.obj==Mx[:br_page_new] + dob=br.br_page + elsif dob.obj==Mx[:br_page_line] + dob=br.br_page_line + elsif dob.obj==Mx[:br_obj] + dob=br.obj_sep + end + end + dob + end + def odf_structure(md,dob) + @md,@dob=md,dob + dob=if dob.is !=:code + dob=image(dob) if dob.obj =~/#{Mx[:lnk_o]}[ ]*\S+?\.(?:png|jpg|gif)\s.+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)/ + dob=text_link(dob) if dob.obj =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/ + dob=text_link_relative(dob) if dob.obj =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/ + dob + else dob + end + p_num={ display: '', set_ref: '' } + if dob.is !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + if @make.build.odt_ocn? + if defined? dob.ocn \ + and dob.ocn.is_a?(Integer) + p_num=SiSU_XML_ODF_ODT_Format::ParagraphNumber.new(@make,dob.ocn).set_bookmark_and_display + end + end + end + if dob.is==:heading + @per.body << heading(dob,p_num).obj << break_line*2 + if SiSU_Env::ProcessingSettings.new(md).build.toc? + if dob.lv =~/[A-D1]/i + @per.toc << toc(dob,p_num).obj + end + end + elsif dob.is ==:verse + @per.body << poem(dob,p_num).obj << break_line*2 + elsif dob.is==:group + @per.body << group(dob,p_num).obj << break_line*2 + elsif dob.is==:block + @per.body << block(dob,p_num).obj << break_line*2 + elsif dob.is==:code + @per.body << code(dob,p_num).obj << break_line*2 + elsif dob.is==:table #elsif dob.obj =~ /<\-_&!@%~#\]\[*=$| \n+`#{Mx[:tc_p]}]/u + dir=SiSU_Env::InfoEnv.new(@md.fns) + dir.path.odt_bld + @data_mod,@endnotes,@level,@cont,@copen,@odf_contents_close=Array.new(6){[]} + @rcdc=false + (0..7).each { |x| @cont[x]=@level[x]=false } + (4..7).each { |x| @odf_contents_close[x]='' } + odf_tail #($1,$2) + bullet=image_src('bullet_09.png') + if bullet + if FileTest.file?("#{bullet}/bullet_09.png") + FileUtils::cp("#{bullet}/bullet_09.png","#{@env.processing_path.odt}/Pictures/.") + else STDERR.puts %{\t*WARN* did not find image - "#{bullet}/bullet_09.png" [#{__FILE__}:#{__LINE__}]} + end + end + odf_book_idx + odf_metadata + data.each do |dob| + #p dob.obj if dob.obj =~safe_characters and @md.opt.selections.str =~/V/ #KEEP + dob.obj='' if dob.obj =~/#{Mx[:lv_o]}\d+:.*?#{Mx[:lv_c]}.+?#{Mx[:pa_non_object_dummy_heading]}/ #fix Mx[:lv_o] + para_array=[] + dob.obj=dob.obj.gsub(//,'>') + word=dob.obj.scan(/\S+|\n/) + if word + word.each do |w| # _ - / # | : ! ^ ~ + unless dob.obj =~/^(?:#{Rx[:meta]}|%+ )/m + w=w.gsub(/&#(?:126|152);/,'~'). #126 usual + gsub(/ /,' ') + if w !~/(?:&\S{2,7}?;)+/ + w=w.gsub(/&/,'&') + end + if w !~/&\S{1,7}?;(?:&\S{1,7}?;)+/ #imperfect + w=w.gsub(/(&\S{1,7};)+&/,'\1&') + end + end + para_array << w + end + dob.obj=para_array.join(' ') + dob.obj=dob.obj.strip + end + if dob.is==:code #{Mx[:gr_o]}code#{Mx[:gr_c]}/ #fix #code-block: angle brackets special characters #fix + dob.obj=dob.obj.gsub(/(^|[^}])_(?:<|<)/m,'\1<').gsub(/(^|[^}])_(?:>|>)/m,'\1>'). + gsub(/(^|[^}])_(?:<|<)/m,'\1<').gsub(/(^|[^}])_(?:>|>)/m,'\1>') + end + if dob.of==:block + dob.obj=dob.obj.gsub(/#{Mx[:gl_bullet]}/,'● ') + end + dob.obj=dob.obj.gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'\1'). + gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'\1'). + gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'\1'). + gsub(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/, + ''). #check + gsub(/#{Mx[:mk_o]}#([a-zA-Z]+)#{Mx[:mk_c]}/,'&\1;'). + gsub(/#{Mx[:mk_o]}(#[0-9]+)#{Mx[:mk_c]}/,'&\1;'). + gsub(/#{Mx[:mk_o]}[~-]##{Mx[:mk_c]}/,'') + if dob.is==:para \ + and dob.bullet_ + dob.obj=' ' + + dob.obj + end + dob.obj=dob.obj.gsub(/#{Mx[:br_line]}/,'
    '). + gsub(/©/,'©'). #too arbitrary + gsub(/.+?<-#>/,''). # remove dummy headings (used by html) #check + gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/, + '\1'). + gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/, + '\1'). + gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/, + '\1'). + gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/, + '\1'). + gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/, + '\1'). + gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/, + '\1'). + gsub(/­/u,'-'). + gsub(/ /u, ' '). # space identify + gsub(/ /u, ' '). # space identify + gsub(/·/u,'*'). + gsub(/[­–—]/u,'-'). #— – chk + gsub(/ < /i,'<'). + gsub(/\\copy(?:right)?\b/,'©'). + gsub(/\\trademark\b|\\tm\b/,'®'). + gsub(/\44/,'$'). #$ watch + gsub(/(.+?)<\/a>/,'\1'). + gsub(/#{Mx[:mk_o]}name#\S+?#{Mx[:mk_c]}/,'') # remove name links + wordlist=dob.obj.scan(/\S+/) + dob.obj=tidywords(wordlist).join(' ').strip + @rcdc=true if @rcdc==false \ + and (dob.obj =~/~metadata/ \ + or dob.obj =~/#{Mx[:lv_o]}1:meta#{Mx[:lv_x]}\s*Document Information/) #fix Mx[:lv_o] + if dob.is !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ #check + if defined? dob.ocn and dob.ocn.to_s =~/\d+/ + @p_num=SiSU_XML_ODF_ODT_Format::ParagraphNumber.new(@make,dob.ocn) + end + if dob.is ==:heading \ + || dob.is ==:para \ + || dob.is ==:group \ + || dob.is ==:verse \ + || dob.is ==:code \ + || dob.is ==:table \ + || dob.is ==:break + odf_structure(@md,dob) + end + if dob.obj ## Clean Prepared Text + dob.obj=dob.obj.gsub(//,' '). + gsub(/#{Mx[:tc_o]}.+?#{Mx[:tc_c]}/,' '). + gsub(/<:\S+>/,' ') + end + end + end + end + def pre + table=if @md.flag_tables + x=< + + + + + + + + + + + + + + + + + + + + + + + +WOK + x=x.strip + x=x.gsub(/\n+/m,'') unless @md.opt.act[:maintenance][:set]==:on + x + else '' + end + x=< + + + +#{table} + + + + + + +WOK + x=x.strip + x=x.gsub(/\n+/m,'') unless @md.opt.act[:maintenance][:set]==:on + @per.head << x + end + def publish + content=[] + br_pg=' ' + content << + @per.head << + @per.toc << + br_pg << + @per.body << + @per.book_idx << + br_pg << + @per.metadata << + @per.tail + SiSU_XML_ODF_ODT::Source::Output.new(content,@md,@env).odf + @@odf={ head: [], toc: [], body: [], tail: [], book_idx: [], metadata: [] } + end + end + class Output > +module SiSU_XML_ODF_ODT_Format + require_relative 'dp' # dp.rb + include SiSU_Param + class ParagraphNumber + def initialize(make,paranum) + @make=make + @paranum=/(\d+)/m.match(paranum.to_s)[1] + end + def set_ref_and_display + set_ref=@paranum.gsub(/(\d+)/, + ' ') + disp=@paranum.gsub(/(\d+)/, + (@make.build.odt_ocn?) \ + ? %{ #{Dx[:ocn_o]}\\1#{Dx[:ocn_c]}} + : '') + { display: disp, set_ref: set_ref } + end + def set_bookmark_and_display + set_ref=@paranum.gsub(/(\d+)/, + ' ') + disp=@paranum.gsub(/(\d+)/, + (@make.build.odt_ocn?) \ + ? %{ #{Dx[:ocn_o]}\\1#{Dx[:ocn_c]}} + : '') + { display: disp, set_ref: set_ref } + end + def name + @paranum.gsub(/(\d+)/,'') + end + def goto + @paranum.gsub(/(\d+)/,'') + end + end + class FormatBookIndex + def initialize(idx_str) + @idx_str=idx_str + end + def book_idx_bookmark + map_nametags=SiSU_Particulars::CombinedSingleton.instance.get_map_nametags(@md).nametags_map #p map_nametags + rgx_bookmark=/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:rel_o]}#?\S+?#{Mx[:rel_c]}/m + while @idx_str =~/#{Mx[:lnk_o]}([^#{Mx[:lnk_o]}#{Mx[:lnk_c]}]+)#{Mx[:lnk_c]}#{Mx[:rel_o]}#?(\S+?)#{Mx[:rel_c]}/m + link,url=$1,$2 + link,url=link.strip,url.strip + @idx_str=@idx_str.gsub(/&/m,"&") + ocn_lnk=if map_nametags[url] \ + and map_nametags[url][:ocn] + map_nametags[url][:ocn] + else nil + end + ocn_lnk=(url=~/^\d+$/ ? url : ocn_lnk) + if ocn_lnk and not ocn_lnk.empty? + @idx_str=@idx_str.sub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/, + '\1'). + sub(rgx_bookmark, + %{#{link.strip}}) + else + puts %{name tag: "#{url}" not found} + @idx_str.sub!(rgx_bookmark,"#{link}") + end + end + @idx_str=@idx_str.gsub(/#{Xx[:protect]}/m,''). + sub(/,\s*$/m,''). + gsub(/\n/,'') + @idx_str='' + @idx_str + '' + end + end + class Tags + def set_bookmark_tag(dob) + tags='' + if dob.tags.length > 0 + dob.tags.each do |tag| + tags +=%{ } + end + end + tags + end + end + class FormatTextObject + def initialize(md,t_o) + @md,@t_o=md,t_o + if t_o.is_a?(Hash) + @txt =t_o[:txt] || nil + else + p t_o.class + p caller + end + rgx=/#{Mx[:en_a_o]}\d+\s+(.+?)#{Mx[:en_a_c]}/ + @txt=@txt.gsub(rgx,'\1') if @txt =~rgx + end + def scr_endnote_body + "#{@txt} " + end + def heading_body1 + end + def heading_body2 + end + def heading_body3 + end + def heading_body4 + end + def heading_body5 + end + def heading_body6 + end + def heading_body7 + end + end + class Table + @@table_counter=0 + @@tablefoot=[] #watch + @@fns='' + def initialize(md,dob,p_num) + @md,@dob,@p_num=md,dob,p_num + @txt=dob.obj + if @md.fns != @@fns + @@table_counter=0 + @@fns=@md.fns + end + end + def break_line + (@md.opt.act[:maintenance][:set]==:on) \ + ? "\n" : '' + end + def table_head_open(count) + type=(@dob.head_) \ + ? 1 + : 2 + alpha=case @dob.cols + when 1 then 'A' + when 2 then 'B' + when 3 then 'C' + when 4 then 'D' + when 5 then 'E' + when 6 then 'F' + when 7 then 'G' + when 8 then 'H' + when 9 then 'I' + when 10 then 'J' + when 11 then 'K' + when 12 then 'L' + when 13 then 'M' + when 14 then 'N' + else 'D' + end + tag=SiSU_XML_ODF_ODT_Format::Tags.new.set_bookmark_tag(@dob) + %{#{@p_num[:set_ref]}#{tag}#{break_line}} + + %{#{break_line}} + end + def table_close(tablefoot='') + '' \ + + %{#{@p_num[:display]}} + end + def table_tag_cell(str,i) + txt_name_cell=if i==0 \ + and @dob.head_ + 'Table_Heading' + else 'P_table_cell' + end + str=str.gsub(/^~$/,'') # tilde / empty cell + %{#{break_line}} + + %{#{break_line}} + + %{#{str}} + + %{#{break_line}} + + %{#{break_line}} + end + def table_tag_row(str,i) + %{#{break_line}} + + %{#{str}} + + %{#{break_line}} + end + def table_tag_row_dump(str,i) + txt_name_row=if i==0 \ + and @dob.head_ + 'Table_Heading' + else 'P_table_cell' + end + %{#{break_line}} + + %{#{break_line}} + + %{#{break_line}} + + %{#{str}} + + %{#{break_line}} + + %{#{break_line}} + + %{#{break_line}} + end + def table_row(row,i) + row='' if row =~/^/,1] + @@tablefoot << m if m + row=row.gsub(//,'') + @cells=[] + row.split(/\s*#{Mx[:tc_p]}/).each do |cell| + @cells << table_tag_cell(cell,i) + end + row=@cells.join + row=table_tag_row(row,i) + row + end + def table + @@table_counter+=1 + table_head_open(@@table_counter) + @table=[] + @dob.obj.split(/\s*#{Mx[:tc_c]}/).each_with_index do |r,i| + @table << table_row(r,i) + end + @dob.obj= table_head_open(@@table_counter) + @table.join + table_close + @dob + end + end + class ODT_Head_1_2 + def initialize(md) + @md=md + @generator="#{@md.project_details.project} #{@md.project_details.version} #{@md.project_details.date_stamp} (#{@md.project_details.date})" + end + def manifest_rdf + x=< + + + + + + + + + + + + + + + + + +WOK + x=x.strip + x=x.gsub(/\n+/m,'') unless @md.opt.act[:maintenance][:set]==:on + x + end + def meta_inf_manifest_xml(md) + images=[' '] + if md.ec[:image].length > 0 + md.ec[:image].each do |i| + images<<< +WOK + end + end + images=images.join('') + x=< + + + + + #{images} + + + + + + + + +WOK + x=x.strip + x=x.gsub(/\n+/m,'') unless @md.opt.act[:maintenance][:set]==:on + x + end + def meta_xml + x=< + + + #{@generator} + #{@md.generated} + #{@md.generated} + en-US + + +WOK + x=x.strip + x=x.gsub(/\n+/m,'') unless @md.opt.act[:maintenance][:set]==:on + x + end + def settings_xml + x=< + + + + 0 + 0 + 0 + 0 + true + false + + + view2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + true + 100 + false + + + + + true + false + false + true + true + false + true + false + false + + false + false + false + true + true + 0 + false + false + false + false + true + false + false + false + false + true + true + false + false + true + false + true + false + high-resolution + 1 + 0 + true + + + false + true + + false + true + false + true + false + true + false + + true + true + false + true + true + true + false + false + + false + 0 + false + false + true + true + + + +WOK + x=x.strip + x=x.gsub(/\n+/m,'') unless @md.opt.act[:maintenance][:set]==:on + x + end + def styles_xml + x=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +WOK + x=x.strip + x=x.gsub(/\n+/m,'') unless @md.opt.act[:maintenance][:set]==:on + x + end + def mimetype + x=<#{sep*60}
    } + @t_o + end + def obj_sep #center later + sep='--- ' + @t_o.obj=%{#{sep*20}} + @t_o + end + end + class XML + end +end +__END__ +#+END_SRC + +* docbook5rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_docbook5.rb" +# <> +module SiSU_XML_Docbook_Book + require_relative 'se_hub_particulars' # se_hub_particulars.rb + include SiSU_Particulars + require_relative 'ao' # ao.rb + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'txt_shared' # txt_shared.rb + include SiSU_TextUtils + require_relative 'xml_shared' # xml_shared.rb + include SiSU_XML_Munge + require_relative 'shared_metadata' # shared_metadata.rb + class Source + def initialize(opt) + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + end + def read + begin + @md,@ao_array=@particulars.md,@particulars.ao_array + @env=@particulars.env + report + SiSU_XML_Docbook_Book::Source::Scroll.new(@ao_array,@md).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + #SiSU_Env::CreateSite.new(@opt.selections.str).cp_css + #SiSU_Env::CreateSite.new(@opt.selections.str).cp_base_images + Dir.chdir(@opt.f_pth[:pth]) + end + end + private + def report + unless @opt.act[:quiet][:set]==:on + tool=(@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? "#{@env.program.docbook_viewer} #{@md.file.output_path.xml_docbook_book.dir}/#{@md.file.base_filename.xml_docbook_book}" + : "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}" + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'DocBook', + tool + ).green_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'DocBook', + tool + ).green_title_hi + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + @opt.fns, + "#{@md.file.output_path.xml_docbook_book.dir}/#{@md.file.base_filename.xml_docbook_book}" + ).flow + end + end + end + class Scroll 0 + #tail + end + def document_images + img_pth={ + src: @md.opt.image_src_path, + dest: @md.env.path.webserv + '/_sisu/image', + } + unless FileTest.directory?(img_pth[:dest]) + #mkdir? + end + if FileTest.directory?(img_pth[:dest]) + @md.ec[:image].each do |x| + img={ + src: "#{img_pth[:src]}/#{x}", + dest: "#{img_pth[:dest]}/#{x}", + } + if FileTest.file?(img[:src]) + FileUtils::cp(img[:src],img[:dest]) + else p "Not Found: #{img[:src]}/#{x}" + end + end + end + end + def spaces + Ax[:spaces] + end + def tags + # collapsed --> + def collapsed + %w[ 0 1 2 3 4 5 ] + end + def docbook_tag(lc,chlv='') + case lc + when 0 then 'book' + when 1 then lc==chlv ? 'chapter' : 'section' + when 2 then lc==chlv ? 'chapter' : 'section' + when 3 then lc==chlv ? 'chapter' : 'section' + when 4 then 'section' + when 5 then 'section' + when 6 then 'section' + end + end + self + end + def put(line) + #@file_docbook.puts line #look into and use perhaps + puts line if @md.opt.act[:verbose_plus][:set]==:on + end + def head + rdf=SiSU_XML_Tags::RDF.new(@md) + stylesheet=SiSU_Style::CSS_HeadInfo.new(@md,'xml_docbook').stylesheet + <<-WOK + +#{stylesheet.css_head_xml} +#{rdf.comment_xml} + + WOK + end + def markup_text(data) + data.each_with_index do |o,i| + if o.is ==:heading \ + || o.is ==:para \ + || o.of ==:block \ + || o.is ==:open_close_tags + o=@trans.markup_docbook(o) #unless o.obj==nil + end + end + data + end + def tail + tail=<<-WOK + + WOK + put(tail) + end + def output(o,comment='') + puts o.lc == (0..6) \ + ? "#{spaces*o.lc}<#{o.lc}>[#{o.ocn}] #{o.ln} #{o.obj}#{comment}" + : "<#{o.lc}>[#{o.ocn}] #{o.ln} #{o.obj}#{comment}" + end + def structure_collapsed(data) + puts "\ncollapsed structure, heading outline --->\n\n" + data.each_with_index do |o,i| + if (o.is ==:heading || o.is ==:heading_insert) + output(o) + end + end + end + #def chapterlevel + #end + def xml_head + [ + '', + SiSU_Metadata::Summary.new(@md).xml_docbook.metadata, + '' + ].flatten + end + def code_output(o,ocn,filename_docbook) + filename_docbook.puts o.obj.gsub(/\n?(?:#{Mx[:br_line]}|#{Mx[:br_nl]})\n?/m,"\n") + end + def adjust_output(o,ocn,filename_docbook,splv) + if o.obj =~/#{Xx[:split]}/ + outs=o.obj.split(/#{Xx[:split]}/) + outs.each do |out| + if out =~/
    " + : '' + id=%{ id="o#{o.ocn}" } + else + ocn,id='','' + end + if (o.is ==:heading || o.is ==:heading_insert) + chlv=(o.lv.to_i == 1) \ + ? @chlv=o.lc.to_i + : 0 + @splv=o.lc + tag_id=o.tags[0] ? %{ id="#{o.tags[0]}" } : '' + if doc_position ==:head + filename_docbook.puts %{#{spaces*o.lc}} + doc_position=:body_and_tail + else + filename_docbook.puts structure_build_tag_close(o.lc,h) + filename_docbook.puts %{#{spaces*(o.lc)}<#{tags.docbook_tag(o.lc,chlv)}#{tag_id}> +#{spaces*o.lc} +} + end + adjust_output(o,ocn,filename_docbook,@splv) + filename_docbook.puts %{#{spaces*o.lc}} + h=o.lc + elsif o.of ==:layout \ + and o.is ==:open_close_tags + xml_tag=case o.sym + when :quote_open then '
    ' + when :quote_close then '
    ' + else '' + end + unless xml_tag.empty? + filename_docbook.puts "#{spaces*(@splv)}#{xml_tag}" + end + elsif o.of ==:block + if o.is ==:table + filename_docbook.puts SiSU_Tables::TableXMLdocbook.new(o,id).table.obj + elsif o.is ==:code + filename_docbook.puts "#{spaces*(@splv)}" + filename_docbook.puts "#{spaces*(@splv+1)}" + code_output(o,ocn,filename_docbook) + filename_docbook.puts "#{spaces*(@splv+1)}" + filename_docbook.puts "#{spaces*(@splv)}" + else + filename_docbook.puts "#{spaces*(@splv)}" + adjust_output(o,ocn,filename_docbook,@splv) + filename_docbook.puts "#{spaces*(@splv)}" + end + elsif o.of ==:para + filename_docbook.puts "#{spaces*(@splv)}" + adjust_output(o,ocn,filename_docbook,@splv) + filename_docbook.puts "#{spaces*(@splv)}" + end + end + filename_docbook.puts structure_build_tag_close(0,h) + filename_docbook.close + end + def structure_build_tag_close(lc,h) + x=[] + case h + when 0 + x << "#{spaces*0}" if (lc <= 0) + when 1 + x << "#{spaces*1}" if (lc <= 1) + x << "#{spaces*0}" if (lc <= 0) + when 2 + x << "#{spaces*2}" if (lc <= 2) + x << "#{spaces*1}" if (lc <= 1) + x << "#{spaces*0}" if (lc <= 0) + when 3 + x << "#{spaces*3}" if (lc <= 3) + x << "#{spaces*2}" if (lc <= 2) + x << "#{spaces*1}" if (lc <= 1) + x << "#{spaces*0}" if (lc <= 0) + when 4 + x << "#{spaces*4}" if (lc <= 4) + x << "#{spaces*3}" if (lc <= 3) + x << "#{spaces*2}" if (lc <= 2) + x << "#{spaces*1}" if (lc <= 1) + x << "#{spaces*0}" if (lc <= 0) + when 5 + x << "#{spaces*5}" if (lc <= 5) + x << "#{spaces*4}" if (lc <= 4) + x << "#{spaces*5}" if (lc <= 3) + x << "#{spaces*2}" if (lc <= 2) + x << "#{spaces*1}" if (lc <= 1) + x << "#{spaces*0}" if (lc <= 0) + when 6 + x << "#{spaces*6}" if (lc <= 6) + x << "#{spaces*5}" if (lc <= 5) + x << "#{spaces*4}" if (lc <= 4) + x << "#{spaces*3}" if (lc <= 3) + x << "#{spaces*2}" if (lc <= 2) + x << "#{spaces*1}" if (lc <= 1) + x << "#{spaces*0}" if (lc <= 0) + end + x.join("\n") + end + end + end +end +__END__ +#+END_SRC + +* fictionbook2.rb + +#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_fictionbook2.rb" +# <> +module SiSU_XML_Fictionbook + require_relative 'se_hub_particulars' # se_hub_particulars.rb + include SiSU_Particulars + require_relative 'ao' # ao.rb + require_relative 'se' # se.rb + include SiSU_Env + require_relative 'txt_shared' # txt_shared.rb + include SiSU_TextUtils + require_relative 'xml_shared' # xml_shared.rb + include SiSU_XML_Munge + class Source + def initialize(opt) + @opt=opt + @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) + end + def read + begin + @md,@ao_array=@particulars.md,@particulars.ao_array + @env=@particulars.env + report + SiSU_XML_Fictionbook::Source::Scroll.new(@ao_array,@md).songsheet + rescue + SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do + __LINE__.to_s + ':' + __FILE__ + end + ensure + Dir.chdir(@opt.f_pth[:pth]) + end + end + private + def report + unless @opt.act[:quiet][:set]==:on + tool=(@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? "#{@env.program.fictionbook_viewer} #{@md.file.output_path.xml_fictionbook.dir}/#{@md.file.base_filename.xml_fictionbook}" + : "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}" + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Fictionbook', + tool + ).green_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Fictionbook', + tool + ).green_title_hi + if (@opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + @opt.fns, + "#{@md.file.output_path.xml_fictionbook.dir}/#{@md.file.base_filename.xml_fictionbook}" + ).flow + end + end + end + class Scroll + def collapsed + %w[ 0 1 2 3 4 5 ] + end + def fictionbook + [ + 'section', + 'section', + 'section', + 'section', + 'section', + 'section', + 'section' + ] + end + self + end + def put(line) + puts line if @md.opt.act[:verbose_plus][:set]==:on + end + def head + version=SiSU_Env::InfoVersion.instance.get_version + rb_ver=SiSU_Env::InfoVersion.instance.rbversion + date_available=if defined? @md.date.available; "\n

    #{@md.date.available} Initial version

    " + else '' + end + date_modified=if defined? @md.date.modified; "\n

    #{@md.date.modified} Last Modified

    " + else '' + end + coverpageimage=if defined? @md.make.cover_image[:cover] + %{\n } + else '' + end + if defined? @md.authors \ + and @md.authors.length > 0 + authors=[] + @md.authors.each do |author| + authors << ' ' + if not author[:others].empty? + authors << %{ #{author[:others]}} + end + if not author[:the].empty? + authors << %{ #{author[:the]}} + end + authors << ' ' + end + authors=authors.join("\n") + end + <<-WOK + + + + + *** +#{authors} + #{@md.title.full}#{coverpageimage} + + + #{@md.date.published} + + + + + + + + #{version.project} #{version.version} and #{rb_ver} + #{version.date} + #{@md.file.output_path.manifest.url}/#{@md.file.base_filename.manifest} + + 1.0 + #{date_available}#{date_modified} + + + + + WOK + end + def extract_endnotes #work on + endnotes,endnotes_raw,endnotes_b=[],[],[] + @data.each do |para| + endnotes_raw << para.obj.scan(/#{Mx[:en_a_o]}(.+?)#{Mx[:en_a_c]}/m) + endnotes_b << para.obj.scan(/#{Mx[:en_b_o]}(.+?)#{Mx[:en_b_c]}/m) + end + endnotes_raw.flatten.each do |en| + en=@trans.markup_fictionbook(en) + endnotes << en.gsub(/([\d+*]+)\s+(.+)/m, + %{
    \n +<p>\\1.</p>\n +

    \\2

    \n +
    }) + end + endnotes_raw=[] + endnotes + end + def extract_images #work on + begin + require 'base64' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). + error('base64 NOT FOUND (LoadError)') + end + images_raw,images_base64_fb2=[],[] + images_base64={} + if defined? @md.make.cover_image[:cover] + images_raw << @md.make.cover_image[:cover] + end + @data.each do |para| + images_raw << para.obj.scan(/#{Mx[:lnk_o]}\s*(\S+?\.(?:png|jpg|gif)).+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}|image)/m) + end + images_raw.flatten.sort.each do |img| + imgpth=@env.url.images_local + '/' + img + open(imgpth) + if FileTest.file?(imgpth) + images_base64[img]=Base64.encode64(File.read(imgpth)) + end + end + images_raw=[] + images_base64.each_key do |k| + imgtype=case k + when /\.jpg/ then 'jpeg' + when /\.png/ then 'png' + when /\.gif/ then 'gif' + else 'jpeg' + end + images_base64_fb2 << %{#{images_base64[k]} + +} + end + images_base64_fb2.join("\n") + end + def markup_text(data) + data.each_with_index do |o,i| + if o.is ==:heading || o.is ==:para + o.obj=@trans.markup_fictionbook(o.obj,o.is) #unless o.obj==nil + end + end + data + end + def tail(images_base64_fb2) + <<-WOK + +#{images_base64_fb2} +
    + WOK + end + def output(o,comment='') + puts o.lc == (0..6) \ + ? "#{spaces*o.lc}<#{o.lc}>[#{o.ocn}] #{o.ln} #{o.obj}#{comment}" + : "<#{o.lc}>[#{o.ocn}] #{o.ln} #{o.obj}#{comment}" + end + def structure_collapsed(data) + puts "\ncollapsed structure, heading outline --->\n\n" + data.each_with_index do |o,i| + if (o.is ==:heading || o.is ==:heading_insert) + output(o) + end + end + end + def endnotes_build(endnotes,filename_fictionbook) + if endnotes.length > 0 + filename_fictionbook.puts %{} + endnotes.each do |en| + filename_fictionbook.puts SiSU_TextUtils::Wrap.new(en,80,6).line_wrap + end + end + end + def structure_build_collapsed(data,endnotes,images_base64) + file=SiSU_Env::FileOp.new(@md) + filename_fictionbook=file.write_file.xml_fictionbook + h=0 + doc_position=:head + filename_fictionbook.puts head + data.each_with_index do |o,i| + ocn=if @make.build.ocn? + (defined? o.ocn and not o.ocn.nil?) \ + ? "\n#{Dx[:ocn_o]}#{o.ocn}#{Dx[:ocn_c]}" + : '' + else '' + end + if o.is ==:heading + unless doc_position==:head + filename_fictionbook.puts structure_build_tag_close(o.lc,h) + end + doc_position=:body_and_tail + filename_fictionbook.puts %{#{spaces*o.lc}<#{tags.fictionbook[o.lc]}> +#{spaces*o.lc} +} + filename_fictionbook.puts SiSU_TextUtils::Wrap.new("<p>#{o.obj}#{ocn}</p>",80,(o.lc*2+2)).line_wrap + filename_fictionbook.puts %{#{spaces*o.lc}} + h=o.lc + elsif o.is ==:heading_insert \ + and o.obj =~/Endnotes/ \ + and o.ln == 1 + break + elsif (o.of ==:para or o.of ==:block) + filename_fictionbook.puts SiSU_TextUtils::Wrap.new("

    #{o.obj}#{ocn}

    ",80,6).line_wrap + end + end + filename_fictionbook.puts structure_build_tag_close(0,h) + endnotes_build(endnotes,filename_fictionbook) + filename_fictionbook.puts tail(images_base64) + filename_fictionbook.close + end + def structure_build_tag_close(lc,h) + x=[] + case h + when 0 + x << "#{spaces*0}" if (lc <= 0) + when 1 + x << "#{spaces*1}" if (lc <= 1) + x << "#{spaces*0}" if (lc <= 0) + when 2 + x << "#{spaces*2}" if (lc <= 2) + x << "#{spaces*1}" if (lc <= 1) + x << "#{spaces*0}" if (lc <= 0) + when 3 + x << "#{spaces*3}" if (lc <= 3) + x << "#{spaces*2}" if (lc <= 2) + x << "#{spaces*1}" if (lc <= 1) + x << "#{spaces*0}" if (lc <= 0) + when 4 + x << "#{spaces*4}" if (lc <= 4) + x << "#{spaces*3}" if (lc <= 3) + x << "#{spaces*2}" if (lc <= 2) + x << "#{spaces*1}" if (lc <= 1) + x << "#{spaces*0}" if (lc <= 0) + when 5 + x << "#{spaces*5}" if (lc <= 5) + x << "#{spaces*4}" if (lc <= 4) + x << "#{spaces*3}" if (lc <= 3) + x << "#{spaces*2}" if (lc <= 2) + x << "#{spaces*1}" if (lc <= 1) + x << "#{spaces*0}" if (lc <= 0) + when 6 + x << "#{spaces*6}" if (lc <= 6) + x << "#{spaces*5}" if (lc <= 5) + x << "#{spaces*4}" if (lc <= 4) + x << "#{spaces*3}" if (lc <= 3) + x << "#{spaces*2}" if (lc <= 2) + x << "#{spaces*1}" if (lc <= 1) + x << "#{spaces*0}" if (lc <= 0) + end + x.join("\n") + end + end + end +end +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +encoding: utf-8 +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +#+END_SRC -- cgit v1.2.3 From 320954ec9f0daebc254622078b6d013f5e249ea1 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 18 Jun 2021 10:08:44 -0400 Subject: org mode: fix transcription typo (code fix) --- lib/sisu/ao_doc_objects.rb | 2 +- lib/sisu/html_persist.rb | 2 +- org/abstraction.org | 2 +- org/html.org | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/sisu/ao_doc_objects.rb b/lib/sisu/ao_doc_objects.rb index 4e0366b1..9b18af2b 100644 --- a/lib/sisu/ao_doc_objects.rb +++ b/lib/sisu/ao_doc_objects.rb @@ -50,7 +50,7 @@ # # # -Module SiSU_AO_DocumentStructure +module SiSU_AO_DocumentStructure class Extract def extract(h,o) h ? h : o diff --git a/lib/sisu/html_persist.rb b/lib/sisu/html_persist.rb index 1aa38eab..843d9414 100644 --- a/lib/sisu/html_persist.rb +++ b/lib/sisu/html_persist.rb @@ -50,7 +50,7 @@ # # # -Module SiSU_HTML_Persist +module SiSU_HTML_Persist class Persist @@persist=nil attr_accessor :is0,:is1,:is2,:is3,:is4,:heading0,:heading1,:heading2,:heading3,:heading4, :title, :dot_nav, :tocband_banner, :tocband_bannerless, :headings, :heading_endnotes, :main, :endnote_all, :tail, :credits, :heading_idx, :idx, :seg_endnotes, :seg_endnotes_array, :segtocband, :get_hash_fn, :get_hash_to, :seg_subtoc, :seg_subtoc_array, :fn, :seg_name ,:seg_name_x,:seg_name_x_tracker diff --git a/org/abstraction.org b/org/abstraction.org index 103c9218..55bf302a 100644 --- a/org/abstraction.org +++ b/org/abstraction.org @@ -1419,7 +1419,7 @@ __END__ #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_doc_objects.rb" # <> -Module SiSU_AO_DocumentStructure +module SiSU_AO_DocumentStructure class Extract def extract(h,o) h ? h : o diff --git a/org/html.org b/org/html.org index 1454226d..80aef117 100644 --- a/org/html.org +++ b/org/html.org @@ -5339,7 +5339,7 @@ __END__ #+BEGIN_SRC ruby :tangle "../lib/sisu/html_persist.rb" # <> -Module SiSU_HTML_Persist +module SiSU_HTML_Persist class Persist @@persist=nil attr_accessor :is0,:is1,:is2,:is3,:is4,:heading0,:heading1,:heading2,:heading3,:heading4, :title, :dot_nav, :tocband_banner, :tocband_bannerless, :headings, :heading_endnotes, :main, :endnote_all, :tail, :credits, :heading_idx, :idx, :seg_endnotes, :seg_endnotes_array, :segtocband, :get_hash_fn, :get_hash_to, :seg_subtoc, :seg_subtoc_array, :fn, :seg_name ,:seg_name_x,:seg_name_x_tracker -- cgit v1.2.3 From d26ae4dce0600cabffe69113a96dbcec84380514 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 18 Jun 2021 10:11:49 -0400 Subject: org mode: fix file naming typo --- nix/pkglst/packages_rauby_2_6.nix | 13 ------------- nix/pkglst/packages_rauby_2_7.nix | 13 ------------- nix/pkglst/packages_rauby_3_0.nix | 13 ------------- nix/pkglst/packages_ruby_2_6.nix | 13 +++++++++++++ nix/pkglst/packages_ruby_2_7.nix | 13 +++++++++++++ nix/pkglst/packages_ruby_3_0.nix | 13 +++++++++++++ org/sisu_build.org | 6 +++--- 7 files changed, 42 insertions(+), 42 deletions(-) delete mode 100644 nix/pkglst/packages_rauby_2_6.nix delete mode 100644 nix/pkglst/packages_rauby_2_7.nix delete mode 100644 nix/pkglst/packages_rauby_3_0.nix create mode 100644 nix/pkglst/packages_ruby_2_6.nix create mode 100644 nix/pkglst/packages_ruby_2_7.nix create mode 100644 nix/pkglst/packages_ruby_3_0.nix diff --git a/nix/pkglst/packages_rauby_2_6.nix b/nix/pkglst/packages_rauby_2_6.nix deleted file mode 100644 index 1c623afc..00000000 --- a/nix/pkglst/packages_rauby_2_6.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs ? import {} }: -with pkgs; [ - - ruby_2_7 - rubyPackages_2_7.rake - rubyPackages_2_7.sqlite3 - rubyPackages_2_7.thor - sqlite - unzip - xz - zip - #texlive-combined-full -] diff --git a/nix/pkglst/packages_rauby_2_7.nix b/nix/pkglst/packages_rauby_2_7.nix deleted file mode 100644 index 1c623afc..00000000 --- a/nix/pkglst/packages_rauby_2_7.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs ? import {} }: -with pkgs; [ - - ruby_2_7 - rubyPackages_2_7.rake - rubyPackages_2_7.sqlite3 - rubyPackages_2_7.thor - sqlite - unzip - xz - zip - #texlive-combined-full -] diff --git a/nix/pkglst/packages_rauby_3_0.nix b/nix/pkglst/packages_rauby_3_0.nix deleted file mode 100644 index 5ac59203..00000000 --- a/nix/pkglst/packages_rauby_3_0.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs ? import {} }: -with pkgs; [ - - ruby_3_0 - rubyPackages_3_0.rake - rubyPackages_3_0.sqlite3 - rubyPackages_3_0.thor - sqlite - unzip - xz - zip - #texlive-combined-full -] diff --git a/nix/pkglst/packages_ruby_2_6.nix b/nix/pkglst/packages_ruby_2_6.nix new file mode 100644 index 00000000..1c623afc --- /dev/null +++ b/nix/pkglst/packages_ruby_2_6.nix @@ -0,0 +1,13 @@ +{ pkgs ? import {} }: +with pkgs; [ + + ruby_2_7 + rubyPackages_2_7.rake + rubyPackages_2_7.sqlite3 + rubyPackages_2_7.thor + sqlite + unzip + xz + zip + #texlive-combined-full +] diff --git a/nix/pkglst/packages_ruby_2_7.nix b/nix/pkglst/packages_ruby_2_7.nix new file mode 100644 index 00000000..1c623afc --- /dev/null +++ b/nix/pkglst/packages_ruby_2_7.nix @@ -0,0 +1,13 @@ +{ pkgs ? import {} }: +with pkgs; [ + + ruby_2_7 + rubyPackages_2_7.rake + rubyPackages_2_7.sqlite3 + rubyPackages_2_7.thor + sqlite + unzip + xz + zip + #texlive-combined-full +] diff --git a/nix/pkglst/packages_ruby_3_0.nix b/nix/pkglst/packages_ruby_3_0.nix new file mode 100644 index 00000000..5ac59203 --- /dev/null +++ b/nix/pkglst/packages_ruby_3_0.nix @@ -0,0 +1,13 @@ +{ pkgs ? import {} }: +with pkgs; [ + + ruby_3_0 + rubyPackages_3_0.rake + rubyPackages_3_0.sqlite3 + rubyPackages_3_0.thor + sqlite + unzip + xz + zip + #texlive-combined-full +] diff --git a/org/sisu_build.org b/org/sisu_build.org index a83af212..c51a5c6f 100644 --- a/org/sisu_build.org +++ b/org/sisu_build.org @@ -2579,7 +2579,7 @@ with pkgs; [ **** ruby 3.0 -#+BEGIN_SRC nix :tangle ../nix/pkglst/packages_rauby_3_0.nix +#+BEGIN_SRC nix :tangle ../nix/pkglst/packages_ruby_3_0.nix { pkgs ? import {} }: with pkgs; [ <> @@ -2590,7 +2590,7 @@ with pkgs; [ **** ruby 2.7 -#+BEGIN_SRC nix :tangle ../nix/pkglst/packages_rauby_2_7.nix +#+BEGIN_SRC nix :tangle ../nix/pkglst/packages_ruby_2_7.nix { pkgs ? import {} }: with pkgs; [ <> @@ -2601,7 +2601,7 @@ with pkgs; [ **** ruby 2.6 -#+BEGIN_SRC nix :tangle ../nix/pkglst/packages_rauby_2_6.nix +#+BEGIN_SRC nix :tangle ../nix/pkglst/packages_ruby_2_6.nix { pkgs ? import {} }: with pkgs; [ <> -- cgit v1.2.3 From cffaeb8176a29f506cfd4b07a5ae3238886a93e1 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 18 Jun 2021 10:17:55 -0400 Subject: ruby3, code runs (check output) --- lib/sisu/db_import.rb | 2 +- lib/sisu/se.rb | 2 +- lib/sisu/se_info_env.rb | 2 +- lib/sisu/se_standardise_lang.rb | 2 +- lib/sisu/se_version.rb | 5 ++++- lib/sisu/utils_screen_text_color.rb | 2 +- org/db.org | 2 +- org/env.org | 11 +++++++---- org/utils.org | 2 +- 9 files changed, 18 insertions(+), 12 deletions(-) diff --git a/lib/sisu/db_import.rb b/lib/sisu/db_import.rb index f021fea5..84cbc911 100644 --- a/lib/sisu/db_import.rb +++ b/lib/sisu/db_import.rb @@ -311,7 +311,7 @@ module SiSU_DbImport if (@opt.act[:verbose][:set]==:on \ || @opt.act[:verbose_plus][:set]==:on \ || @opt.act[:maintenance][:set]==:on) - puts %{\n#{@cX.grey}Processing file number#{@cX.off}: #{@cX.green}#{@@id_t}#{@@cX.off}} + puts %{\n#{@cX.grey}Processing file number#{@cX.off}: #{@cX.green}#{@@id_t}#{@cX.off}} end end ################ CLEAR ############## diff --git a/lib/sisu/se.rb b/lib/sisu/se.rb index 8e44434b..009784f3 100644 --- a/lib/sisu/se.rb +++ b/lib/sisu/se.rb @@ -50,8 +50,8 @@ # # # -@@cX=nil module SiSU_Env + #@@cX=nil require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb require_relative 'se_date' # se_date.rb diff --git a/lib/sisu/se_info_env.rb b/lib/sisu/se_info_env.rb index bdcafe42..382facf1 100644 --- a/lib/sisu/se_info_env.rb +++ b/lib/sisu/se_info_env.rb @@ -50,8 +50,8 @@ # # # -@@current_document=Dir.pwd #nil #'' module SiSU_Info_Env + @@current_document=Dir.pwd #nil #'' require_relative 'se_envcall' # se_envcall.rb require_relative 'html_parts' # html_parts.rb begin diff --git a/lib/sisu/se_standardise_lang.rb b/lib/sisu/se_standardise_lang.rb index 1a513b02..688ececa 100644 --- a/lib/sisu/se_standardise_lang.rb +++ b/lib/sisu/se_standardise_lang.rb @@ -50,8 +50,8 @@ # # # -@@lang_info=nil module SiSU_Standardise_Lang + @@lang_info=nil class StandardiseLanguage require_relative 'i18n' # i18n.rb def initialize(l='') diff --git a/lib/sisu/se_version.rb b/lib/sisu/se_version.rb index 44062ec4..adf3b9be 100644 --- a/lib/sisu/se_version.rb +++ b/lib/sisu/se_version.rb @@ -105,7 +105,10 @@ module SiSU_Info_Version version_details_hash[:version] end def version_major - @version_major=version_details_hash[:version].gsub(/([0-9]+)\.[0-9]+\.[0-9]+/,'\1') + @version_major=if (version_details_hash[:version]) + version_details_hash[:version].gsub(/([0-9]+)\.[0-9]+\.[0-9]+/,'\1') + else "" + end end def install_method version_details_hash[:install_method] diff --git a/lib/sisu/utils_screen_text_color.rb b/lib/sisu/utils_screen_text_color.rb index 5b21cb45..da214179 100644 --- a/lib/sisu/utils_screen_text_color.rb +++ b/lib/sisu/utils_screen_text_color.rb @@ -62,7 +62,7 @@ module SiSU_Screen def initialize(color_state,*txt) @color_state,@txt=color_state,txt @color_instruct=txt[0] - @cX=@@cX=if color_state==:on + @cX=if color_state==:on Color.new do self.off=self.white=self.white_bold=self.marker=self.bold=self.underline=self.invert=self.darkgrey_hi=self.grey_hi=self.pink_hi=self.fuchsia_hi=self.red_hi=self.orange_hi=self.yellow_hi=self.brown_hi=self.lightgreen_hi=self.green_hi=self.cyan_hi=self.blue_hi=self.navy_hi=self.grey=self.pink=self.fuchsia=self.ruby=self.red=self.orange=self.yellow=self.brown=self.green=self.darkgreen=self.cyan=self.blue=self.navy=self.black='' end diff --git a/org/db.org b/org/db.org index 4a2f216b..5343a464 100644 --- a/org/db.org +++ b/org/db.org @@ -1512,7 +1512,7 @@ module SiSU_DbImport if (@opt.act[:verbose][:set]==:on \ || @opt.act[:verbose_plus][:set]==:on \ || @opt.act[:maintenance][:set]==:on) - puts %{\n#{@cX.grey}Processing file number#{@cX.off}: #{@cX.green}#{@@id_t}#{@@cX.off}} + puts %{\n#{@cX.grey}Processing file number#{@cX.off}: #{@cX.green}#{@@id_t}#{@cX.off}} end end ################ CLEAR ############## diff --git a/org/env.org b/org/env.org index fafc90ef..36017be7 100644 --- a/org/env.org +++ b/org/env.org @@ -20,8 +20,8 @@ #+BEGIN_SRC ruby :tangle "../lib/sisu/se.rb" # <> -@@cX=nil module SiSU_Env + #@@cX=nil require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb require_relative 'se_date' # se_date.rb @@ -4490,8 +4490,8 @@ consider running as separate objects #+BEGIN_SRC ruby :tangle "../lib/sisu/se_info_env.rb" # <> -@@current_document=Dir.pwd #nil #'' module SiSU_Info_Env + @@current_document=Dir.pwd #nil #'' require_relative 'se_envcall' # se_envcall.rb require_relative 'html_parts' # html_parts.rb begin @@ -8305,8 +8305,8 @@ __END__ #+BEGIN_SRC ruby :tangle "../lib/sisu/se_standardise_lang.rb" # <> -@@lang_info=nil module SiSU_Standardise_Lang + @@lang_info=nil class StandardiseLanguage require_relative 'i18n' # i18n.rb def initialize(l='') @@ -8486,7 +8486,10 @@ module SiSU_Info_Version version_details_hash[:version] end def version_major - @version_major=version_details_hash[:version].gsub(/([0-9]+)\.[0-9]+\.[0-9]+/,'\1') + @version_major=if (version_details_hash[:version]) + version_details_hash[:version].gsub(/([0-9]+)\.[0-9]+\.[0-9]+/,'\1') + else "" + end end def install_method version_details_hash[:install_method] diff --git a/org/utils.org b/org/utils.org index e709bcfe..cb0a1e65 100644 --- a/org/utils.org +++ b/org/utils.org @@ -392,7 +392,7 @@ module SiSU_Screen def initialize(color_state,*txt) @color_state,@txt=color_state,txt @color_instruct=txt[0] - @cX=@@cX=if color_state==:on + @cX=if color_state==:on Color.new do self.off=self.white=self.white_bold=self.marker=self.bold=self.underline=self.invert=self.darkgrey_hi=self.grey_hi=self.pink_hi=self.fuchsia_hi=self.red_hi=self.orange_hi=self.yellow_hi=self.brown_hi=self.lightgreen_hi=self.green_hi=self.cyan_hi=self.blue_hi=self.navy_hi=self.grey=self.pink=self.fuchsia=self.ruby=self.red=self.orange=self.yellow=self.brown=self.green=self.darkgreen=self.cyan=self.blue=self.navy=self.black='' end -- cgit v1.2.3 From fc00c1e76f2dc077486da90908c9cd0a0ca78b0e Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 18 Jun 2021 10:23:42 -0400 Subject: nix: update things nix --- .envrc | 15 ++---- nix/pkglst/packages.nix | 13 ----- nix/pkglst/packages_ruby_2_6.nix | 19 +++---- nix/pkglst/packages_ruby_2_7.nix | 13 ----- nix/pkglst/packages_ruby_3_0.nix | 11 ++-- org/sisu_build.org | 107 ++++++++++++--------------------------- packages.nix | 14 +++++ shell.nix | 2 +- 8 files changed, 67 insertions(+), 127 deletions(-) delete mode 100644 nix/pkglst/packages.nix delete mode 100644 nix/pkglst/packages_ruby_2_7.nix create mode 100644 packages.nix diff --git a/.envrc b/.envrc index dd2752c9..6bb4547e 100644 --- a/.envrc +++ b/.envrc @@ -1,13 +1,4 @@ -if type lorri &>/dev/null; then - echo "direnv: using lorri from PATH ($(type -p lorri))" - eval "$(lorri direnv)" -else - # fall back to using direnv's builtin nix support - # to prevent bootstrapping problems. - use nix - NIX_ENFORCE_PURITY=0 -fi -# source an additional user-specific .envrc in ./.envrc-local -if [ -e .envrc-local ]; then - source .envrc-local +NIX_ENFORCE_PURITY=0 +if [ -e .envrc-local ]; then # source an additional user-specific .envrc in ./.envrc-local + source .envrc-local fi diff --git a/nix/pkglst/packages.nix b/nix/pkglst/packages.nix deleted file mode 100644 index 1c623afc..00000000 --- a/nix/pkglst/packages.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs ? import {} }: -with pkgs; [ - - ruby_2_7 - rubyPackages_2_7.rake - rubyPackages_2_7.sqlite3 - rubyPackages_2_7.thor - sqlite - unzip - xz - zip - #texlive-combined-full -] diff --git a/nix/pkglst/packages_ruby_2_6.nix b/nix/pkglst/packages_ruby_2_6.nix index 1c623afc..1d888388 100644 --- a/nix/pkglst/packages_ruby_2_6.nix +++ b/nix/pkglst/packages_ruby_2_6.nix @@ -1,13 +1,14 @@ { pkgs ? import {} }: with pkgs; [ - ruby_2_7 - rubyPackages_2_7.rake - rubyPackages_2_7.sqlite3 - rubyPackages_2_7.thor - sqlite - unzip - xz - zip - #texlive-combined-full + ruby_2_6 + rubyPackages_2_6.rake + rubyPackages_2_6.sqlite3 + rubyPackages_2_6.thor + sqlite + unzip + xz + zip + openssl + #texlive-combined-full ] diff --git a/nix/pkglst/packages_ruby_2_7.nix b/nix/pkglst/packages_ruby_2_7.nix deleted file mode 100644 index 1c623afc..00000000 --- a/nix/pkglst/packages_ruby_2_7.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs ? import {} }: -with pkgs; [ - - ruby_2_7 - rubyPackages_2_7.rake - rubyPackages_2_7.sqlite3 - rubyPackages_2_7.thor - sqlite - unzip - xz - zip - #texlive-combined-full -] diff --git a/nix/pkglst/packages_ruby_3_0.nix b/nix/pkglst/packages_ruby_3_0.nix index 5ac59203..e943f7fe 100644 --- a/nix/pkglst/packages_ruby_3_0.nix +++ b/nix/pkglst/packages_ruby_3_0.nix @@ -5,9 +5,10 @@ with pkgs; [ rubyPackages_3_0.rake rubyPackages_3_0.sqlite3 rubyPackages_3_0.thor - sqlite - unzip - xz - zip - #texlive-combined-full + sqlite + unzip + xz + zip + openssl + #texlive-combined-full ] diff --git a/org/sisu_build.org b/org/sisu_build.org index c51a5c6f..31ecd908 100644 --- a/org/sisu_build.org +++ b/org/sisu_build.org @@ -2519,21 +2519,28 @@ end ** envrc #+BEGIN_SRC sh :tangle ../.envrc -if type lorri &>/dev/null; then - echo "direnv: using lorri from PATH ($(type -p lorri))" - eval "$(lorri direnv)" -else - # fall back to using direnv's builtin nix support - # to prevent bootstrapping problems. - use nix - NIX_ENFORCE_PURITY=0 -fi -# source an additional user-specific .envrc in ./.envrc-local -if [ -e .envrc-local ]; then - source .envrc-local +NIX_ENFORCE_PURITY=0 +if [ -e .envrc-local ]; then # source an additional user-specific .envrc in ./.envrc-local + source .envrc-local fi #+END_SRC +#+BEGIN_SRC sh :tangle ../.envrc-local_ +export NIX_PATH=/nix/var/nix/profiles/per-user/root/channels/nixos +#export NIX_PATH=nixpkgs=/nixpkgs-ra/nixpkgs +## reload when these files change +use flake +watch_file flake.nix +eval "$(nix print-dev-env)" +export SisuVER=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g') +export SisuSRC=/grotto-ra/repo/git.repo/projects/project-sisu/sisu +export SisuDOC=/grotto-ra/repo/git.repo/projects/project-sisu/susu-markup/sisu-markup-samples/data/samples/current +export SisuOUT=/tmp/sisu/$SisuVER/www +export SisuOUTstatic=/var/www + +export RUBYLIB+=`pwd`/lib +#+END_SRC + ** shell.nix *** shell.nix TODO @@ -2542,25 +2549,7 @@ fi { pkgs ? import {} }: pkgs.mkShell { buildInputs = [ - (import ./nix/pkglst/packages.nix { inherit pkgs; }) - ]; -} -#+END_SRC - -#+BEGIN_SRC nix :NO-tangle ../shell.nix -{ pkgs ? import {} }: -let -in pkgs.mkShell { - buildInputs = with pkgs; [ - nix - bundler - bundix - <> - sqlite - unzip - xz - zip - #texlive-combined-full + (import ./packages.nix { inherit pkgs; }) ]; } #+END_SRC @@ -2568,7 +2557,7 @@ in pkgs.mkShell { *** packages.nix **** default -#+BEGIN_SRC nix :tangle ../nix/pkglst/packages.nix +#+BEGIN_SRC nix :tangle ../packages.nix { pkgs ? import {} }: with pkgs; [ <> @@ -2588,24 +2577,13 @@ with pkgs; [ ] #+END_SRC -**** ruby 2.7 - -#+BEGIN_SRC nix :tangle ../nix/pkglst/packages_ruby_2_7.nix -{ pkgs ? import {} }: -with pkgs; [ - <> - <> - <> -] -#+END_SRC - **** ruby 2.6 #+BEGIN_SRC nix :tangle ../nix/pkglst/packages_ruby_2_6.nix { pkgs ? import {} }: with pkgs; [ <> - <> + <> <> ] #+END_SRC @@ -2620,7 +2598,7 @@ with pkgs; [ #+NAME: ruby_current #+BEGIN_SRC nix -<> +<> #+END_SRC *** ruby next @@ -2630,34 +2608,14 @@ with pkgs; [ <> #+END_SRC -*** ruby 2.5 - ruby_version_2_5 - -#+NAME: ruby_version_2_5 -#+BEGIN_SRC nix -ruby_2_5 -rubyPackages_2_5.rake -rubyPackages_2_5.sqlite3 -rubyPackages_2_5.thor -#+END_SRC - *** ruby 2.6 - ruby_version_2_6 #+NAME: ruby_version_2_6 #+BEGIN_SRC nix -ruby -rubyPackages.rake -rubyPackages.sqlite3 -rubyPackages.thor -#+END_SRC - -*** ruby 2.7 - ruby_version_2_7 - -#+NAME: ruby_version_2_7 -#+BEGIN_SRC nix -ruby_2_7 -rubyPackages_2_7.rake -rubyPackages_2_7.sqlite3 -rubyPackages_2_7.thor +ruby_2_6 +rubyPackages_2_6.rake +rubyPackages_2_6.sqlite3 +rubyPackages_2_6.thor #+END_SRC *** ruby 3.0 - ruby_version_3_0 @@ -2683,11 +2641,12 @@ bundix #+NAME: packages_project_relevant #+BEGIN_SRC nix - sqlite - unzip - xz - zip - #texlive-combined-full +sqlite +unzip +xz +zip +openssl +#texlive-combined-full #+END_SRC * descriptions diff --git a/packages.nix b/packages.nix new file mode 100644 index 00000000..e943f7fe --- /dev/null +++ b/packages.nix @@ -0,0 +1,14 @@ +{ pkgs ? import {} }: +with pkgs; [ + + ruby_3_0 + rubyPackages_3_0.rake + rubyPackages_3_0.sqlite3 + rubyPackages_3_0.thor + sqlite + unzip + xz + zip + openssl + #texlive-combined-full +] diff --git a/shell.nix b/shell.nix index 80173752..34300f62 100644 --- a/shell.nix +++ b/shell.nix @@ -1,6 +1,6 @@ { pkgs ? import {} }: pkgs.mkShell { buildInputs = [ - (import ./nix/pkglst/packages.nix { inherit pkgs; }) + (import ./packages.nix { inherit pkgs; }) ]; } -- cgit v1.2.3 From 39e7b730e12928cffd5996e6eda138fe5ae2cbf0 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 18 Jun 2021 10:26:06 -0400 Subject: nix: adjust, packages in shell.nix --- nix/pkglst/packages_ruby_2_6.nix | 5 ++++- nix/pkglst/packages_ruby_3_0.nix | 5 ++++- org/sisu_build.org | 38 +++++++++++++++++++++++++++++++++----- packages.nix | 14 -------------- shell.nix | 27 ++++++++++++++++++++++++--- 5 files changed, 65 insertions(+), 24 deletions(-) delete mode 100644 packages.nix mode change 100644 => 100755 shell.nix diff --git a/nix/pkglst/packages_ruby_2_6.nix b/nix/pkglst/packages_ruby_2_6.nix index 1d888388..f8f27323 100644 --- a/nix/pkglst/packages_ruby_2_6.nix +++ b/nix/pkglst/packages_ruby_2_6.nix @@ -1,6 +1,5 @@ { pkgs ? import {} }: with pkgs; [ - ruby_2_6 rubyPackages_2_6.rake rubyPackages_2_6.sqlite3 @@ -11,4 +10,8 @@ with pkgs; [ zip openssl #texlive-combined-full + nixFlakes + validatePkgConfig + jq + git ] diff --git a/nix/pkglst/packages_ruby_3_0.nix b/nix/pkglst/packages_ruby_3_0.nix index e943f7fe..66c9e0ba 100644 --- a/nix/pkglst/packages_ruby_3_0.nix +++ b/nix/pkglst/packages_ruby_3_0.nix @@ -1,6 +1,5 @@ { pkgs ? import {} }: with pkgs; [ - ruby_3_0 rubyPackages_3_0.rake rubyPackages_3_0.sqlite3 @@ -11,4 +10,8 @@ with pkgs; [ zip openssl #texlive-combined-full + nixFlakes + validatePkgConfig + jq + git ] diff --git a/org/sisu_build.org b/org/sisu_build.org index 31ecd908..cf1a7429 100644 --- a/org/sisu_build.org +++ b/org/sisu_build.org @@ -2545,7 +2545,25 @@ export RUBYLIB+=`pwd`/lib *** shell.nix TODO -#+BEGIN_SRC nix :tangle ../shell.nix +#+BEGIN_SRC nix :tangle ../shell.nix :tangle-mode (identity #o755) :shebang #!/usr/bin/env -S nix-shell --pure +{ pkgs ? import {} }: +pkgs.mkShell { + buildInputs = [( + with pkgs; [ + <> + <> + <> + ] + )]; + shellHook = '' + if [[ -e ".envrc" ]]; then + source .envrc + fi + ''; +} +#+END_SRC + +#+BEGIN_SRC nix :NO-tangle ../shell.nix { pkgs ? import {} }: pkgs.mkShell { buildInputs = [ @@ -2557,12 +2575,12 @@ pkgs.mkShell { *** packages.nix **** default -#+BEGIN_SRC nix :tangle ../packages.nix +#+BEGIN_SRC nix :NO-tangle ../packages.nix { pkgs ? import {} }: with pkgs; [ - <> <> <> + <> ] #+END_SRC @@ -2571,9 +2589,9 @@ with pkgs; [ #+BEGIN_SRC nix :tangle ../nix/pkglst/packages_ruby_3_0.nix { pkgs ? import {} }: with pkgs; [ - <> <> <> + <> ] #+END_SRC @@ -2582,9 +2600,9 @@ with pkgs; [ #+BEGIN_SRC nix :tangle ../nix/pkglst/packages_ruby_2_6.nix { pkgs ? import {} }: with pkgs; [ - <> <> <> + <> ] #+END_SRC @@ -2649,6 +2667,16 @@ openssl #texlive-combined-full #+END_SRC +*** project misc build packages + +#+NAME: packages_build +#+BEGIN_SRC nix +nixFlakes +validatePkgConfig +jq +git +#+END_SRC + * descriptions ** README diff --git a/packages.nix b/packages.nix deleted file mode 100644 index e943f7fe..00000000 --- a/packages.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ pkgs ? import {} }: -with pkgs; [ - - ruby_3_0 - rubyPackages_3_0.rake - rubyPackages_3_0.sqlite3 - rubyPackages_3_0.thor - sqlite - unzip - xz - zip - openssl - #texlive-combined-full -] diff --git a/shell.nix b/shell.nix old mode 100644 new mode 100755 index 34300f62..5c0baa18 --- a/shell.nix +++ b/shell.nix @@ -1,6 +1,27 @@ +#!/usr/bin/env -S nix-shell --pure { pkgs ? import {} }: pkgs.mkShell { - buildInputs = [ - (import ./packages.nix { inherit pkgs; }) - ]; + buildInputs = [( + with pkgs; [ + ruby_3_0 + rubyPackages_3_0.rake + rubyPackages_3_0.sqlite3 + rubyPackages_3_0.thor + sqlite + unzip + xz + zip + openssl + #texlive-combined-full + nixFlakes + validatePkgConfig + jq + git + ] + )]; + shellHook = '' + if [[ -e ".envrc" ]]; then + source .envrc + fi + ''; } -- cgit v1.2.3 From dd6bd13ea98860ce840b53ea4333c529a429b8d5 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Mon, 8 Nov 2021 15:29:53 -0500 Subject: org, create output path if necessary, should not be --- org/abstraction.org | 1 + org/cgi.org | 1 + org/config.org | 1 + org/css.org | 1 + org/db.org | 1 + org/digests.org | 1 + org/env.org | 1 + org/harvest.org | 1 + org/html.org | 1 + org/hub.org | 1 + org/i18n.org | 1 + org/json.org | 1 + org/manpage.org | 1 + org/misc.org | 1 + org/object_munge.org | 1 + org/param.org | 1 + org/shared.org | 1 + org/sisu.org | 1 + org/sisu_build.org | 1 + org/src.org | 1 + org/sst.org | 1 + org/texinfo.org | 1 + org/texpdf.org | 1 + org/txt.org | 1 + org/utils.org | 1 + org/xhtml.org | 1 + org/xml.org | 1 + 27 files changed, 27 insertions(+) diff --git a/org/abstraction.org b/org/abstraction.org index 55bf302a..bbb15339 100644 --- a/org/abstraction.org +++ b/org/abstraction.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * ao.rb ** ao.rb diff --git a/org/cgi.org b/org/cgi.org index b127d405..ecf68c7e 100644 --- a/org/cgi.org +++ b/org/cgi.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * cgi ** cgi.rb diff --git a/org/config.org b/org/config.org index b44d9792..9b6321dc 100644 --- a/org/config.org +++ b/org/config.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * conf.rb diff --git a/org/css.org b/org/css.org index 266c0051..c3898ae9 100644 --- a/org/css.org +++ b/org/css.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * css.rb diff --git a/org/db.org b/org/db.org index 5343a464..7ac34c74 100644 --- a/org/db.org +++ b/org/db.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * dbi.rb diff --git a/org/digests.org b/org/digests.org index 7107f53f..86846f9e 100644 --- a/org/digests.org +++ b/org/digests.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * digests.rb diff --git a/org/env.org b/org/env.org index 36017be7..e8204b18 100644 --- a/org/env.org +++ b/org/env.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * sisu environment ** se.rb diff --git a/org/harvest.org b/org/harvest.org index ccc55123..fd528bae 100644 --- a/org/harvest.org +++ b/org/harvest.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * harvest ** html_harvest.rb diff --git a/org/html.org b/org/html.org index 80aef117..f83b6ccd 100644 --- a/org/html.org +++ b/org/html.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * html ** part diff --git a/org/hub.org b/org/hub.org index 3199aa35..4e2cbe7d 100644 --- a/org/hub.org +++ b/org/hub.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * hub ** hub.rb diff --git a/org/i18n.org b/org/i18n.org index 0aea09d6..99763f30 100644 --- a/org/i18n.org +++ b/org/i18n.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * i18n ** i18n.rb diff --git a/org/json.org b/org/json.org index c2c04a7c..0399c7fa 100644 --- a/org/json.org +++ b/org/json.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * json.rb diff --git a/org/manpage.org b/org/manpage.org index 67c3efc9..77379430 100644 --- a/org/manpage.org +++ b/org/manpage.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * manpage.rb diff --git a/org/misc.org b/org/misc.org index fb212b61..648d81dd 100644 --- a/org/misc.org +++ b/org/misc.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * misc sort ** air.rb diff --git a/org/object_munge.org b/org/object_munge.org index 7e3f95e5..2e8970d3 100644 --- a/org/object_munge.org +++ b/org/object_munge.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * object_munge.rb diff --git a/org/param.org b/org/param.org index 20dbdf49..2f17b338 100644 --- a/org/param.org +++ b/org/param.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * dp.rb diff --git a/org/shared.org b/org/shared.org index 66df485d..913fa490 100644 --- a/org/shared.org +++ b/org/shared.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * shared ** shared_sem.rb diff --git a/org/sisu.org b/org/sisu.org index 10b7f3e9..1a49da87 100644 --- a/org/sisu.org +++ b/org/sisu.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes [[./sisu_info.org][sisu_info.org]] [[./][org/]] [[./sisu_build.org][make/build]] VERSION diff --git a/org/sisu_build.org b/org/sisu_build.org index cf1a7429..70bfc4af 100644 --- a/org/sisu_build.org +++ b/org/sisu_build.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * sisu git CHANGELOG TODO ** git used TODO diff --git a/org/src.org b/org/src.org index cb74f8bb..d8199f3e 100644 --- a/org/src.org +++ b/org/src.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * src_sisupod_make.rb diff --git a/org/sst.org b/org/sst.org index 5cfe98d6..684bbd9c 100644 --- a/org/sst.org +++ b/org/sst.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * sst_from_xml.rb diff --git a/org/texinfo.org b/org/texinfo.org index 3046df51..88bc62fa 100644 --- a/org/texinfo.org +++ b/org/texinfo.org @@ -15,6 +15,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * texinfo.rb diff --git a/org/texpdf.org b/org/texpdf.org index 3aa25fcd..b52e1183 100644 --- a/org/texpdf.org +++ b/org/texpdf.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * texpdf ** texpdf.rb diff --git a/org/txt.org b/org/txt.org index e7fb6a7c..03fb8853 100644 --- a/org/txt.org +++ b/org/txt.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * types ** asciidoc diff --git a/org/utils.org b/org/utils.org index cb0a1e65..dc8db4c6 100644 --- a/org/utils.org +++ b/org/utils.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * utils ** utils.rb diff --git a/org/xhtml.org b/org/xhtml.org index 3fc576e9..de94d216 100644 --- a/org/xhtml.org +++ b/org/xhtml.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * xhtml.rb diff --git a/org/xml.org b/org/xml.org index 68452bfa..e010abb1 100644 --- a/org/xml.org +++ b/org/xml.org @@ -14,6 +14,7 @@ #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes * xml native ** xml_sax.rb -- cgit v1.2.3 From ff0951418e0c4355ac0235a0ea283f61f9462a3d Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Wed, 10 Nov 2021 13:48:18 -0500 Subject: rb file headers change, org-mode tangle whitespace issue --- lib/sisu.rb | 106 ++++++++++++++------------- lib/sisu/air.rb | 106 ++++++++++++++------------- lib/sisu/ao.rb | 106 ++++++++++++++------------- lib/sisu/ao_appendices.rb | 106 ++++++++++++++------------- lib/sisu/ao_character_check.rb | 106 ++++++++++++++------------- lib/sisu/ao_composite.rb | 106 ++++++++++++++------------- lib/sisu/ao_doc_objects.rb | 106 ++++++++++++++------------- lib/sisu/ao_doc_str.rb | 106 ++++++++++++++------------- lib/sisu/ao_endnotes.rb | 106 ++++++++++++++------------- lib/sisu/ao_expand_insertions.rb | 106 ++++++++++++++------------- lib/sisu/ao_hash_digest.rb | 106 ++++++++++++++------------- lib/sisu/ao_idx.rb | 106 ++++++++++++++------------- lib/sisu/ao_images.rb | 106 ++++++++++++++------------- lib/sisu/ao_metadata.rb | 106 ++++++++++++++------------- lib/sisu/ao_misc_arrange.rb | 106 ++++++++++++++------------- lib/sisu/ao_numbering.rb | 106 ++++++++++++++------------- lib/sisu/ao_persist.rb | 106 ++++++++++++++------------- lib/sisu/ao_syntax.rb | 106 ++++++++++++++------------- lib/sisu/cgi.rb | 106 ++++++++++++++------------- lib/sisu/cgi_pgsql.rb | 106 ++++++++++++++------------- lib/sisu/cgi_sql_common.rb | 106 ++++++++++++++------------- lib/sisu/cgi_sqlite.rb | 106 ++++++++++++++------------- lib/sisu/conf.rb | 104 +++++++++++++------------- lib/sisu/constants.rb | 106 ++++++++++++++------------- lib/sisu/css.rb | 106 ++++++++++++++------------- lib/sisu/db_columns.rb | 106 ++++++++++++++------------- lib/sisu/db_create.rb | 106 ++++++++++++++------------- lib/sisu/db_dbi.rb | 106 ++++++++++++++------------- lib/sisu/db_drop.rb | 106 ++++++++++++++------------- lib/sisu/db_import.rb | 106 ++++++++++++++------------- lib/sisu/db_indexes.rb | 106 ++++++++++++++------------- lib/sisu/db_load_tuple.rb | 106 ++++++++++++++------------- lib/sisu/db_remove.rb | 106 ++++++++++++++------------- lib/sisu/db_select.rb | 106 ++++++++++++++------------- lib/sisu/db_sqltxt.rb | 106 ++++++++++++++------------- lib/sisu/db_tests.rb | 106 ++++++++++++++------------- lib/sisu/dbi.rb | 106 ++++++++++++++------------- lib/sisu/dbi_discrete.rb | 106 ++++++++++++++------------- lib/sisu/digests.rb | 106 ++++++++++++++------------- lib/sisu/dp.rb | 106 ++++++++++++++------------- lib/sisu/dp_identify_markup.rb | 106 ++++++++++++++------------- lib/sisu/dp_make.rb | 106 ++++++++++++++------------- lib/sisu/embedded.rb | 106 ++++++++++++++------------- lib/sisu/errors.rb | 106 ++++++++++++++------------- lib/sisu/generic_parts.rb | 106 ++++++++++++++------------- lib/sisu/git.rb | 106 ++++++++++++++------------- lib/sisu/html.rb | 106 ++++++++++++++------------- lib/sisu/html_concordance.rb | 106 ++++++++++++++------------- lib/sisu/html_format.rb | 106 ++++++++++++++------------- lib/sisu/html_harvest.rb | 106 ++++++++++++++------------- lib/sisu/html_harvest_author_format.rb | 106 ++++++++++++++------------- lib/sisu/html_harvest_authors.rb | 106 ++++++++++++++------------- lib/sisu/html_harvest_topics.rb | 106 ++++++++++++++------------- lib/sisu/html_lite_shared.rb | 106 ++++++++++++++------------- lib/sisu/html_manifest.rb | 106 ++++++++++++++------------- lib/sisu/html_minitoc.rb | 106 ++++++++++++++------------- lib/sisu/html_parts.rb | 106 ++++++++++++++------------- lib/sisu/html_persist.rb | 106 ++++++++++++++------------- lib/sisu/html_promo.rb | 106 ++++++++++++++------------- lib/sisu/html_scroll.rb | 106 ++++++++++++++------------- lib/sisu/html_segments.rb | 106 ++++++++++++++------------- lib/sisu/html_shared.rb | 106 ++++++++++++++------------- lib/sisu/html_table.rb | 106 ++++++++++++++------------- lib/sisu/html_tune.rb | 106 ++++++++++++++------------- lib/sisu/hub.rb | 106 ++++++++++++++------------- lib/sisu/hub_actions.rb | 106 ++++++++++++++------------- lib/sisu/hub_loop_markup_files.rb | 106 ++++++++++++++------------- lib/sisu/hub_options.rb | 106 ++++++++++++++------------- lib/sisu/i18n.rb | 106 ++++++++++++++------------- lib/sisu/json.rb | 106 ++++++++++++++------------- lib/sisu/json_format.rb | 106 ++++++++++++++------------- lib/sisu/json_parts.rb | 106 ++++++++++++++------------- lib/sisu/json_persist.rb | 106 ++++++++++++++------------- lib/sisu/json_shared.rb | 106 ++++++++++++++------------- lib/sisu/manpage.rb | 106 ++++++++++++++------------- lib/sisu/manpage_format.rb | 106 ++++++++++++++------------- lib/sisu/object_munge.rb | 106 ++++++++++++++------------- lib/sisu/prog_text_translation.rb | 106 ++++++++++++++------------- lib/sisu/qrcode.rb | 106 ++++++++++++++------------- lib/sisu/relaxng.rb | 106 ++++++++++++++------------- lib/sisu/remote.rb | 106 ++++++++++++++------------- lib/sisu/rexml.rb | 106 ++++++++++++++------------- lib/sisu/se.rb | 32 ++++---- lib/sisu/se_cleanoutput.rb | 32 ++++---- lib/sisu/se_clear.rb | 32 ++++---- lib/sisu/se_createsite.rb | 32 ++++---- lib/sisu/se_css.rb | 32 ++++---- lib/sisu/se_date.rb | 32 ++++---- lib/sisu/se_db.rb | 32 ++++---- lib/sisu/se_envcall.rb | 106 ++++++++++++++------------- lib/sisu/se_file_op.rb | 106 ++++++++++++++------------- lib/sisu/se_filemap.rb | 106 ++++++++++++++------------- lib/sisu/se_get_init.rb | 106 ++++++++++++++------------- lib/sisu/se_hub_particulars.rb | 106 ++++++++++++++------------- lib/sisu/se_info_env.rb | 106 ++++++++++++++------------- lib/sisu/se_info_port.rb | 106 ++++++++++++++------------- lib/sisu/se_info_system.rb | 106 ++++++++++++++------------- lib/sisu/se_load.rb | 106 ++++++++++++++------------- lib/sisu/se_processing.rb | 106 ++++++++++++++------------- lib/sisu/se_programs.rb | 106 ++++++++++++++------------- lib/sisu/se_remotes.rb | 106 ++++++++++++++------------- lib/sisu/se_standardise_lang.rb | 106 ++++++++++++++------------- lib/sisu/se_version.rb | 106 ++++++++++++++------------- lib/sisu/shared_images.rb | 106 ++++++++++++++------------- lib/sisu/shared_markup_alt.rb | 106 ++++++++++++++------------- lib/sisu/shared_metadata.rb | 106 ++++++++++++++------------- lib/sisu/shared_sem.rb | 106 ++++++++++++++------------- lib/sisu/sisu_thor_lib.rb | 106 ++++++++++++++------------- lib/sisu/sitemaps.rb | 106 ++++++++++++++------------- lib/sisu/src_kdissert_share.rb | 106 ++++++++++++++------------- lib/sisu/src_po4a_share.rb | 106 ++++++++++++++------------- lib/sisu/src_po4a_shelf.rb | 106 ++++++++++++++------------- lib/sisu/src_po4a_shelf_set.rb | 106 ++++++++++++++------------- lib/sisu/src_po4a_sst_ao_sst.rb | 106 ++++++++++++++------------- lib/sisu/src_po4a_sst_ao_sst_set.rb | 106 ++++++++++++++------------- lib/sisu/src_po4a_sstm.rb | 106 ++++++++++++++------------- lib/sisu/src_shared.rb | 106 ++++++++++++++------------- lib/sisu/src_sisupod_make.rb | 106 ++++++++++++++------------- lib/sisu/src_sisupod_sstm.rb | 106 ++++++++++++++------------- lib/sisu/sst_convert_markup.rb | 106 ++++++++++++++------------- lib/sisu/sst_do_inline_footnotes.rb | 106 ++++++++++++++------------- lib/sisu/sst_from_xml.rb | 106 ++++++++++++++------------- lib/sisu/sst_identify_markup.rb | 106 ++++++++++++++------------- lib/sisu/sst_to_s_xml_sax.rb | 106 ++++++++++++++------------- lib/sisu/termsheet.rb | 106 ++++++++++++++------------- lib/sisu/texinfo.rb | 106 ++++++++++++++------------- lib/sisu/texinfo_format.rb | 106 ++++++++++++++------------- lib/sisu/texpdf.rb | 106 ++++++++++++++------------- lib/sisu/texpdf_format.rb | 106 ++++++++++++++------------- lib/sisu/texpdf_parts.rb | 106 ++++++++++++++------------- lib/sisu/txt_asciidoc.rb | 106 ++++++++++++++------------- lib/sisu/txt_asciidoc_decorate.rb | 106 ++++++++++++++------------- lib/sisu/txt_markdown.rb | 106 ++++++++++++++------------- lib/sisu/txt_markdown_decorate.rb | 106 ++++++++++++++------------- lib/sisu/txt_orgmode.rb | 106 ++++++++++++++------------- lib/sisu/txt_orgmode_decorate.rb | 106 ++++++++++++++------------- lib/sisu/txt_output.rb | 106 ++++++++++++++------------- lib/sisu/txt_plain.rb | 106 ++++++++++++++------------- lib/sisu/txt_plain_decorate.rb | 106 ++++++++++++++------------- lib/sisu/txt_read.rb | 106 ++++++++++++++------------- lib/sisu/txt_rst.rb | 106 ++++++++++++++------------- lib/sisu/txt_rst_decorate.rb | 106 ++++++++++++++------------- lib/sisu/txt_shared.rb | 106 ++++++++++++++------------- lib/sisu/txt_textile.rb | 106 ++++++++++++++------------- lib/sisu/txt_textile_decorate.rb | 106 ++++++++++++++------------- lib/sisu/update.rb | 106 ++++++++++++++------------- lib/sisu/urls.rb | 106 ++++++++++++++------------- lib/sisu/utils.rb | 106 ++++++++++++++------------- lib/sisu/utils_composite.rb | 106 ++++++++++++++------------- lib/sisu/utils_response.rb | 106 ++++++++++++++------------- lib/sisu/utils_screen_text_color.rb | 106 ++++++++++++++------------- lib/sisu/utils_spell.rb | 106 ++++++++++++++------------- lib/sisu/webrick.rb | 106 ++++++++++++++------------- lib/sisu/wikispeak.rb | 106 ++++++++++++++------------- lib/sisu/xhtml.rb | 106 ++++++++++++++------------- lib/sisu/xhtml_epub2.rb | 106 ++++++++++++++------------- lib/sisu/xhtml_epub2_concordance.rb | 106 ++++++++++++++------------- lib/sisu/xhtml_epub2_format.rb | 106 ++++++++++++++------------- lib/sisu/xhtml_epub2_persist.rb | 106 ++++++++++++++------------- lib/sisu/xhtml_epub2_segments.rb | 106 ++++++++++++++------------- lib/sisu/xhtml_epub2_tune.rb | 106 ++++++++++++++------------- lib/sisu/xhtml_parts.rb | 106 ++++++++++++++------------- lib/sisu/xhtml_shared.rb | 106 ++++++++++++++------------- lib/sisu/xhtml_table.rb | 106 ++++++++++++++------------- lib/sisu/xml_docbook5.rb | 106 ++++++++++++++------------- lib/sisu/xml_dom.rb | 106 ++++++++++++++------------- lib/sisu/xml_fictionbook2.rb | 106 ++++++++++++++------------- lib/sisu/xml_format.rb | 106 ++++++++++++++------------- lib/sisu/xml_md_oai_pmh_dc.rb | 106 ++++++++++++++------------- lib/sisu/xml_odf_odt.rb | 106 ++++++++++++++------------- lib/sisu/xml_odf_odt_format.rb | 106 ++++++++++++++------------- lib/sisu/xml_parts.rb | 106 ++++++++++++++------------- lib/sisu/xml_persist.rb | 106 ++++++++++++++------------- lib/sisu/xml_sax.rb | 106 ++++++++++++++------------- lib/sisu/xml_scaffold_structure_collapsed.rb | 106 ++++++++++++++------------- lib/sisu/xml_scaffold_structure_sisu.rb | 106 ++++++++++++++------------- lib/sisu/xml_shared.rb | 106 ++++++++++++++------------- lib/sisu/xml_tables.rb | 106 ++++++++++++++------------- lib/sisu/zap.rb | 106 ++++++++++++++------------- org/abstraction.org | 38 +++++----- org/cgi.org | 12 +-- org/config.org | 6 +- org/css.org | 6 +- org/db.org | 30 ++++---- org/digests.org | 6 +- org/env.org | 32 ++++---- org/harvest.org | 12 +-- org/html.org | 32 ++++---- org/hub.org | 12 +-- org/i18n.org | 8 +- org/json.org | 14 ++-- org/manpage.org | 8 +- org/misc.org | 34 +++++---- org/object_munge.org | 6 +- org/param.org | 10 ++- org/shared.org | 16 ++-- org/sisu.org | 6 +- org/sisu_build.org | 7 +- org/src.org | 24 +++--- org/sst.org | 14 ++-- org/texinfo.org | 8 +- org/texpdf.org | 10 ++- org/txt.org | 34 +++++---- org/utils.org | 14 ++-- org/xhtml.org | 24 +++--- org/xml.org | 32 ++++---- 206 files changed, 9660 insertions(+), 9249 deletions(-) diff --git a/lib/sisu.rb b/lib/sisu.rb index 7fb49eba..155ad404 100644 --- a/lib/sisu.rb +++ b/lib/sisu.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# sisu -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + sisu + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_libs require_relative 'sisu/hub' # sisu/hub.rb require_relative 'sisu/se' # sisu/se.rb diff --git a/lib/sisu/air.rb b/lib/sisu/air.rb index 3644ebc6..8f00b89f 100644 --- a/lib/sisu/air.rb +++ b/lib/sisu/air.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# misc -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Air require_relative 'se_hub_particulars' # se_hub_particulars.rb class Source diff --git a/lib/sisu/ao.rb b/lib/sisu/ao.rb index 02dbad3e..3e90a8a1 100644 --- a/lib/sisu/ao.rb +++ b/lib/sisu/ao.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_AO require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/ao_appendices.rb b/lib/sisu/ao_appendices.rb index 6b0d09e5..3e564772 100644 --- a/lib/sisu/ao_appendices.rb +++ b/lib/sisu/ao_appendices.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_AO_Appendices class Glossary def initialize(md,data) diff --git a/lib/sisu/ao_character_check.rb b/lib/sisu/ao_character_check.rb index 434902c2..550e500c 100644 --- a/lib/sisu/ao_character_check.rb +++ b/lib/sisu/ao_character_check.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_AO_CharacterCheck class Check def initialize(data) diff --git a/lib/sisu/ao_composite.rb b/lib/sisu/ao_composite.rb index 81b3808f..0af877a1 100644 --- a/lib/sisu/ao_composite.rb +++ b/lib/sisu/ao_composite.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Assemble require_relative 'se' # se.rb require_relative 'utils_composite' # utils_composite.rb diff --git a/lib/sisu/ao_doc_objects.rb b/lib/sisu/ao_doc_objects.rb index 9b18af2b..7a0766b8 100644 --- a/lib/sisu/ao_doc_objects.rb +++ b/lib/sisu/ao_doc_objects.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_AO_DocumentStructure class Extract def extract(h,o) diff --git a/lib/sisu/ao_doc_str.rb b/lib/sisu/ao_doc_str.rb index 08394b92..a5629dcd 100644 --- a/lib/sisu/ao_doc_str.rb +++ b/lib/sisu/ao_doc_str.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_AO_DocumentStructureExtract require_relative 'ao_persist' # ao_persist.rb class Instantiate < SiSU_Param::Parameters::Instructions diff --git a/lib/sisu/ao_endnotes.rb b/lib/sisu/ao_endnotes.rb index 96b217e7..f41efce9 100644 --- a/lib/sisu/ao_endnotes.rb +++ b/lib/sisu/ao_endnotes.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_AO_Endnotes class Endnotes def initialize(md,data,endnote_array=nil) diff --git a/lib/sisu/ao_expand_insertions.rb b/lib/sisu/ao_expand_insertions.rb index 38e05d9c..27866b56 100644 --- a/lib/sisu/ao_expand_insertions.rb +++ b/lib/sisu/ao_expand_insertions.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_AO_Insertions class Insertions def initialize(md,data) diff --git a/lib/sisu/ao_hash_digest.rb b/lib/sisu/ao_hash_digest.rb index 853fc9e6..7c327ba4 100644 --- a/lib/sisu/ao_hash_digest.rb +++ b/lib/sisu/ao_hash_digest.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_AO_Hash require_relative 'shared_markup_alt.rb' #shared_markup_alt.rb class ObjectDigest diff --git a/lib/sisu/ao_idx.rb b/lib/sisu/ao_idx.rb index 506c2cc7..8b9835a8 100644 --- a/lib/sisu/ao_idx.rb +++ b/lib/sisu/ao_idx.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_AO_BookIndex class BookIndex def initialize(md,data,env=nil) diff --git a/lib/sisu/ao_images.rb b/lib/sisu/ao_images.rb index ce685090..f013a5c7 100644 --- a/lib/sisu/ao_images.rb +++ b/lib/sisu/ao_images.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_AO_Images class Images begin diff --git a/lib/sisu/ao_metadata.rb b/lib/sisu/ao_metadata.rb index 165d5fb2..30915244 100644 --- a/lib/sisu/ao_metadata.rb +++ b/lib/sisu/ao_metadata.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_AO_Metadata class Metadata def initialize(md,metad) diff --git a/lib/sisu/ao_misc_arrange.rb b/lib/sisu/ao_misc_arrange.rb index 5f107f04..b70aa43f 100644 --- a/lib/sisu/ao_misc_arrange.rb +++ b/lib/sisu/ao_misc_arrange.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_AO_MiscArrangeText class SI def initialize(md,data) diff --git a/lib/sisu/ao_numbering.rb b/lib/sisu/ao_numbering.rb index 7cfff564..615b45d6 100644 --- a/lib/sisu/ao_numbering.rb +++ b/lib/sisu/ao_numbering.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_AO_Numbering class Numbering attr_accessor :obj,:osp,:ocn,:lv,:name,:index,:comment diff --git a/lib/sisu/ao_persist.rb b/lib/sisu/ao_persist.rb index 9c7d32c4..316ad28c 100644 --- a/lib/sisu/ao_persist.rb +++ b/lib/sisu/ao_persist.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_AO_Persist class Persist @@persistance=nil diff --git a/lib/sisu/ao_syntax.rb b/lib/sisu/ao_syntax.rb index 163d080f..700d997d 100644 --- a/lib/sisu/ao_syntax.rb +++ b/lib/sisu/ao_syntax.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# abstraction -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + abstraction + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_AO_Syntax class Words def initialize(line,md,mkp) diff --git a/lib/sisu/cgi.rb b/lib/sisu/cgi.rb index 4836f385..18857117 100644 --- a/lib/sisu/cgi.rb +++ b/lib/sisu/cgi.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# cgi -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + cgi + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_CGI #% database building documents require_relative 'se' # se.rb require_relative 'cgi_pgsql' # cgi_pgsql.rb diff --git a/lib/sisu/cgi_pgsql.rb b/lib/sisu/cgi_pgsql.rb index 490ab62d..7fd18bd9 100644 --- a/lib/sisu/cgi_pgsql.rb +++ b/lib/sisu/cgi_pgsql.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# cgi -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + cgi + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_CGI_PgSQL #% database building documents require_relative 'se' # se.rb require_relative 'cgi_sql_common' # cgi_sql_common.rb diff --git a/lib/sisu/cgi_sql_common.rb b/lib/sisu/cgi_sql_common.rb index 2c75393e..4705e5e9 100644 --- a/lib/sisu/cgi_sql_common.rb +++ b/lib/sisu/cgi_sql_common.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# cgi -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + cgi + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_CGI_SQL class CGI_Common def initialize(webserv,opt,image_src,dir) diff --git a/lib/sisu/cgi_sqlite.rb b/lib/sisu/cgi_sqlite.rb index cc77c45e..c822744d 100644 --- a/lib/sisu/cgi_sqlite.rb +++ b/lib/sisu/cgi_sqlite.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# cgi -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + cgi + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_CGI_SQLite #% database building documents require_relative 'se' # se.rb require_relative 'cgi_sql_common' # cgi_sql_common.rb diff --git a/lib/sisu/conf.rb b/lib/sisu/conf.rb index 800add9c..52de51be 100644 --- a/lib/sisu/conf.rb +++ b/lib/sisu/conf.rb @@ -1,54 +1,56 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# config -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, Ralph Amissah, -# -# - 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + config + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, Ralph Amissah, + + - 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Initialize require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/constants.rb b/lib/sisu/constants.rb index da25b7cd..d4e47aed 100644 --- a/lib/sisu/constants.rb +++ b/lib/sisu/constants.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# shared -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + shared + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end YEAR='2021' Sfx={ txt: '.txt', diff --git a/lib/sisu/css.rb b/lib/sisu/css.rb index 6994e04b..ec7c9396 100644 --- a/lib/sisu/css.rb +++ b/lib/sisu/css.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# css -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + css + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Style require_relative 'se' # se.rb require_relative 'html_parts' # html_parts.rb diff --git a/lib/sisu/db_columns.rb b/lib/sisu/db_columns.rb index 8722d38d..d3625879 100644 --- a/lib/sisu/db_columns.rb +++ b/lib/sisu/db_columns.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# db sql -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + db sql + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_DbColumns require_relative 'se' # se.rb require_relative 'db_sqltxt' # db_sqltxt.rb diff --git a/lib/sisu/db_create.rb b/lib/sisu/db_create.rb index e61eb7d0..40328349 100644 --- a/lib/sisu/db_create.rb +++ b/lib/sisu/db_create.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# db sql -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + db sql + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_DbCreate require_relative 'db_columns' # db_columns.rb class Create < SiSU_DbColumns::Columns diff --git a/lib/sisu/db_dbi.rb b/lib/sisu/db_dbi.rb index d453dfe0..9d5ac2b1 100644 --- a/lib/sisu/db_dbi.rb +++ b/lib/sisu/db_dbi.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# db sql -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + db sql + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_DbDBI require_relative 'db_columns' # db_columns.rb require_relative 'db_tests' # db_tests.rb diff --git a/lib/sisu/db_drop.rb b/lib/sisu/db_drop.rb index aa91a8a6..c8d24aeb 100644 --- a/lib/sisu/db_drop.rb +++ b/lib/sisu/db_drop.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# db sql -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + db sql + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_DbDrop require_relative 'utils_response' # utils_response.rb class Drop diff --git a/lib/sisu/db_import.rb b/lib/sisu/db_import.rb index 84cbc911..ea1d31bd 100644 --- a/lib/sisu/db_import.rb +++ b/lib/sisu/db_import.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# db sql -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + db sql + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_DbImport require_relative 'db_columns' # db_columns.rb require_relative 'db_load_tuple' # db_load_tuple.rb diff --git a/lib/sisu/db_indexes.rb b/lib/sisu/db_indexes.rb index 519a0c11..dc34075b 100644 --- a/lib/sisu/db_indexes.rb +++ b/lib/sisu/db_indexes.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# db sql -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + db sql + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_DbIndex class Index # create documents Indexes def initialize(opt,conn='',sql_type) def initialize(opt,conn,file,sql_type) diff --git a/lib/sisu/db_load_tuple.rb b/lib/sisu/db_load_tuple.rb index 84561fb7..f197d1ab 100644 --- a/lib/sisu/db_load_tuple.rb +++ b/lib/sisu/db_load_tuple.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# db sql -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + db sql + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_DbTuple require_relative 'db_columns' # db_columns.rb class LoadDocuments diff --git a/lib/sisu/db_remove.rb b/lib/sisu/db_remove.rb index 26a232a9..d40e8dec 100644 --- a/lib/sisu/db_remove.rb +++ b/lib/sisu/db_remove.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# db sql -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + db sql + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_DbRemove class Remove include SiSU_DbAction diff --git a/lib/sisu/db_select.rb b/lib/sisu/db_select.rb index d2e17835..72f6d927 100644 --- a/lib/sisu/db_select.rb +++ b/lib/sisu/db_select.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# db sql -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + db sql + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_DbAction def db_action(sdb) @sdb=sdb diff --git a/lib/sisu/db_sqltxt.rb b/lib/sisu/db_sqltxt.rb index 7adee45c..8050a69e 100644 --- a/lib/sisu/db_sqltxt.rb +++ b/lib/sisu/db_sqltxt.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# db sql -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + db sql + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_DbText class Prepare def special_character_escape(str) diff --git a/lib/sisu/db_tests.rb b/lib/sisu/db_tests.rb index d6e81921..1b7e8f88 100644 --- a/lib/sisu/db_tests.rb +++ b/lib/sisu/db_tests.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# db sql -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + db sql + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_DbTests class Test def initialize(info,opt) diff --git a/lib/sisu/dbi.rb b/lib/sisu/dbi.rb index d2bddb1d..48331f3d 100644 --- a/lib/sisu/dbi.rb +++ b/lib/sisu/dbi.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# db sql -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + db sql + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_DBI #% database building require_relative 'se' # se.rb include SiSU_Env; include SiSU_Screen diff --git a/lib/sisu/dbi_discrete.rb b/lib/sisu/dbi_discrete.rb index a80114cf..08a08670 100644 --- a/lib/sisu/dbi_discrete.rb +++ b/lib/sisu/dbi_discrete.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# db sql -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + db sql + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_DBI_Discrete #% database building require_relative 'se' # se.rb include SiSU_Env; include SiSU_Screen diff --git a/lib/sisu/digests.rb b/lib/sisu/digests.rb index fcd7a753..84baf8f5 100644 --- a/lib/sisu/digests.rb +++ b/lib/sisu/digests.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# digests -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + digests + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_DigestView require_relative 'se_hub_particulars' # se_hub_particulars.rb require_relative 'prog_text_translation' # prog_text_translation.rb diff --git a/lib/sisu/dp.rb b/lib/sisu/dp.rb index 85b71c10..ce069cd4 100644 --- a/lib/sisu/dp.rb +++ b/lib/sisu/dp.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# param -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + param + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Param begin require 'uri' diff --git a/lib/sisu/dp_identify_markup.rb b/lib/sisu/dp_identify_markup.rb index 8439bff3..0e9d2ee3 100644 --- a/lib/sisu/dp_identify_markup.rb +++ b/lib/sisu/dp_identify_markup.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# param -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + param + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_MarkupType class MarkupIdentify @@version={} diff --git a/lib/sisu/dp_make.rb b/lib/sisu/dp_make.rb index 25dfca6f..e0f376ef 100644 --- a/lib/sisu/dp_make.rb +++ b/lib/sisu/dp_make.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# param -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + param + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Param_Make class MdMake def initialize(str,opt,env) diff --git a/lib/sisu/embedded.rb b/lib/sisu/embedded.rb index 066cc39a..9d758ca4 100644 --- a/lib/sisu/embedded.rb +++ b/lib/sisu/embedded.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# misc -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Embedded require_relative 'dp' # dp.rb include SiSU_Param diff --git a/lib/sisu/errors.rb b/lib/sisu/errors.rb index bff4e0e8..26ca8d81 100644 --- a/lib/sisu/errors.rb +++ b/lib/sisu/errors.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# misc -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Errors require_relative 'se' # se.rb include SiSU_Env; include SiSU_Screen diff --git a/lib/sisu/generic_parts.rb b/lib/sisu/generic_parts.rb index 4b1e0e6f..bef945a0 100644 --- a/lib/sisu/generic_parts.rb +++ b/lib/sisu/generic_parts.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# shared -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + shared + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Parts_Generic def the_url def urify(uri) diff --git a/lib/sisu/git.rb b/lib/sisu/git.rb index 3b0a040d..13894f66 100644 --- a/lib/sisu/git.rb +++ b/lib/sisu/git.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# misc -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Git require_relative 'dp' # dp.rb require_relative 'se' # se.rb diff --git a/lib/sisu/html.rb b/lib/sisu/html.rb index ffe0b7b7..511ddc43 100644 --- a/lib/sisu/html.rb +++ b/lib/sisu/html.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# html -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + html + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_HTML begin require 'pstore' diff --git a/lib/sisu/html_concordance.rb b/lib/sisu/html_concordance.rb index b80d2761..c6744d92 100644 --- a/lib/sisu/html_concordance.rb +++ b/lib/sisu/html_concordance.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# html -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + html + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Concordance require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/html_format.rb b/lib/sisu/html_format.rb index 079edb3f..45710d44 100644 --- a/lib/sisu/html_format.rb +++ b/lib/sisu/html_format.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# html -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + html + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_HTML_Format require_relative 'html_parts' # html_parts.rb class ParagraphNumber diff --git a/lib/sisu/html_harvest.rb b/lib/sisu/html_harvest.rb index 22de54d7..67e71f53 100644 --- a/lib/sisu/html_harvest.rb +++ b/lib/sisu/html_harvest.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# harvest -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + harvest + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Harvest @@the_idx_topics,@@the_idx_authors={},{} class Source diff --git a/lib/sisu/html_harvest_author_format.rb b/lib/sisu/html_harvest_author_format.rb index 20f9d3d0..7459fe30 100644 --- a/lib/sisu/html_harvest_author_format.rb +++ b/lib/sisu/html_harvest_author_format.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# harvest -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + harvest + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_FormatAuthor class Author def initialize(author_param) diff --git a/lib/sisu/html_harvest_authors.rb b/lib/sisu/html_harvest_authors.rb index fbf6b9bc..a28c9b64 100644 --- a/lib/sisu/html_harvest_authors.rb +++ b/lib/sisu/html_harvest_authors.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# harvest -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + harvest + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_HarvestAuthors require_relative 'html_harvest_author_format' # html_harvest_author_format.rb require_relative 'html_parts' # html_parts.rb diff --git a/lib/sisu/html_harvest_topics.rb b/lib/sisu/html_harvest_topics.rb index d6715aa0..85726bee 100644 --- a/lib/sisu/html_harvest_topics.rb +++ b/lib/sisu/html_harvest_topics.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# harvest -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + harvest + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_HarvestTopics require_relative 'html_harvest_author_format' # html_harvest_author_format.rb require_relative 'html_parts' # html_parts.rb diff --git a/lib/sisu/html_lite_shared.rb b/lib/sisu/html_lite_shared.rb index f4260fa8..6a05b5bb 100644 --- a/lib/sisu/html_lite_shared.rb +++ b/lib/sisu/html_lite_shared.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# html -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + html + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_FormatShared require_relative 'html_parts' # html_parts.rb class CSS_Format diff --git a/lib/sisu/html_manifest.rb b/lib/sisu/html_manifest.rb index 28117a00..f61edd97 100644 --- a/lib/sisu/html_manifest.rb +++ b/lib/sisu/html_manifest.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# html -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + html + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Manifest require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/html_minitoc.rb b/lib/sisu/html_minitoc.rb index 9346af8b..495328c2 100644 --- a/lib/sisu/html_minitoc.rb +++ b/lib/sisu/html_minitoc.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# html -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + html + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_HTML_MiniToc require_relative 'html_tune' # html_tune.rb include SiSU_HTML_Tune diff --git a/lib/sisu/html_parts.rb b/lib/sisu/html_parts.rb index 60e0b4ea..d57cc0a9 100644 --- a/lib/sisu/html_parts.rb +++ b/lib/sisu/html_parts.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# html -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + html + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Parts_HTML require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic diff --git a/lib/sisu/html_persist.rb b/lib/sisu/html_persist.rb index 843d9414..11adf99a 100644 --- a/lib/sisu/html_persist.rb +++ b/lib/sisu/html_persist.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# html -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + html + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_HTML_Persist class Persist @@persist=nil diff --git a/lib/sisu/html_promo.rb b/lib/sisu/html_promo.rb index b7754e99..6b1f3e9c 100644 --- a/lib/sisu/html_promo.rb +++ b/lib/sisu/html_promo.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# html -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + html + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_HTML_Promo require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/html_scroll.rb b/lib/sisu/html_scroll.rb index 650c90dd..6cd97022 100644 --- a/lib/sisu/html_scroll.rb +++ b/lib/sisu/html_scroll.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# html -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + html + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_HTML_Scroll require_relative 'html_shared' # html_shared.rb require_relative 'html' # html.rb diff --git a/lib/sisu/html_segments.rb b/lib/sisu/html_segments.rb index 99f6b760..4df48f3a 100644 --- a/lib/sisu/html_segments.rb +++ b/lib/sisu/html_segments.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# html -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + html + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_HTML_Seg require_relative 'html_shared' # html_shared.rb require_relative 'html' # html.rb diff --git a/lib/sisu/html_shared.rb b/lib/sisu/html_shared.rb index 90f60d0a..ef02e6d9 100644 --- a/lib/sisu/html_shared.rb +++ b/lib/sisu/html_shared.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# html -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + html + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_HTML_Shared require_relative 'html_table' # html_table.rb class TableHTML < SiSU_HTML_Table::TableHTML diff --git a/lib/sisu/html_table.rb b/lib/sisu/html_table.rb index 2daffc2e..bb156437 100644 --- a/lib/sisu/html_table.rb +++ b/lib/sisu/html_table.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# html -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + html + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_HTML_Table require_relative 'xhtml_table' # xhtml_table.rb require_relative 'html_parts' # html_parts.rb diff --git a/lib/sisu/html_tune.rb b/lib/sisu/html_tune.rb index c1c8a531..c2b3be3b 100644 --- a/lib/sisu/html_tune.rb +++ b/lib/sisu/html_tune.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# html -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + html + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end require_relative 'dp' # dp.rb module SiSU_HTML_Tune require_relative 'se' # se.rb diff --git a/lib/sisu/hub.rb b/lib/sisu/hub.rb index 733d76fc..3f89f769 100644 --- a/lib/sisu/hub.rb +++ b/lib/sisu/hub.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# hub -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + hub + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU require_relative 'constants' # constants.rb require_relative 'se' # se.rb diff --git a/lib/sisu/hub_actions.rb b/lib/sisu/hub_actions.rb index ac692bc7..c3d826d9 100644 --- a/lib/sisu/hub_actions.rb +++ b/lib/sisu/hub_actions.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# hub -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + hub + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Hub_Actions class HubActions require_relative 'utils_composite' # utils_composite.rb diff --git a/lib/sisu/hub_loop_markup_files.rb b/lib/sisu/hub_loop_markup_files.rb index ca02c800..15a31b3d 100644 --- a/lib/sisu/hub_loop_markup_files.rb +++ b/lib/sisu/hub_loop_markup_files.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# hub -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + hub + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Hub_Loops require_relative 'constants' # constants.rb require_relative 'se' # se.rb diff --git a/lib/sisu/hub_options.rb b/lib/sisu/hub_options.rb index 9f71e74b..a2916a9f 100644 --- a/lib/sisu/hub_options.rb +++ b/lib/sisu/hub_options.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# hub -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + hub + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Commandline begin require 'pathname' diff --git a/lib/sisu/i18n.rb b/lib/sisu/i18n.rb index e9f11d50..d5822016 100644 --- a/lib/sisu/i18n.rb +++ b/lib/sisu/i18n.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# i18n -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + i18n + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_i18n @@language_table,@@language_list=nil,nil class Languages diff --git a/lib/sisu/json.rb b/lib/sisu/json.rb index 99fd20e0..798ea075 100644 --- a/lib/sisu/json.rb +++ b/lib/sisu/json.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# json -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + json + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_JSON require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/json_format.rb b/lib/sisu/json_format.rb index 6e00172d..b716aff7 100644 --- a/lib/sisu/json_format.rb +++ b/lib/sisu/json_format.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# json -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + json + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_JSON_Format require_relative 'dp' # dp.rb require_relative 'json_parts' # json_parts.rb diff --git a/lib/sisu/json_parts.rb b/lib/sisu/json_parts.rb index 2dce3049..40a22377 100644 --- a/lib/sisu/json_parts.rb +++ b/lib/sisu/json_parts.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# json -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + json + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Parts_JSON require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic diff --git a/lib/sisu/json_persist.rb b/lib/sisu/json_persist.rb index fdd15071..f68ca513 100644 --- a/lib/sisu/json_persist.rb +++ b/lib/sisu/json_persist.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# json -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + json + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_JSON_Persist class Persist @@persist=nil diff --git a/lib/sisu/json_shared.rb b/lib/sisu/json_shared.rb index 0125c444..750877b7 100644 --- a/lib/sisu/json_shared.rb +++ b/lib/sisu/json_shared.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# json -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + json + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_JSONutils require_relative 'generic_parts' # generic_parts.rb class Clean diff --git a/lib/sisu/manpage.rb b/lib/sisu/manpage.rb index 0961d457..ca969f36 100644 --- a/lib/sisu/manpage.rb +++ b/lib/sisu/manpage.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# manpage -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + manpage + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Manpage require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/manpage_format.rb b/lib/sisu/manpage_format.rb index 45694bc1..b72277dc 100644 --- a/lib/sisu/manpage_format.rb +++ b/lib/sisu/manpage_format.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# manpage -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + manpage + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_ManpageFormat require_relative 'dp' # dp.rb include SiSU_Param diff --git a/lib/sisu/object_munge.rb b/lib/sisu/object_munge.rb index 2d1fdf60..706e3e5e 100644 --- a/lib/sisu/object_munge.rb +++ b/lib/sisu/object_munge.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# object_munge -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + object_munge + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Object_Munge def i_src_o_strip_markup(txtobj) txtobj=txtobj. diff --git a/lib/sisu/prog_text_translation.rb b/lib/sisu/prog_text_translation.rb index 5ac594d4..cbc6f1bc 100644 --- a/lib/sisu/prog_text_translation.rb +++ b/lib/sisu/prog_text_translation.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# i18n -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + i18n + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Translate require_relative 'se' # se.rb include SiSU_Env; include SiSU_Param diff --git a/lib/sisu/qrcode.rb b/lib/sisu/qrcode.rb index 9e93f558..55be89f4 100644 --- a/lib/sisu/qrcode.rb +++ b/lib/sisu/qrcode.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# misc -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_QRcode require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/relaxng.rb b/lib/sisu/relaxng.rb index 8f1d0ba7..e2edcc74 100644 --- a/lib/sisu/relaxng.rb +++ b/lib/sisu/relaxng.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# misc -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Relaxng require_relative 'se' # se.rb class RelaxNG diff --git a/lib/sisu/remote.rb b/lib/sisu/remote.rb index c7dd1b01..425dc2ab 100644 --- a/lib/sisu/remote.rb +++ b/lib/sisu/remote.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# misc -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Remote require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/rexml.rb b/lib/sisu/rexml.rb index a9a2afc9..6556a975 100644 --- a/lib/sisu/rexml.rb +++ b/lib/sisu/rexml.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# misc -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Rexml # load XML file for REXML parsing begin diff --git a/lib/sisu/se.rb b/lib/sisu/se.rb index 009784f3..8bae44dc 100644 --- a/lib/sisu/se.rb +++ b/lib/sisu/se.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 +# #encoding: utf-8 +# =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # # +# =end module SiSU_Env #@@cX=nil require_relative 'constants' # constants.rb diff --git a/lib/sisu/se_cleanoutput.rb b/lib/sisu/se_cleanoutput.rb index 6d66f1b9..0269e8e3 100644 --- a/lib/sisu/se_cleanoutput.rb +++ b/lib/sisu/se_cleanoutput.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 +# #encoding: utf-8 +# =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # # +# =end module SiSU_Clean_Output require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_clear.rb b/lib/sisu/se_clear.rb index 52374439..e512192c 100644 --- a/lib/sisu/se_clear.rb +++ b/lib/sisu/se_clear.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 +# #encoding: utf-8 +# =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # # +# =end module SiSU_Clear require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_createsite.rb b/lib/sisu/se_createsite.rb index a680d022..1abb5915 100644 --- a/lib/sisu/se_createsite.rb +++ b/lib/sisu/se_createsite.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 +# #encoding: utf-8 +# =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # # +# =end module SiSU_Create_Site require_relative 'constants' # constants.rb require_relative 'html_parts' # html_parts.rb diff --git a/lib/sisu/se_css.rb b/lib/sisu/se_css.rb index 3d91636d..eef0406d 100644 --- a/lib/sisu/se_css.rb +++ b/lib/sisu/se_css.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 +# #encoding: utf-8 +# =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # # +# =end module SiSU_CSS require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_date.rb b/lib/sisu/se_date.rb index 11e8c3db..76112b32 100644 --- a/lib/sisu/se_date.rb +++ b/lib/sisu/se_date.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 +# #encoding: utf-8 +# =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # # +# =end module SiSU_Info_Date require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_db.rb b/lib/sisu/se_db.rb index 09fb81fc..d03cd0b8 100644 --- a/lib/sisu/se_db.rb +++ b/lib/sisu/se_db.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 +# #encoding: utf-8 +# =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # # +# =end module SiSU_Info_Db require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_envcall.rb b/lib/sisu/se_envcall.rb index 1913dcb4..7e9f6d2f 100644 --- a/lib/sisu/se_envcall.rb +++ b/lib/sisu/se_envcall.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + se + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Env_Call begin require 'singleton' diff --git a/lib/sisu/se_file_op.rb b/lib/sisu/se_file_op.rb index 3beea62c..2b151254 100644 --- a/lib/sisu/se_file_op.rb +++ b/lib/sisu/se_file_op.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + se + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Info_File require_relative 'utils' # utils.rb require_relative 'se_info_env' # se_info_env.rb diff --git a/lib/sisu/se_filemap.rb b/lib/sisu/se_filemap.rb index 2364d116..d55fd3d5 100644 --- a/lib/sisu/se_filemap.rb +++ b/lib/sisu/se_filemap.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + se + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_File_Map require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_get_init.rb b/lib/sisu/se_get_init.rb index 4fe593be..e9e34321 100644 --- a/lib/sisu/se_get_init.rb +++ b/lib/sisu/se_get_init.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + se + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Get_Init require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_hub_particulars.rb b/lib/sisu/se_hub_particulars.rb index da8844f3..93eafc39 100644 --- a/lib/sisu/se_hub_particulars.rb +++ b/lib/sisu/se_hub_particulars.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + se + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Particulars begin require 'singleton' diff --git a/lib/sisu/se_info_env.rb b/lib/sisu/se_info_env.rb index 382facf1..725eae33 100644 --- a/lib/sisu/se_info_env.rb +++ b/lib/sisu/se_info_env.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + se + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Info_Env @@current_document=Dir.pwd #nil #'' require_relative 'se_envcall' # se_envcall.rb diff --git a/lib/sisu/se_info_port.rb b/lib/sisu/se_info_port.rb index fc40de2f..16b6f1bc 100644 --- a/lib/sisu/se_info_port.rb +++ b/lib/sisu/se_info_port.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + se + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Info_Port require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_info_system.rb b/lib/sisu/se_info_system.rb index 400696d3..f3f00b99 100644 --- a/lib/sisu/se_info_system.rb +++ b/lib/sisu/se_info_system.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + se + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Info_Sys_Gen require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_load.rb b/lib/sisu/se_load.rb index bd3991da..91959886 100644 --- a/lib/sisu/se_load.rb +++ b/lib/sisu/se_load.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + se + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Load require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_processing.rb b/lib/sisu/se_processing.rb index 904812c6..c048e3c1 100644 --- a/lib/sisu/se_processing.rb +++ b/lib/sisu/se_processing.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + se + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Processing_Settings require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_programs.rb b/lib/sisu/se_programs.rb index 970bb24a..62f2b4bc 100644 --- a/lib/sisu/se_programs.rb +++ b/lib/sisu/se_programs.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + se + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Sys_Call begin require 'singleton' diff --git a/lib/sisu/se_remotes.rb b/lib/sisu/se_remotes.rb index f112589f..ee02fd45 100644 --- a/lib/sisu/se_remotes.rb +++ b/lib/sisu/se_remotes.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + se + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Info_Remote_Host require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_standardise_lang.rb b/lib/sisu/se_standardise_lang.rb index 688ececa..3b87cd45 100644 --- a/lib/sisu/se_standardise_lang.rb +++ b/lib/sisu/se_standardise_lang.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + se + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Standardise_Lang @@lang_info=nil class StandardiseLanguage diff --git a/lib/sisu/se_version.rb b/lib/sisu/se_version.rb index adf3b9be..6e7c8c9a 100644 --- a/lib/sisu/se_version.rb +++ b/lib/sisu/se_version.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + se + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Info_Version require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/shared_images.rb b/lib/sisu/shared_images.rb index 4badb84c..af2e3254 100644 --- a/lib/sisu/shared_images.rb +++ b/lib/sisu/shared_images.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# shared -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + shared + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Images require_relative 'se_hub_particulars' # se_hub_particulars.rb class Source diff --git a/lib/sisu/shared_markup_alt.rb b/lib/sisu/shared_markup_alt.rb index db3dbbfe..785544ed 100644 --- a/lib/sisu/shared_markup_alt.rb +++ b/lib/sisu/shared_markup_alt.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# shared -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + shared + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_TextRepresentation class Alter def initialize(x) diff --git a/lib/sisu/shared_metadata.rb b/lib/sisu/shared_metadata.rb index 3214107a..bf5833cc 100644 --- a/lib/sisu/shared_metadata.rb +++ b/lib/sisu/shared_metadata.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# shared -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + shared + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Metadata require_relative 'xml_parts' # xml_parts.rb require_relative 'xml_shared' # xml_shared.rb diff --git a/lib/sisu/shared_sem.rb b/lib/sisu/shared_sem.rb index 3e30de17..46849615 100644 --- a/lib/sisu/shared_sem.rb +++ b/lib/sisu/shared_sem.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# shared -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + shared + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Sem require_relative 'dp' # dp.rb class Tags diff --git a/lib/sisu/sisu_thor_lib.rb b/lib/sisu/sisu_thor_lib.rb index 80ad6fe2..5c6cfee7 100644 --- a/lib/sisu/sisu_thor_lib.rb +++ b/lib/sisu/sisu_thor_lib.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# sisu build -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + sisu build + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Po4a_Actions require_relative 'utils_response' # utils_response.rb include SiSU_Response diff --git a/lib/sisu/sitemaps.rb b/lib/sisu/sitemaps.rb index 90c1f2b8..8791a228 100644 --- a/lib/sisu/sitemaps.rb +++ b/lib/sisu/sitemaps.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# misc -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Sitemaps require_relative 'dp' # dp.rb include SiSU_Param diff --git a/lib/sisu/src_kdissert_share.rb b/lib/sisu/src_kdissert_share.rb index c9241b25..93678254 100644 --- a/lib/sisu/src_kdissert_share.rb +++ b/lib/sisu/src_kdissert_share.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# src -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + src + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_KdiSource require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/src_po4a_share.rb b/lib/sisu/src_po4a_share.rb index a4f1a01b..4b4b6bde 100644 --- a/lib/sisu/src_po4a_share.rb +++ b/lib/sisu/src_po4a_share.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# src -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + src + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Languages_Selected require_relative 'utils_response' # utils_response.rb def language diff --git a/lib/sisu/src_po4a_shelf.rb b/lib/sisu/src_po4a_shelf.rb index f8b749fc..9c8eb2a5 100644 --- a/lib/sisu/src_po4a_shelf.rb +++ b/lib/sisu/src_po4a_shelf.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# src -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + src + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Po4a require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/src_po4a_shelf_set.rb b/lib/sisu/src_po4a_shelf_set.rb index e3fc1c41..166848c6 100644 --- a/lib/sisu/src_po4a_shelf_set.rb +++ b/lib/sisu/src_po4a_shelf_set.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# src -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + src + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Po4aUtils class Wrap def initialize(md,orig='',trans='',is_desc='',n_char_max=76,n_indent=0,n_hang=nil) diff --git a/lib/sisu/src_po4a_sst_ao_sst.rb b/lib/sisu/src_po4a_sst_ao_sst.rb index 1aef9e0d..168a5fb1 100644 --- a/lib/sisu/src_po4a_sst_ao_sst.rb +++ b/lib/sisu/src_po4a_sst_ao_sst.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# src -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + src + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_SStm_AO_SStm require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/src_po4a_sst_ao_sst_set.rb b/lib/sisu/src_po4a_sst_ao_sst_set.rb index 278f6ae8..2852cb2e 100644 --- a/lib/sisu/src_po4a_sst_ao_sst_set.rb +++ b/lib/sisu/src_po4a_sst_ao_sst_set.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# src -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + src + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Po4aUtils class Wrap def initialize(md,orig='',trans='',n_char_max=76,n_indent=0,n_hang=nil) diff --git a/lib/sisu/src_po4a_sstm.rb b/lib/sisu/src_po4a_sstm.rb index 637fdfeb..7530b88c 100644 --- a/lib/sisu/src_po4a_sstm.rb +++ b/lib/sisu/src_po4a_sstm.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# src -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + src + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Markup require_relative 'src_shared' # src_shared.rb include SiSU_Source diff --git a/lib/sisu/src_shared.rb b/lib/sisu/src_shared.rb index 85a6ca69..91067c7d 100644 --- a/lib/sisu/src_shared.rb +++ b/lib/sisu/src_shared.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# src -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + src + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Source include SiSU_Env class SiSUpodSource diff --git a/lib/sisu/src_sisupod_make.rb b/lib/sisu/src_sisupod_make.rb index def08830..b31318ef 100644 --- a/lib/sisu/src_sisupod_make.rb +++ b/lib/sisu/src_sisupod_make.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# src -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + src + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Doc require_relative 'src_shared' # scr_shared.rb include SiSU_Source diff --git a/lib/sisu/src_sisupod_sstm.rb b/lib/sisu/src_sisupod_sstm.rb index 71f71552..a20614c0 100644 --- a/lib/sisu/src_sisupod_sstm.rb +++ b/lib/sisu/src_sisupod_sstm.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# src -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + src + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Markup require_relative 'src_shared' # src_shared.rb include SiSU_Source diff --git a/lib/sisu/sst_convert_markup.rb b/lib/sisu/sst_convert_markup.rb index ed646cbf..b1d9ac6e 100644 --- a/lib/sisu/sst_convert_markup.rb +++ b/lib/sisu/sst_convert_markup.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# sst -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + sst + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Modify require_relative 'sst_identify_markup' # sst_identify_markup.rb require_relative 'sst_from_xml' # sst_from_xml.rb diff --git a/lib/sisu/sst_do_inline_footnotes.rb b/lib/sisu/sst_do_inline_footnotes.rb index 16e420e8..4dbc1d24 100644 --- a/lib/sisu/sst_do_inline_footnotes.rb +++ b/lib/sisu/sst_do_inline_footnotes.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# sst -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + sst + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_ConvertFootnotes require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/sst_from_xml.rb b/lib/sisu/sst_from_xml.rb index dc822cb4..fe74c523 100644 --- a/lib/sisu/sst_from_xml.rb +++ b/lib/sisu/sst_from_xml.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# sst -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + sst + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_sstFromXML require_relative 'se' # se.rb class Convert diff --git a/lib/sisu/sst_identify_markup.rb b/lib/sisu/sst_identify_markup.rb index f1ee73e3..1c2e592c 100644 --- a/lib/sisu/sst_identify_markup.rb +++ b/lib/sisu/sst_identify_markup.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# sst -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + sst + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Markup class MarkupInform attr_accessor :version diff --git a/lib/sisu/sst_to_s_xml_sax.rb b/lib/sisu/sst_to_s_xml_sax.rb index 1480475b..7a1167c6 100644 --- a/lib/sisu/sst_to_s_xml_sax.rb +++ b/lib/sisu/sst_to_s_xml_sax.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# sst -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + sst + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_SimpleXML_ModelSax require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/termsheet.rb b/lib/sisu/termsheet.rb index ea5905bb..eb48d09d 100644 --- a/lib/sisu/termsheet.rb +++ b/lib/sisu/termsheet.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# misc -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end require_relative 'se' # se.rb require_relative 'dp' # dp.rb include SiSU_Param diff --git a/lib/sisu/texinfo.rb b/lib/sisu/texinfo.rb index ba8e1619..6bbe7466 100644 --- a/lib/sisu/texinfo.rb +++ b/lib/sisu/texinfo.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# texinfo -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + texinfo + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_TexInfo require_relative 'html' # html.rb require_relative 'dp' # dp.rb diff --git a/lib/sisu/texinfo_format.rb b/lib/sisu/texinfo_format.rb index 7029a5c8..263a2b0f 100644 --- a/lib/sisu/texinfo_format.rb +++ b/lib/sisu/texinfo_format.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# texinfo -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + texinfo + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_TexInfoFormat @@table_pg_break_counter=1 require_relative 'dp' # dp.rb diff --git a/lib/sisu/texpdf.rb b/lib/sisu/texpdf.rb index 19155eef..9b938a1a 100644 --- a/lib/sisu/texpdf.rb +++ b/lib/sisu/texpdf.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# texpdf -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + texpdf + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_TeX begin require 'pstore' diff --git a/lib/sisu/texpdf_format.rb b/lib/sisu/texpdf_format.rb index 11b0091c..f8b6e525 100644 --- a/lib/sisu/texpdf_format.rb +++ b/lib/sisu/texpdf_format.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# texpdf -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + texpdf + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_TeX_Pdf require_relative 'texpdf_parts' # texpdf_parts.rb @@table_pg_break_counter=1 diff --git a/lib/sisu/texpdf_parts.rb b/lib/sisu/texpdf_parts.rb index 0f3af456..5a5b6ffd 100644 --- a/lib/sisu/texpdf_parts.rb +++ b/lib/sisu/texpdf_parts.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# texpdf -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + texpdf + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Parts_TeXpdf require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic diff --git a/lib/sisu/txt_asciidoc.rb b/lib/sisu/txt_asciidoc.rb index e62b769c..fc69b8ba 100644 --- a/lib/sisu/txt_asciidoc.rb +++ b/lib/sisu/txt_asciidoc.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# txt -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Txt_AsciiDoc require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_asciidoc_decorate.rb b/lib/sisu/txt_asciidoc_decorate.rb index d9ff5bc6..ccd24ebc 100644 --- a/lib/sisu/txt_asciidoc_decorate.rb +++ b/lib/sisu/txt_asciidoc_decorate.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# txt -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Decorate_Txt_AsciiDoc def decorate def heading diff --git a/lib/sisu/txt_markdown.rb b/lib/sisu/txt_markdown.rb index 2b157edb..426aa9d1 100644 --- a/lib/sisu/txt_markdown.rb +++ b/lib/sisu/txt_markdown.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# txt -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Txt_Markdown require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_markdown_decorate.rb b/lib/sisu/txt_markdown_decorate.rb index b2888f92..c0fc0af0 100644 --- a/lib/sisu/txt_markdown_decorate.rb +++ b/lib/sisu/txt_markdown_decorate.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# txt -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Decorate_Txt_Markdown def decorate def heading diff --git a/lib/sisu/txt_orgmode.rb b/lib/sisu/txt_orgmode.rb index 10c61b6e..7be4f3d7 100644 --- a/lib/sisu/txt_orgmode.rb +++ b/lib/sisu/txt_orgmode.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# txt -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Txt_OrgMode require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_orgmode_decorate.rb b/lib/sisu/txt_orgmode_decorate.rb index d49c733a..8185e1d3 100644 --- a/lib/sisu/txt_orgmode_decorate.rb +++ b/lib/sisu/txt_orgmode_decorate.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# txt -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Decorate_Txt_OrgMode def decorate def heading diff --git a/lib/sisu/txt_output.rb b/lib/sisu/txt_output.rb index 009aed14..8c053200 100644 --- a/lib/sisu/txt_output.rb +++ b/lib/sisu/txt_output.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# txt -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module Txt_Output class Output include SiSU_Param diff --git a/lib/sisu/txt_plain.rb b/lib/sisu/txt_plain.rb index 0f9a721a..1823b67b 100644 --- a/lib/sisu/txt_plain.rb +++ b/lib/sisu/txt_plain.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# txt -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Txt_Plain require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_plain_decorate.rb b/lib/sisu/txt_plain_decorate.rb index 69b5344f..f9943278 100644 --- a/lib/sisu/txt_plain_decorate.rb +++ b/lib/sisu/txt_plain_decorate.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# txt -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Decorate_Txt_Plain def decorate def heading_underscore diff --git a/lib/sisu/txt_read.rb b/lib/sisu/txt_read.rb index 06606222..f6d14738 100644 --- a/lib/sisu/txt_read.rb +++ b/lib/sisu/txt_read.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# txt -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Txt_Read require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/txt_rst.rb b/lib/sisu/txt_rst.rb index 5762a2fa..b899e830 100644 --- a/lib/sisu/txt_rst.rb +++ b/lib/sisu/txt_rst.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# txt -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Txt_rST require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_rst_decorate.rb b/lib/sisu/txt_rst_decorate.rb index bee406ea..6f2650ea 100644 --- a/lib/sisu/txt_rst_decorate.rb +++ b/lib/sisu/txt_rst_decorate.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# txt -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Decorate_Txt_rST def decorate def heading diff --git a/lib/sisu/txt_shared.rb b/lib/sisu/txt_shared.rb index 3c605a8f..2ee1d33c 100644 --- a/lib/sisu/txt_shared.rb +++ b/lib/sisu/txt_shared.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# txt -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_TextUtils require_relative 'generic_parts' # generic_parts.rb class Wrap diff --git a/lib/sisu/txt_textile.rb b/lib/sisu/txt_textile.rb index 656afdf3..761a00b2 100644 --- a/lib/sisu/txt_textile.rb +++ b/lib/sisu/txt_textile.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# txt -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Txt_Textile require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_textile_decorate.rb b/lib/sisu/txt_textile_decorate.rb index 339a639d..fe62d396 100644 --- a/lib/sisu/txt_textile_decorate.rb +++ b/lib/sisu/txt_textile_decorate.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# txt -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + txt + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Decorate_Txt_Textile def decorate def heading diff --git a/lib/sisu/update.rb b/lib/sisu/update.rb index 990d08ef..63bd7673 100644 --- a/lib/sisu/update.rb +++ b/lib/sisu/update.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# misc -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_UpdateControlFlag require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/urls.rb b/lib/sisu/urls.rb index 9a8902b6..305b70e0 100644 --- a/lib/sisu/urls.rb +++ b/lib/sisu/urls.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# misc -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Urls require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/utils.rb b/lib/sisu/utils.rb index 2426bcf8..0340dcdf 100644 --- a/lib/sisu/utils.rb +++ b/lib/sisu/utils.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# utils -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + utils + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Utils class CodeMarker def initialize(line,file,color=:red) diff --git a/lib/sisu/utils_composite.rb b/lib/sisu/utils_composite.rb index 97b46534..78cae5a8 100644 --- a/lib/sisu/utils_composite.rb +++ b/lib/sisu/utils_composite.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# utils -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + utils + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Composite_Doc_Utils def inserts_array(loadfilename) IO.readlines(loadfilename,'') diff --git a/lib/sisu/utils_response.rb b/lib/sisu/utils_response.rb index 0c8c63c6..fc7b9e59 100644 --- a/lib/sisu/utils_response.rb +++ b/lib/sisu/utils_response.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# utils -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + utils + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Response def available_selections_ %{'yes', 'no', 'quit' or 'exit'; [ynqx]} diff --git a/lib/sisu/utils_screen_text_color.rb b/lib/sisu/utils_screen_text_color.rb index da214179..8d3e7874 100644 --- a/lib/sisu/utils_screen_text_color.rb +++ b/lib/sisu/utils_screen_text_color.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# utils -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + utils + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Screen class Color attr_accessor :off,:marker,:bold,:underline,:invert,:darkgrey_hi,:grey_hi,:pink_hi,:fuchsia_hi,:red_hi,:orange_hi,:yellow_hi,:brown_hi,:lightgreen_hi,:green_hi,:cyan_hi,:blue_hi,:navy_hi,:white,:white_bold,:grey,:pink,:fuchsia,:ruby,:red,:orange,:yellow,:brown,:green,:darkgreen,:cyan,:blue,:navy,:black diff --git a/lib/sisu/utils_spell.rb b/lib/sisu/utils_spell.rb index da4fb7b7..8ea5047b 100644 --- a/lib/sisu/utils_spell.rb +++ b/lib/sisu/utils_spell.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# utils -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + utils + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_SpellUtility class Spell def initialize(input,filesrc,flg) diff --git a/lib/sisu/webrick.rb b/lib/sisu/webrick.rb index a9856a1f..a9973a05 100644 --- a/lib/sisu/webrick.rb +++ b/lib/sisu/webrick.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# misc -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Webserv class WebrickStart begin diff --git a/lib/sisu/wikispeak.rb b/lib/sisu/wikispeak.rb index e656d8c7..e60c0c78 100644 --- a/lib/sisu/wikispeak.rb +++ b/lib/sisu/wikispeak.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# misc -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Wikispeak require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/xhtml.rb b/lib/sisu/xhtml.rb index e7af6851..251995d5 100644 --- a/lib/sisu/xhtml.rb +++ b/lib/sisu/xhtml.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xhtml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xhtml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XHTML require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xhtml_epub2.rb b/lib/sisu/xhtml_epub2.rb index e0dc0801..0b629d38 100644 --- a/lib/sisu/xhtml_epub2.rb +++ b/lib/sisu/xhtml_epub2.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xhtml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xhtml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XHTML_EPUB2 begin require 'pstore' diff --git a/lib/sisu/xhtml_epub2_concordance.rb b/lib/sisu/xhtml_epub2_concordance.rb index b5f7911d..792b8452 100644 --- a/lib/sisu/xhtml_epub2_concordance.rb +++ b/lib/sisu/xhtml_epub2_concordance.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xhtml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xhtml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XHTML_EPUB2_Concordance require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xhtml_epub2_format.rb b/lib/sisu/xhtml_epub2_format.rb index f18d52f9..48108818 100644 --- a/lib/sisu/xhtml_epub2_format.rb +++ b/lib/sisu/xhtml_epub2_format.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xhtml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xhtml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XHTML_EPUB2_Format class ParagraphNumber def initialize(md,ocn) diff --git a/lib/sisu/xhtml_epub2_persist.rb b/lib/sisu/xhtml_epub2_persist.rb index 1ebe8d02..fc043b7b 100644 --- a/lib/sisu/xhtml_epub2_persist.rb +++ b/lib/sisu/xhtml_epub2_persist.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xhtml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xhtml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XHTML_EPUB2_Persist class Persist @@persist=nil diff --git a/lib/sisu/xhtml_epub2_segments.rb b/lib/sisu/xhtml_epub2_segments.rb index 7b4da061..5f14f00a 100644 --- a/lib/sisu/xhtml_epub2_segments.rb +++ b/lib/sisu/xhtml_epub2_segments.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xhtml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xhtml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XHTML_EPUB2_Seg require_relative 'xhtml_shared' # xhtml_shared.rb require_relative 'xhtml_epub2' # xhtml_epub2.rb diff --git a/lib/sisu/xhtml_epub2_tune.rb b/lib/sisu/xhtml_epub2_tune.rb index b73281c7..d1d9d890 100644 --- a/lib/sisu/xhtml_epub2_tune.rb +++ b/lib/sisu/xhtml_epub2_tune.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xhtml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xhtml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end require_relative 'dp' # dp.rb module SiSU_XHTML_EPUB2_Tune require_relative 'se' # se.rb diff --git a/lib/sisu/xhtml_parts.rb b/lib/sisu/xhtml_parts.rb index 05c3810d..6684f575 100644 --- a/lib/sisu/xhtml_parts.rb +++ b/lib/sisu/xhtml_parts.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xhtml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xhtml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Parts_XHTML require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic diff --git a/lib/sisu/xhtml_shared.rb b/lib/sisu/xhtml_shared.rb index 7613f376..fabcb038 100644 --- a/lib/sisu/xhtml_shared.rb +++ b/lib/sisu/xhtml_shared.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xhtml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xhtml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XHTML_Shared require_relative 'xhtml_table' # xhtml_table.rb class TableXHTML < SiSU_XHTML_Table::TableXHTML diff --git a/lib/sisu/xhtml_table.rb b/lib/sisu/xhtml_table.rb index 7e3d4b52..2784ac3d 100644 --- a/lib/sisu/xhtml_table.rb +++ b/lib/sisu/xhtml_table.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xhtml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xhtml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XHTML_Table require_relative 'xhtml_parts' # xhtml_parts.rb class TableXHTML diff --git a/lib/sisu/xml_docbook5.rb b/lib/sisu/xml_docbook5.rb index a3531b6c..55a9584d 100644 --- a/lib/sisu/xml_docbook5.rb +++ b/lib/sisu/xml_docbook5.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XML_Docbook_Book require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_dom.rb b/lib/sisu/xml_dom.rb index 5f1ff9fe..d3ed3c00 100644 --- a/lib/sisu/xml_dom.rb +++ b/lib/sisu/xml_dom.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XML_DOM require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_fictionbook2.rb b/lib/sisu/xml_fictionbook2.rb index 6a7e0373..b2553404 100644 --- a/lib/sisu/xml_fictionbook2.rb +++ b/lib/sisu/xml_fictionbook2.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XML_Fictionbook require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_format.rb b/lib/sisu/xml_format.rb index 21187b54..7259c4c7 100644 --- a/lib/sisu/xml_format.rb +++ b/lib/sisu/xml_format.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XML_Format require_relative 'dp' # dp.rb require_relative 'xml_parts' # xml_parts.rb diff --git a/lib/sisu/xml_md_oai_pmh_dc.rb b/lib/sisu/xml_md_oai_pmh_dc.rb index 7452abaa..31d85d5e 100644 --- a/lib/sisu/xml_md_oai_pmh_dc.rb +++ b/lib/sisu/xml_md_oai_pmh_dc.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XML_Metadata require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/xml_odf_odt.rb b/lib/sisu/xml_odf_odt.rb index 38381543..de8636b9 100644 --- a/lib/sisu/xml_odf_odt.rb +++ b/lib/sisu/xml_odf_odt.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XML_ODF_ODT require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_odf_odt_format.rb b/lib/sisu/xml_odf_odt_format.rb index cbaf94d7..2621dab8 100644 --- a/lib/sisu/xml_odf_odt_format.rb +++ b/lib/sisu/xml_odf_odt_format.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XML_ODF_ODT_Format require_relative 'dp' # dp.rb include SiSU_Param diff --git a/lib/sisu/xml_parts.rb b/lib/sisu/xml_parts.rb index 5fdc0f68..8e55521d 100644 --- a/lib/sisu/xml_parts.rb +++ b/lib/sisu/xml_parts.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Parts_XML require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic diff --git a/lib/sisu/xml_persist.rb b/lib/sisu/xml_persist.rb index 9546d181..224a7f53 100644 --- a/lib/sisu/xml_persist.rb +++ b/lib/sisu/xml_persist.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XML_Persist class Persist @@persist=nil diff --git a/lib/sisu/xml_sax.rb b/lib/sisu/xml_sax.rb index 3b8bf7c4..457984b8 100644 --- a/lib/sisu/xml_sax.rb +++ b/lib/sisu/xml_sax.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XML_SAX require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_scaffold_structure_collapsed.rb b/lib/sisu/xml_scaffold_structure_collapsed.rb index 12c572b7..bd4d2024 100644 --- a/lib/sisu/xml_scaffold_structure_collapsed.rb +++ b/lib/sisu/xml_scaffold_structure_collapsed.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XML_Scaffold_Structure_Collapse require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_scaffold_structure_sisu.rb b/lib/sisu/xml_scaffold_structure_sisu.rb index 28ffb0e6..ba0adf84 100644 --- a/lib/sisu/xml_scaffold_structure_sisu.rb +++ b/lib/sisu/xml_scaffold_structure_sisu.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XML_Scaffold_Structure_Sisu require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_shared.rb b/lib/sisu/xml_shared.rb index 61ba5444..0d05330c 100644 --- a/lib/sisu/xml_shared.rb +++ b/lib/sisu/xml_shared.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_XML_Munge require_relative 'xml_parts' # xml_parts.rb class Trans diff --git a/lib/sisu/xml_tables.rb b/lib/sisu/xml_tables.rb index 9342a951..37cd31d4 100644 --- a/lib/sisu/xml_tables.rb +++ b/lib/sisu/xml_tables.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# xml -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + xml + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Tables class Table #_xml @@tablehead=0 diff --git a/lib/sisu/zap.rb b/lib/sisu/zap.rb index 042a3ee4..57e75a90 100644 --- a/lib/sisu/zap.rb +++ b/lib/sisu/zap.rb @@ -1,55 +1,57 @@ -# encoding: utf-8 -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# misc -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + misc + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end module SiSU_Zap require_relative 'se' # se.rb include SiSU_Env diff --git a/org/abstraction.org b/org/abstraction.org index bbb15339..ed96a984 100644 --- a/org/abstraction.org +++ b/org/abstraction.org @@ -20,7 +20,7 @@ ** ao.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao.rb" -# <> +<> module SiSU_AO require_relative 'se' # se.rb include SiSU_Env @@ -559,7 +559,7 @@ __END__ ** ao_appendices.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_appendices.rb" -# <> +<> module SiSU_AO_Appendices class Glossary def initialize(md,data) @@ -1133,7 +1133,7 @@ __END__ ** ao_character_check.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_character_check.rb" -# <> +<> module SiSU_AO_CharacterCheck class Check def initialize(data) @@ -1184,7 +1184,7 @@ end ** ao_composite.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_composite.rb" -# <> +<> module SiSU_Assemble require_relative 'se' # se.rb require_relative 'utils_composite' # utils_composite.rb @@ -1419,7 +1419,7 @@ __END__ ** ao_doc_objects.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_doc_objects.rb" -# <> +<> module SiSU_AO_DocumentStructure class Extract def extract(h,o) @@ -1934,7 +1934,7 @@ __END__ ** ao_doc_str.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_doc_str.rb" -# <> +<> module SiSU_AO_DocumentStructureExtract require_relative 'ao_persist' # ao_persist.rb class Instantiate < SiSU_Param::Parameters::Instructions @@ -4370,7 +4370,7 @@ __END__ ** ao_endnotes.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_endnotes.rb_" -# <> +<> module SiSU_AO_Endnotes class Endnotes def initialize(md,data,endnote_array=nil) @@ -4456,7 +4456,7 @@ __END__ ** ao_expand_insertions.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_expand_insertions.rb" -# <> +<> module SiSU_AO_Insertions class Insertions def initialize(md,data) @@ -4920,7 +4920,7 @@ __END__ ** ao_hash_digest.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_hash_digest.rb" -# <> +<> module SiSU_AO_Hash require_relative 'shared_markup_alt.rb' #shared_markup_alt.rb class ObjectDigest @@ -5044,7 +5044,7 @@ __END__ ** ao_idx.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_idx.rb" -# <> +<> module SiSU_AO_BookIndex class BookIndex def initialize(md,data,env=nil) @@ -5416,7 +5416,7 @@ __END__ ** ao_images.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_images.rb" -# <> +<> module SiSU_AO_Images class Images begin @@ -5553,7 +5553,7 @@ imgsys=`identify #{image_path}/#{image}`.strip ** ao_metadata.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_metadata.rb" -# <> +<> module SiSU_AO_Metadata class Metadata def initialize(md,metad) @@ -5589,7 +5589,7 @@ __END__ ** ao_misc_arrange.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_misc_arrange.rb" -# <> +<> module SiSU_AO_MiscArrangeText class SI def initialize(md,data) @@ -5746,7 +5746,7 @@ __END__ ** ao_numbering.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_numbering.rb" -# <> +<> module SiSU_AO_Numbering class Numbering attr_accessor :obj,:osp,:ocn,:lv,:name,:index,:comment @@ -6416,7 +6416,7 @@ __END__ ** ao_persist.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_persist.rb" -# <> +<> module SiSU_AO_Persist class Persist @@persistance=nil @@ -6560,7 +6560,7 @@ __END__ ** ao_syntax.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_syntax.rb" -# <> +<> module SiSU_AO_Syntax class Words def initialize(line,md,mkp) @@ -7150,7 +7150,7 @@ __END__ ** ao_endnotes.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/ao_endnotes.rb" -# <> +<> module SiSU_AO_Endnotes class Endnotes def initialize(md,data,endnote_array=nil) @@ -7237,7 +7237,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -7289,4 +7290,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/cgi.org b/org/cgi.org index ecf68c7e..25ecd88a 100644 --- a/org/cgi.org +++ b/org/cgi.org @@ -20,7 +20,7 @@ ** cgi.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/cgi.rb" -# <> +<> module SiSU_CGI #% database building documents require_relative 'se' # se.rb require_relative 'cgi_pgsql' # cgi_pgsql.rb @@ -54,7 +54,7 @@ __END__ ** cgi_sqlite.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/cgi_sqlite.rb" -# <> +<> module SiSU_CGI_SQLite #% database building documents require_relative 'se' # se.rb require_relative 'cgi_sql_common' # cgi_sql_common.rb @@ -248,7 +248,7 @@ __END__ ** cgi_pgsql.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/cgi_pgsql.rb" -# <> +<> module SiSU_CGI_PgSQL #% database building documents require_relative 'se' # se.rb require_relative 'cgi_sql_common' # cgi_sql_common.rb @@ -468,7 +468,7 @@ __END__ ** cgi_sql_common.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/cgi_sql_common.rb" -# <> +<> module SiSU_CGI_SQL class CGI_Common def initialize(webserv,opt,image_src,dir) @@ -1405,7 +1405,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -1457,4 +1458,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/config.org b/org/config.org index 9b6321dc..88b45bd9 100644 --- a/org/config.org +++ b/org/config.org @@ -19,7 +19,7 @@ * conf.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/conf.rb" -# <> +<> module SiSU_Initialize require_relative 'se' # se.rb include SiSU_Env @@ -257,7 +257,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -308,4 +309,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/css.org b/org/css.org index c3898ae9..7551999b 100644 --- a/org/css.org +++ b/org/css.org @@ -19,7 +19,7 @@ * css.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/css.rb" -# <> +<> module SiSU_Style require_relative 'se' # se.rb require_relative 'html_parts' # html_parts.rb @@ -3454,7 +3454,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -3506,4 +3507,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/db.org b/org/db.org index 7ac34c74..696afb48 100644 --- a/org/db.org +++ b/org/db.org @@ -19,7 +19,7 @@ * dbi.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/dbi.rb" -# <> +<> module SiSU_DBI #% database building require_relative 'se' # se.rb include SiSU_Env; include SiSU_Screen @@ -135,7 +135,7 @@ __END__ * dbi_discrete.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/dbi_discrete.rb" -# <> +<> module SiSU_DBI_Discrete #% database building require_relative 'se' # se.rb include SiSU_Env; include SiSU_Screen @@ -291,7 +291,7 @@ __END__ * db_dbi.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/db_dbi.rb" -# <> +<> module SiSU_DbDBI require_relative 'db_columns' # db_columns.rb require_relative 'db_tests' # db_tests.rb @@ -331,7 +331,7 @@ __END__ * db_sqltxt.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/db_sqltxt.rb" -# <> +<> module SiSU_DbText class Prepare def special_character_escape(str) @@ -455,7 +455,7 @@ __END__ ** db_create.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/db_create.rb" -# <> +<> module SiSU_DbCreate require_relative 'db_columns' # db_columns.rb class Create < SiSU_DbColumns::Columns @@ -1094,7 +1094,7 @@ __END__ ** db_drop.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/db_drop.rb" -# <> +<> module SiSU_DbDrop require_relative 'utils_response' # utils_response.rb class Drop @@ -1251,7 +1251,7 @@ __END__ ** db_import.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/db_import.rb" -# <> +<> module SiSU_DbImport require_relative 'db_columns' # db_columns.rb require_relative 'db_load_tuple' # db_load_tuple.rb @@ -2078,7 +2078,7 @@ __END__ ** db_remove.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/db_remove.rb" -# <> +<> module SiSU_DbRemove class Remove include SiSU_DbAction @@ -2210,7 +2210,7 @@ __END__ * db_load_tuple.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/db_load_tuple.rb" -# <> +<> module SiSU_DbTuple require_relative 'db_columns' # db_columns.rb class LoadDocuments @@ -2464,7 +2464,7 @@ __END__ * db_select.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/db_select.rb" -# <> +<> module SiSU_DbAction def db_action(sdb) @sdb=sdb @@ -2645,7 +2645,7 @@ __END__ ** db_columns.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/db_columns.rb" -# <> +<> module SiSU_DbColumns require_relative 'se' # se.rb require_relative 'db_sqltxt' # db_sqltxt.rb @@ -4593,7 +4593,7 @@ __END__ ** db_indexes.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/db_indexes.rb" -# <> +<> module SiSU_DbIndex class Index # create documents Indexes def initialize(opt,conn='',sql_type) def initialize(opt,conn,file,sql_type) @@ -4689,7 +4689,7 @@ __END__ * db_tests.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/db_tests.rb" -# <> +<> module SiSU_DbTests class Test def initialize(info,opt) @@ -4754,7 +4754,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -4806,4 +4807,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/digests.org b/org/digests.org index 86846f9e..dcc16efb 100644 --- a/org/digests.org +++ b/org/digests.org @@ -19,7 +19,7 @@ * digests.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/digests.rb" -# <> +<> module SiSU_DigestView require_relative 'se_hub_particulars' # se_hub_particulars.rb require_relative 'prog_text_translation' # prog_text_translation.rb @@ -276,7 +276,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -328,4 +329,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/env.org b/org/env.org index e8204b18..2809c484 100644 --- a/org/env.org +++ b/org/env.org @@ -878,7 +878,7 @@ __END__ ** se_envcall.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/se_envcall.rb" -# <> +<> module SiSU_Env_Call begin require 'singleton' @@ -1154,7 +1154,7 @@ __END__ ** se_filemap.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/se_filemap.rb" -# <> +<> module SiSU_File_Map require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -1351,7 +1351,7 @@ __END__ ** se_file_op.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/se_file_op.rb" -# <> +<> module SiSU_Info_File require_relative 'utils' # utils.rb require_relative 'se_info_env' # se_info_env.rb @@ -4118,7 +4118,7 @@ __END__ ** se_get_init.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/se_get_init.rb" -# <> +<> module SiSU_Get_Init require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -4306,7 +4306,7 @@ __END__ ** se_hub_particulars.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/se_hub_particulars.rb" -# <> +<> module SiSU_Particulars begin require 'singleton' @@ -4490,7 +4490,7 @@ consider running as separate objects ** se_info_env.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/se_info_env.rb" -# <> +<> module SiSU_Info_Env @@current_document=Dir.pwd #nil #'' require_relative 'se_envcall' # se_envcall.rb @@ -6619,7 +6619,7 @@ __END__ ** se_info_port.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/se_info_port.rb" -# <> +<> module SiSU_Info_Port require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -6639,7 +6639,7 @@ __END__ ** se_info_system.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/se_info_system.rb" -# <> +<> module SiSU_Info_Sys_Gen require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -6791,7 +6791,7 @@ __END__ ** se_load.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/se_load.rb" -# <> +<> module SiSU_Load require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -6849,7 +6849,7 @@ __END__ ** se_processing.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/se_processing.rb" -# <> +<> module SiSU_Processing_Settings require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -7458,7 +7458,7 @@ __END__ ** se_programs.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/se_programs.rb" -# <> +<> module SiSU_Sys_Call begin require 'singleton' @@ -7802,7 +7802,7 @@ __END__ ** se_remotes.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/se_remotes.rb" -# <> +<> module SiSU_Info_Remote_Host require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -8305,7 +8305,7 @@ __END__ ** se_standardise_lang.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/se_standardise_lang.rb" -# <> +<> module SiSU_Standardise_Lang @@lang_info=nil class StandardiseLanguage @@ -8431,7 +8431,7 @@ __END__ ** se_version.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/se_version.rb" -# <> +<> module SiSU_Info_Version require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -8559,7 +8559,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -8611,4 +8612,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/harvest.org b/org/harvest.org index fd528bae..09d0fb6c 100644 --- a/org/harvest.org +++ b/org/harvest.org @@ -20,7 +20,7 @@ ** html_harvest.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_harvest.rb" -# <> +<> module SiSU_Harvest @@the_idx_topics,@@the_idx_authors={},{} class Source @@ -79,7 +79,7 @@ end *** html_harvest_topics.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_harvest_topics.rb" -# <> +<> module SiSU_HarvestTopics require_relative 'html_harvest_author_format' # html_harvest_author_format.rb require_relative 'html_parts' # html_parts.rb @@ -922,7 +922,7 @@ terms -|_ t{tl1} -|_ {fa}[fa]{filenames and other details} *** html_harvest_authors.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_harvest_authors.rb" -# <> +<> module SiSU_HarvestAuthors require_relative 'html_harvest_author_format' # html_harvest_author_format.rb require_relative 'html_parts' # html_parts.rb @@ -1338,7 +1338,7 @@ __END__ *** html_harvest_author_format.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_harvest_author_format.rb" -# <> +<> module SiSU_FormatAuthor class Author def initialize(author_param) @@ -1400,7 +1400,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -1452,4 +1453,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/html.org b/org/html.org index f83b6ccd..22e6d6f6 100644 --- a/org/html.org +++ b/org/html.org @@ -21,7 +21,7 @@ *** html.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html.rb" -# <> +<> module SiSU_HTML begin require 'pstore' @@ -746,7 +746,7 @@ __END__ *** html_parts.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_parts.rb" -# <> +<> module SiSU_Parts_HTML require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic @@ -1133,7 +1133,7 @@ __END__ *** html_tune.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_tune.rb" -# <> +<> require_relative 'dp' # dp.rb module SiSU_HTML_Tune require_relative 'se' # se.rb @@ -1384,7 +1384,7 @@ __END__ *** html_scroll.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_scroll.rb" -# <> +<> module SiSU_HTML_Scroll require_relative 'html_shared' # html_shared.rb require_relative 'html' # html.rb @@ -1569,7 +1569,7 @@ __END__ *** html_segments.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_segments.rb" -# <> +<> module SiSU_HTML_Seg require_relative 'html_shared' # html_shared.rb require_relative 'html' # html.rb @@ -2235,7 +2235,7 @@ __END__ *** html_format.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_format.rb" -# <> +<> module SiSU_HTML_Format require_relative 'html_parts' # html_parts.rb class ParagraphNumber @@ -3534,7 +3534,7 @@ __END__ *** html_shared.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_shared.rb" -# <> +<> module SiSU_HTML_Shared require_relative 'html_table' # html_table.rb class TableHTML < SiSU_HTML_Table::TableHTML @@ -3546,7 +3546,7 @@ __END__ *** html_lite_shared.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_lite_shared.rb" -# <> +<> module SiSU_FormatShared require_relative 'html_parts' # html_parts.rb class CSS_Format @@ -3819,7 +3819,7 @@ __END__ *** html_table.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_table.rb" -# <> +<> module SiSU_HTML_Table require_relative 'xhtml_table' # xhtml_table.rb require_relative 'html_parts' # html_parts.rb @@ -3836,7 +3836,7 @@ __END__ *** html_minitoc.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_minitoc.rb" -# <> +<> module SiSU_HTML_MiniToc require_relative 'html_tune' # html_tune.rb include SiSU_HTML_Tune @@ -4016,7 +4016,7 @@ __END__ *** html_concordance.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_concordance.rb" -# <> +<> module SiSU_Concordance require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -4357,7 +4357,7 @@ __END__ *** html_manifest.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_manifest.rb" -# <> +<> module SiSU_Manifest require_relative 'se' # se.rb include SiSU_Env @@ -5339,7 +5339,7 @@ __END__ *** html_persist.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_persist.rb" -# <> +<> module SiSU_HTML_Persist class Persist @@persist=nil @@ -5526,7 +5526,7 @@ __END__ *** html_promo.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/html_promo.rb" -# <> +<> module SiSU_HTML_Promo require_relative 'se' # se.rb include SiSU_Env @@ -5917,7 +5917,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -5969,4 +5970,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/hub.org b/org/hub.org index 4e2cbe7d..2852840f 100644 --- a/org/hub.org +++ b/org/hub.org @@ -20,7 +20,7 @@ ** hub.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/hub.rb" -# <> +<> module SiSU require_relative 'constants' # constants.rb require_relative 'se' # se.rb @@ -248,7 +248,7 @@ __END__ ** hub_options.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/hub_options.rb" -# <> +<> module SiSU_Commandline begin require 'pathname' @@ -1900,7 +1900,7 @@ passing @opt as well is duplication check for fns & fnb ** hub_actions.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/hub_actions.rb" -# <> +<> module SiSU_Hub_Actions class HubActions require_relative 'utils_composite' # utils_composite.rb @@ -2988,7 +2988,7 @@ __END__ ** hub_loop_markup_files.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/hub_loop_markup_files.rb" -# <> +<> module SiSU_Hub_Loops require_relative 'constants' # constants.rb require_relative 'se' # se.rb @@ -3109,7 +3109,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -3161,4 +3162,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/i18n.org b/org/i18n.org index 99763f30..3c9d76e6 100644 --- a/org/i18n.org +++ b/org/i18n.org @@ -20,7 +20,7 @@ ** i18n.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/i18n.rb" -# <> +<> module SiSU_i18n @@language_table,@@language_list=nil,nil class Languages @@ -303,7 +303,7 @@ __END__ * prog_text_translation.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/prog_text_translation.rb" -# <> +<> module SiSU_Translate require_relative 'se' # se.rb include SiSU_Env; include SiSU_Param @@ -1949,7 +1949,8 @@ end #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -2001,6 +2002,7 @@ encoding: utf-8 +=end #+END_SRC * NOTES ** language list po4a diff --git a/org/json.org b/org/json.org index 0399c7fa..91b54271 100644 --- a/org/json.org +++ b/org/json.org @@ -19,7 +19,7 @@ * json.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/json.rb" -# <> +<> module SiSU_JSON require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -386,7 +386,7 @@ __END__ * json_parts.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/json_parts.rb" -# <> +<> module SiSU_Parts_JSON require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic @@ -426,7 +426,7 @@ __END__ * json_shared.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/json_shared.rb" -# <> +<> module SiSU_JSONutils require_relative 'generic_parts' # generic_parts.rb class Clean @@ -1059,7 +1059,7 @@ __END__ * json_format.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/json_format.rb" -# <> +<> module SiSU_JSON_Format require_relative 'dp' # dp.rb require_relative 'json_parts' # json_parts.rb @@ -1489,7 +1489,7 @@ __END__ * json_persist.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/json_persist.rb" -# <> +<> module SiSU_JSON_Persist class Persist @@persist=nil @@ -1566,7 +1566,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -1618,4 +1619,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/manpage.org b/org/manpage.org index 77379430..4266eb77 100644 --- a/org/manpage.org +++ b/org/manpage.org @@ -19,7 +19,7 @@ * manpage.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/manpage.rb" -# <> +<> module SiSU_Manpage require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -346,7 +346,7 @@ __END__ * manpage_format.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/manpage_format.rb" -# <> +<> module SiSU_ManpageFormat require_relative 'dp' # dp.rb include SiSU_Param @@ -382,7 +382,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -434,4 +435,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/misc.org b/org/misc.org index 648d81dd..7f10e1c3 100644 --- a/org/misc.org +++ b/org/misc.org @@ -20,7 +20,7 @@ ** air.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/air.rb" -# <> +<> module SiSU_Air require_relative 'se_hub_particulars' # se_hub_particulars.rb class Source @@ -50,7 +50,7 @@ __END__ ** embedded.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/embedded.rb" -# <> +<> module SiSU_Embedded require_relative 'dp' # dp.rb include SiSU_Param @@ -149,7 +149,7 @@ __END__ ** errors.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/errors.rb" -# <> +<> module SiSU_Errors require_relative 'se' # se.rb include SiSU_Env; include SiSU_Screen @@ -183,7 +183,7 @@ __END__ ** git.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/git.rb" -# <> +<> module SiSU_Git require_relative 'dp' # dp.rb require_relative 'se' # se.rb @@ -410,7 +410,7 @@ __END__ ** qrcode.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/qrcode.rb" -# <> +<> module SiSU_QRcode require_relative 'se' # se.rb include SiSU_Env @@ -1114,7 +1114,7 @@ __END__ ** relaxng.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/relaxng.rb" -# <> +<> module SiSU_Relaxng require_relative 'se' # se.rb class RelaxNG @@ -2217,7 +2217,7 @@ needs updating ** remote.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/remote.rb" -# <> +<> module SiSU_Remote require_relative 'se' # se.rb include SiSU_Env @@ -2413,7 +2413,7 @@ __END__ ** rexml.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/rexml.rb" -# <> +<> module SiSU_Rexml # load XML file for REXML parsing begin @@ -2511,7 +2511,7 @@ end ** sitemaps.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/sitemaps.rb" -# <> +<> module SiSU_Sitemaps require_relative 'dp' # dp.rb include SiSU_Param @@ -2685,7 +2685,7 @@ __END__ ** termsheet.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/termsheet.rb" -# <> +<> require_relative 'se' # se.rb require_relative 'dp' # dp.rb include SiSU_Param @@ -2798,7 +2798,7 @@ the term sheet calls the standard form or template that is to be run against it. ** update.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/update.rb" -# <> +<> module SiSU_UpdateControlFlag require_relative 'se' # se.rb include SiSU_Env @@ -2889,7 +2889,7 @@ __END__ ** urls.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/urls.rb" -# <> +<> module SiSU_Urls require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -3548,7 +3548,7 @@ __END__ ** webrick.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/webrick.rb" -# <> +<> module SiSU_Webserv class WebrickStart begin @@ -3688,7 +3688,7 @@ __END__ ** wikispeak.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/wikispeak.rb" -# <> +<> module SiSU_Wikispeak require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -4012,7 +4012,7 @@ __END__ ** zap.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/zap.rb" -# <> +<> module SiSU_Zap require_relative 'se' # se.rb include SiSU_Env @@ -4053,7 +4053,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -4105,4 +4106,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/object_munge.org b/org/object_munge.org index 2e8970d3..de4ee999 100644 --- a/org/object_munge.org +++ b/org/object_munge.org @@ -19,7 +19,7 @@ * object_munge.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/object_munge.rb" -# <> +<> module SiSU_Object_Munge def i_src_o_strip_markup(txtobj) txtobj=txtobj. @@ -277,7 +277,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -329,4 +330,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/param.org b/org/param.org index 2f17b338..147fc8e6 100644 --- a/org/param.org +++ b/org/param.org @@ -19,7 +19,7 @@ * dp.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/dp.rb" -# <> +<> module SiSU_Param begin require 'uri' @@ -1582,7 +1582,7 @@ __END__ * dp_make.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/dp_make.rb" -# <> +<> module SiSU_Param_Make class MdMake def initialize(str,opt,env) @@ -2199,7 +2199,7 @@ __END__ * dp_identify_markup.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/dp_identify_markup.rb" -# <> +<> module SiSU_MarkupType class MarkupIdentify @@version={} @@ -2309,7 +2309,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -2361,4 +2362,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/shared.org b/org/shared.org index 913fa490..ff88f99c 100644 --- a/org/shared.org +++ b/org/shared.org @@ -20,7 +20,7 @@ ** shared_sem.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/shared_sem.rb" -# <> +<> module SiSU_Sem require_relative 'dp' # dp.rb class Tags @@ -126,7 +126,7 @@ __END__ ** shared_images.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/shared_images.rb" -# <> +<> module SiSU_Images require_relative 'se_hub_particulars' # se_hub_particulars.rb class Source @@ -213,7 +213,7 @@ __END__ ** shared_markup_alt.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/shared_markup_alt.rb" -# <> +<> module SiSU_TextRepresentation class Alter def initialize(x) @@ -499,7 +499,7 @@ __END__ ** shared_metadata.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/shared_metadata.rb" -# <> +<> module SiSU_Metadata require_relative 'xml_parts' # xml_parts.rb require_relative 'xml_shared' # xml_shared.rb @@ -1822,7 +1822,7 @@ __END__ ** constants.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/constants.rb" -# <> +<> YEAR='2021' Sfx={ txt: '.txt', @@ -2161,7 +2161,7 @@ Iu ⌠ 8992 Il ⌡ <7 ⌈ 8968 >7 ⌉ 8969 7< ⌊ 8970 7> ⌋ 8971 ** generic_parts.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/generic_parts.rb" -# <> +<> module SiSU_Parts_Generic def the_url def urify(uri) @@ -2243,7 +2243,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -2295,4 +2296,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/sisu.org b/org/sisu.org index 1a49da87..01678612 100644 --- a/org/sisu.org +++ b/org/sisu.org @@ -29,7 +29,7 @@ * sisu.rb #+BEGIN_SRC ruby :tangle "../lib/sisu.rb" -# <> +<> module SiSU_libs require_relative 'sisu/hub' # sisu/hub.rb require_relative 'sisu/se' # sisu/se.rb @@ -74,7 +74,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -126,4 +127,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/sisu_build.org b/org/sisu_build.org index 70bfc4af..8b56c1d2 100644 --- a/org/sisu_build.org +++ b/org/sisu_build.org @@ -1027,7 +1027,7 @@ __END__ * sisu thor lib #+BEGIN_SRC ruby :tangle ../lib/sisu/sisu_thor_lib.rb -# <> +<> module SiSU_Po4a_Actions require_relative 'utils_response' # utils_response.rb include SiSU_Response @@ -5808,7 +5808,6 @@ Configure substitution in _sisu/sisu_document_make *** sisu markup :sisu: **** markup :markup: - ***** sisu document parts - header - metadata @@ -5954,7 +5953,8 @@ Configure substitution in _sisu/sisu_document_make #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -6006,4 +6006,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/src.org b/org/src.org index d8199f3e..b88f8285 100644 --- a/org/src.org +++ b/org/src.org @@ -19,7 +19,7 @@ * src_sisupod_make.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/src_sisupod_make.rb" -# <> +<> module SiSU_Doc require_relative 'src_shared' # scr_shared.rb include SiSU_Source @@ -140,7 +140,7 @@ SiSU.ssm * src_sisupod_sstm.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/src_sisupod_sstm.rb" -# <> +<> module SiSU_Markup require_relative 'src_shared' # src_shared.rb include SiSU_Source @@ -199,7 +199,7 @@ __END__ * src_kdissert_share.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/src_kdissert_share.rb" -# <> +<> module SiSU_KdiSource require_relative 'se' # se.rb include SiSU_Env @@ -251,7 +251,7 @@ __END__ * src_po4a_share.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_share.rb" -# <> +<> module SiSU_Languages_Selected require_relative 'utils_response' # utils_response.rb def language @@ -509,7 +509,7 @@ translate.google.com * src_po4a_shelf.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_shelf.rb" -# <> +<> module SiSU_Po4a require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -1676,7 +1676,7 @@ translate.google.com * src_po4a_shelf_set.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_shelf_set.rb" -# <> +<> module SiSU_Po4aUtils class Wrap def initialize(md,orig='',trans='',is_desc='',n_char_max=76,n_indent=0,n_hang=nil) @@ -1923,7 +1923,7 @@ __END__ * src_po4a_sst_ao_sst.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_sst_ao_sst.rb" -# <> +<> module SiSU_SStm_AO_SStm require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -2766,7 +2766,7 @@ translate.google.com * src_po4a_sst_ao_sst_set.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_sst_ao_sst_set.rb" -# <> +<> module SiSU_Po4aUtils class Wrap def initialize(md,orig='',trans='',n_char_max=76,n_indent=0,n_hang=nil) @@ -3000,7 +3000,7 @@ __END__ * src_po4a_sstm.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_sstm.rb" -# <> +<> module SiSU_Markup require_relative 'src_shared' # src_shared.rb include SiSU_Source @@ -3085,7 +3085,7 @@ __END__ * src_shared.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/src_shared.rb" -# <> +<> module SiSU_Source include SiSU_Env class SiSUpodSource @@ -3383,7 +3383,8 @@ SiSU.ssm #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -3435,4 +3436,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/sst.org b/org/sst.org index 684bbd9c..4ac5cbf6 100644 --- a/org/sst.org +++ b/org/sst.org @@ -19,7 +19,7 @@ * sst_from_xml.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/sst_from_xml.rb" -# <> +<> module SiSU_sstFromXML require_relative 'se' # se.rb class Convert @@ -147,7 +147,7 @@ __END__ * sst_to_s_xml_sax.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/sst_to_s_xml_sax.rb" -# <> +<> module SiSU_SimpleXML_ModelSax require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -568,7 +568,7 @@ __END__ * sst_identify_markup.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/sst_identify_markup.rb" -# <> +<> module SiSU_Markup class MarkupInform attr_accessor :version @@ -998,7 +998,7 @@ end * sst_do_inline_footnotes.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/sst_do_inline_footnotes.rb" -# <> +<> module SiSU_ConvertFootnotes require_relative 'se' # se.rb include SiSU_Env @@ -1387,7 +1387,7 @@ ao_array=@particulars.ao_array # ao file drawn here * sst_convert_markup.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/sst_convert_markup.rb" -# <> +<> module SiSU_Modify require_relative 'sst_identify_markup' # sst_identify_markup.rb require_relative 'sst_from_xml' # sst_from_xml.rb @@ -1659,7 +1659,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -1711,4 +1712,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/texinfo.org b/org/texinfo.org index 88bc62fa..93a63f68 100644 --- a/org/texinfo.org +++ b/org/texinfo.org @@ -20,7 +20,7 @@ * texinfo.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/texinfo.rb" -# <> +<> module SiSU_TexInfo require_relative 'html' # html.rb require_relative 'dp' # dp.rb @@ -400,7 +400,7 @@ __END__ * texinfo_format.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/texinfo_format.rb" -# <> +<> module SiSU_TexInfoFormat @@table_pg_break_counter=1 require_relative 'dp' # dp.rb @@ -892,7 +892,8 @@ watch title, might need full_title #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -944,4 +945,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/texpdf.org b/org/texpdf.org index b52e1183..4b412e7d 100644 --- a/org/texpdf.org +++ b/org/texpdf.org @@ -20,7 +20,7 @@ ** texpdf.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/texpdf.rb" -# <> +<> module SiSU_TeX begin require 'pstore' @@ -1132,7 +1132,7 @@ __END__ ** texpdf_parts.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/texpdf_parts.rb" -# <> +<> module SiSU_Parts_TeXpdf require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic @@ -1317,7 +1317,7 @@ __END__ ** texpdf_format.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/texpdf_format.rb" -# <> +<> module SiSU_TeX_Pdf require_relative 'texpdf_parts' # texpdf_parts.rb @@table_pg_break_counter=1 @@ -2915,7 +2915,8 @@ texlive-xetex #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -2967,4 +2968,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/txt.org b/org/txt.org index 03fb8853..f6c6cc62 100644 --- a/org/txt.org +++ b/org/txt.org @@ -21,7 +21,7 @@ *** txt_asciidoc.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/txt_asciidoc.rb" -# <> +<> module SiSU_Txt_AsciiDoc require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -325,7 +325,7 @@ __END__ *** txt_asciidoc_decorate.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/txt_asciidoc_decorate.rb" -# <> +<> module SiSU_Decorate_Txt_AsciiDoc def decorate def heading @@ -482,7 +482,7 @@ __END__ *** txt_markdown.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/txt_markdown.rb" -# <> +<> module SiSU_Txt_Markdown require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -821,7 +821,7 @@ __END__ *** txt_markdown_decorate.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/txt_markdown_decorate.rb" -# <> +<> module SiSU_Decorate_Txt_Markdown def decorate def heading @@ -978,7 +978,7 @@ __END__ *** txt_orgmode.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/txt_orgmode.rb" -# <> +<> module SiSU_Txt_OrgMode require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -1320,7 +1320,7 @@ __END__ *** txt_orgmode_decorate.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/txt_orgmode_decorate.rb" -# <> +<> module SiSU_Decorate_Txt_OrgMode def decorate def heading @@ -1456,7 +1456,7 @@ __END__ *** txt_plain.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/txt_plain.rb" -# <> +<> module SiSU_Txt_Plain require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -1816,7 +1816,7 @@ __END__ *** txt_plain_decorate.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/txt_plain_decorate.rb" -# <> +<> module SiSU_Decorate_Txt_Plain def decorate def heading_underscore @@ -1955,7 +1955,7 @@ __END__ *** txt_rst.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/txt_rst.rb" -# <> +<> module SiSU_Txt_rST require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -2276,7 +2276,7 @@ __END__ *** txt_rst_decorate.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/txt_rst_decorate.rb" -# <> +<> module SiSU_Decorate_Txt_rST def decorate def heading @@ -2412,7 +2412,7 @@ __END__ *** txt_textile.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/txt_textile.rb" -# <> +<> module SiSU_Txt_Textile require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -2729,7 +2729,7 @@ __END__ *** txt_textile_decorate.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/txt_textile_decorate.rb" -# <> +<> module SiSU_Decorate_Txt_Textile def decorate def heading @@ -2864,7 +2864,7 @@ __END__ * txt_output.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/txt_output.rb" -# <> +<> module Txt_Output class Output include SiSU_Param @@ -2900,7 +2900,7 @@ __END__ * txt_read.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/txt_read.rb" -# <> +<> module SiSU_Txt_Read require_relative 'se' # se.rb include SiSU_Env @@ -2959,7 +2959,7 @@ __END__ * txt_shared.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/txt_shared.rb" -# <> +<> module SiSU_TextUtils require_relative 'generic_parts' # generic_parts.rb class Wrap @@ -3151,7 +3151,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -3203,4 +3204,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/utils.org b/org/utils.org index dc8db4c6..7f7d531a 100644 --- a/org/utils.org +++ b/org/utils.org @@ -20,7 +20,7 @@ ** utils.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/utils.rb" -# <> +<> module SiSU_Utils class CodeMarker def initialize(line,file,color=:red) @@ -202,7 +202,7 @@ puts ANSI_C[:red] + __LINE__.to_s + ANSI_C[:off] + ' ' + __FILE__.gsub(/([^\/]+$ ** utils_spell.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/utils_spell.rb" -# <> +<> module SiSU_SpellUtility class Spell def initialize(input,filesrc,flg) @@ -251,7 +251,7 @@ __END__ ** utils_response.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/utils_response.rb" -# <> +<> module SiSU_Response def available_selections_ %{'yes', 'no', 'quit' or 'exit'; [ynqx]} @@ -315,7 +315,7 @@ __END__ ** utils_composite.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/utils_composite.rb" -# <> +<> module SiSU_Composite_Doc_Utils def inserts_array(loadfilename) IO.readlines(loadfilename,'') @@ -380,7 +380,7 @@ __END__ ** utils_screen_text_color.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/utils_screen_text_color.rb" -# <> +<> module SiSU_Screen class Color attr_accessor :off,:marker,:bold,:underline,:invert,:darkgrey_hi,:grey_hi,:pink_hi,:fuchsia_hi,:red_hi,:orange_hi,:yellow_hi,:brown_hi,:lightgreen_hi,:green_hi,:cyan_hi,:blue_hi,:navy_hi,:white,:white_bold,:grey,:pink,:fuchsia,:ruby,:red,:orange,:yellow,:brown,:green,:darkgreen,:cyan,:blue,:navy,:black @@ -803,7 +803,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -855,4 +856,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/xhtml.org b/org/xhtml.org index de94d216..8b338ba4 100644 --- a/org/xhtml.org +++ b/org/xhtml.org @@ -19,7 +19,7 @@ * xhtml.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml.rb" -# <> +<> module SiSU_XHTML require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -441,7 +441,7 @@ tidy -xml scroll.xhtml >> index.tidy ** xhtml_epub2.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2.rb" -# <> +<> module SiSU_XHTML_EPUB2 begin require 'pstore' @@ -1281,7 +1281,7 @@ __END__ ** xhtml_epub2_concordance.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2_concordance.rb" -# <> +<> module SiSU_XHTML_EPUB2_Concordance require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -1553,7 +1553,7 @@ __END__ ** xhtml_epub2_format.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2_format.rb" -# <> +<> module SiSU_XHTML_EPUB2_Format class ParagraphNumber def initialize(md,ocn) @@ -3775,7 +3775,7 @@ __END__ ** xhtml_epub2_persist.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2_persist.rb" -# <> +<> module SiSU_XHTML_EPUB2_Persist class Persist @@persist=nil @@ -4003,7 +4003,7 @@ __END__ ** xhtml_epub2_segments.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2_segments.rb" -# <> +<> module SiSU_XHTML_EPUB2_Seg require_relative 'xhtml_shared' # xhtml_shared.rb require_relative 'xhtml_epub2' # xhtml_epub2.rb @@ -4552,7 +4552,7 @@ __END__ ** xhtml_epub2_tune.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2_tune.rb" -# <> +<> require_relative 'dp' # dp.rb module SiSU_XHTML_EPUB2_Tune require_relative 'se' # se.rb @@ -4833,7 +4833,7 @@ __END__ ** xhtml_parts.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_parts.rb" -# <> +<> module SiSU_Parts_XHTML require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic @@ -4966,7 +4966,7 @@ __END__ ** xhtml_shared.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_shared.rb" -# <> +<> module SiSU_XHTML_Shared require_relative 'xhtml_table' # xhtml_table.rb class TableXHTML < SiSU_XHTML_Table::TableXHTML @@ -4978,7 +4978,7 @@ __END__ ** xhtml_table.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_table.rb" -# <> +<> module SiSU_XHTML_Table require_relative 'xhtml_parts' # xhtml_parts.rb class TableXHTML @@ -5026,7 +5026,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -5078,4 +5079,5 @@ encoding: utf-8 +=end #+END_SRC diff --git a/org/xml.org b/org/xml.org index e010abb1..7253fbbd 100644 --- a/org/xml.org +++ b/org/xml.org @@ -20,7 +20,7 @@ ** xml_sax.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xml_sax.rb" -# <> +<> module SiSU_XML_SAX require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -491,7 +491,7 @@ __END__ ** xml_dom.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xml_dom.rb" -# <> +<> module SiSU_XML_DOM require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -1068,7 +1068,7 @@ __END__ ** xml_shared.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xml_shared.rb" -# <> +<> module SiSU_XML_Munge require_relative 'xml_parts' # xml_parts.rb class Trans @@ -1679,7 +1679,7 @@ __END__ ** xml_tables.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xml_tables.rb" -# <> +<> module SiSU_Tables class Table #_xml @@tablehead=0 @@ -1890,7 +1890,7 @@ __END__ ** xml_format.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xml_format.rb" -# <> +<> module SiSU_XML_Format require_relative 'dp' # dp.rb require_relative 'xml_parts' # xml_parts.rb @@ -2705,7 +2705,7 @@ __END__ ** xml_md_oai_pmh_dc.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xml_md_oai_pmh_dc.rb" -# <> +<> module SiSU_XML_Metadata require_relative 'se' # se.rb include SiSU_Env @@ -2884,7 +2884,7 @@ see also http://dublincore.org/documents/dcmes-xml/ ** xml_parts.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xml_parts.rb" -# <> +<> module SiSU_Parts_XML require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic @@ -3025,7 +3025,7 @@ __END__ ** xml_persist.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xml_persist.rb" -# <> +<> module SiSU_XML_Persist class Persist @@persist=nil @@ -3101,7 +3101,7 @@ __END__ ** xml_scaffold_structure_collapsed.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xml_scaffold_structure_collapsed.rb" -# <> +<> module SiSU_XML_Scaffold_Structure_Collapse require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -3249,7 +3249,7 @@ __END__ ** xml_scaffold_structure_sisu.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xml_scaffold_structure_sisu.rb" -# <> +<> module SiSU_XML_Scaffold_Structure_Sisu require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -3401,7 +3401,7 @@ __END__ ** xml_odf_odt.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xml_odf_odt.rb" -# <> +<> module SiSU_XML_ODF_ODT require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -4239,7 +4239,7 @@ __END__ ** xml_odf_odt_format.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xml_odf_odt_format.rb" -# <> +<> module SiSU_XML_ODF_ODT_Format require_relative 'dp' # dp.rb include SiSU_Param @@ -4863,7 +4863,7 @@ __END__ * docbook5rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xml_docbook5.rb" -# <> +<> module SiSU_XML_Docbook_Book require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -5189,7 +5189,7 @@ __END__ * fictionbook2.rb #+BEGIN_SRC ruby :tangle "../lib/sisu/xml_fictionbook2.rb" -# <> +<> module SiSU_XML_Fictionbook require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -5529,7 +5529,8 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -encoding: utf-8 +#encoding: utf-8 +=begin - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -5581,4 +5582,5 @@ encoding: utf-8 +=end #+END_SRC -- cgit v1.2.3 From 90fe39c3012a3949f1fb0ea35d4bcf07bf741d63 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Wed, 9 Mar 2022 20:19:39 -0500 Subject: nix ruby 3.1 (use) --- nix/pkglst/packages_ruby_3_1.nix | 17 +++++ org/org-tangle | 159 +++++++++++++++++++++++++++++++++++++++ org/sisu_build.org | 25 +++++- shell.nix | 8 +- 4 files changed, 203 insertions(+), 6 deletions(-) create mode 100644 nix/pkglst/packages_ruby_3_1.nix create mode 100755 org/org-tangle diff --git a/nix/pkglst/packages_ruby_3_1.nix b/nix/pkglst/packages_ruby_3_1.nix new file mode 100644 index 00000000..ca9ced14 --- /dev/null +++ b/nix/pkglst/packages_ruby_3_1.nix @@ -0,0 +1,17 @@ +{ pkgs ? import {} }: +with pkgs; [ + ruby_3_1 + rubyPackages_3_1.rake + rubyPackages_3_1.sqlite3 + rubyPackages_3_1.thor + sqlite + unzip + xz + zip + openssl + #texlive-combined-full + nixFlakes + validatePkgConfig + jq + git +] diff --git a/org/org-tangle b/org/org-tangle new file mode 100755 index 00000000..b662ecbd --- /dev/null +++ b/org/org-tangle @@ -0,0 +1,159 @@ +#!/usr/bin/env sh +":"; exec emacs --quick --script "$0" -- "$@" # -*- mode: emacs-lisp; lexical-binding: t; -*- +;;; bin/org-tangle + +;; Tangles source blocks from org files. Also expands #+INCLUDE directives, +;; unlike vanilla `ob-tangle'. Debug/info messages are directed to stderr and +;; can be ignored. +;; +;; -l/--lang LANG +;; Only include blocks in the specified language (e.g. emacs-lisp). +;; -a/--all +;; Tangle all blocks by default (unless it has :tangle nil set or a +;; :notangle: tag) +;; -t/--tag TAG +;; --and TAG +;; --or TAG +;; Only include blocks in trees that have these tags. Combine multiple --and +;; and --or's, or just use --tag (implicit --and). +;; -p/--print +;; Prints tangled code to stdout instead of to files +;; +;; Usage: org-tangle [[-l|--lang] LANG] some-file.org another.org +;; Examples: +;; org-tangle -l sh modules/some/module/README.org > install_module.sh +;; org-tangle -l sh modules/lang/go/README.org | sh +;; org-tangle --and tagA --and tagB my/literate/config.org + +(require 'cl-lib) +(require 'ox) +(require 'ob-tangle) + +(defun usage () + (with-temp-buffer + (insert (format "%s %s [OPTIONS] [TARGETS...]\n" + "Usage:" + (file-name-nondirectory load-file-name)) + "\n" + "A command line interface for tangling org-mode files. TARGETS can be\n" + "files or folders (which are searched for org files recursively).\n" + "\n" + "This is useful for literate configs that rely on command line\n" + "workflows to build it.\n" + "\n" + "Example:\n" + " org-tangle some-file.org\n" + " org-tangle literate/config/\n" + " org-tangle -p -l sh scripts.org > do_something.sh\n" + " org-tangle -p -l python -t tagA -t tagB file.org | python\n" + "\n" + "Options:\n" + " -a --all\t\tTangle all blocks by default\n" + " -l --lang LANG\tOnly tangle blocks written in LANG\n" + " -p --print\t\tPrint tangled output to stdout than to files\n" + " -t --tag TAG\n" + " --and TAG\n" + " --or TAG\n" + " Lets you tangle org blocks by tag. You may have more than one\n" + " of these options.\n") + (princ (buffer-string)))) + +(defun *org-babel-tangle (fn &rest args) + "Don't write tangled blocks to files, print them to stdout." + (cl-letf (((symbol-function 'write-region) + (lambda (start end filename &optional append visit lockname mustbenew) + (princ (buffer-string))))) + (apply fn args))) + +(defun *org-babel-tangle-collect-blocks (&optional language tangle-file) + "Like `org-babel-tangle-collect-blocks', but will ignore blocks that are in +trees with the :notangle: tag." + (let ((counter 0) last-heading-pos blocks) + (org-babel-map-src-blocks (buffer-file-name) + (let ((current-heading-pos + (org-with-wide-buffer + (org-with-limited-levels (outline-previous-heading))))) + (if (eq last-heading-pos current-heading-pos) (cl-incf counter) + (setq counter 1) + (setq last-heading-pos current-heading-pos))) + (unless (org-in-commented-heading-p) + (require 'org) + (let* ((tags (org-get-tags-at)) + (info (org-babel-get-src-block-info 'light)) + (src-lang (nth 0 info)) + (src-tfile (cdr (assq :tangle (nth 2 info))))) + (cond ((member "notangle" tags)) + + ((and (or or-tags and-tags) + (or (not and-tags) + (let ((a (cl-intersection and-tags tags :test #'string=)) + (b and-tags)) + (not (or (cl-set-difference a b :test #'equal) + (cl-set-difference b a :test #'equal))))) + (or (not or-tags) + (cl-intersection or-tags tags :test #'string=)) + t)) + + ((or (not (or all-blocks src-tfile)) + (string= src-tfile "no") ; tangle blocks by default + (and tangle-file (not (equal tangle-file src-tfile))) + (and language (not (string= language src-lang))))) + + ;; Add the spec for this block to blocks under its language. + ((let ((by-lang (assoc src-lang blocks)) + (block (org-babel-tangle-single-block counter))) + (if by-lang + (setcdr by-lang (cons block (cdr by-lang))) + (push (cons src-lang (list block)) blocks)))))))) + ;; Ensure blocks are in the correct order. + (mapcar (lambda (b) (cons (car b) (nreverse (cdr b)))) blocks))) +(advice-add #'org-babel-tangle-collect-blocks + :override #'*org-babel-tangle-collect-blocks) + +(defvar all-blocks nil) +(defvar and-tags nil) +(defvar or-tags nil) +(let (lang srcs and-tags or-tags) + (pop argv) + (while argv + (let ((arg (pop argv))) + (pcase arg + ((or "-h" "--help") + (usage) + (error "")) + ((or "-a" "--all") + (setq all-blocks t)) + ((or "-l" "--lang") + (setq lang (pop argv))) + ((or "-p" "--print") + (advice-add #'org-babel-tangle :around #'*org-babel-tangle)) + ((or "-t" "--tag" "--and") + (push (pop argv) and-tags)) + ("--or" + (push (pop argv) or-tags)) + ((guard (string-match-p "^--lang=" arg)) + (setq lang (cadr (split-string arg "=" t t)))) + ((guard (file-directory-p arg)) + (setq srcs + (append (directory-files-recursively arg "\\.org$") + srcs))) + ((guard (file-exists-p arg)) + (push arg srcs)) + (_ (error "Unknown option or file: %s" arg))))) + + (dolist (file srcs) + (let ((backup (make-temp-file (file-name-base file) nil ".backup.org"))) + (unwind-protect + ;; Prevent slow hooks from interfering + (let (org-mode-hook org-confirm-babel-evaluate) + ;; We do the ol' switcheroo because `org-babel-tangle' writes + ;; changes to the current file, which would be imposing on the user. + (copy-file file backup t) + (with-current-buffer (find-file-noselect file) + ;; Tangling doesn't expand #+INCLUDE directives, so we do it + ;; ourselves, since includes are so useful for literate configs! + (org-export-expand-include-keyword) + (org-babel-tangle nil nil lang))) + (ignore-errors (copy-file backup file t)) + (ignore-errors (delete-file backup))))) + (kill-emacs 0)) diff --git a/org/sisu_build.org b/org/sisu_build.org index 8b56c1d2..da7ce0b1 100644 --- a/org/sisu_build.org +++ b/org/sisu_build.org @@ -2585,6 +2585,17 @@ with pkgs; [ ] #+END_SRC +**** ruby 3.1 + +#+BEGIN_SRC nix :tangle ../nix/pkglst/packages_ruby_3_1.nix +{ pkgs ? import {} }: +with pkgs; [ + <> + <> + <> +] +#+END_SRC + **** ruby 3.0 #+BEGIN_SRC nix :tangle ../nix/pkglst/packages_ruby_3_0.nix @@ -2617,14 +2628,14 @@ with pkgs; [ #+NAME: ruby_current #+BEGIN_SRC nix -<> +<> #+END_SRC *** ruby next #+NAME: ruby_next #+BEGIN_SRC nix -<> +<> #+END_SRC *** ruby 2.6 - ruby_version_2_6 @@ -2647,6 +2658,16 @@ rubyPackages_3_0.sqlite3 rubyPackages_3_0.thor #+END_SRC +*** ruby 3.1 - ruby_version_3_1 + +#+NAME: ruby_version_3_1 +#+BEGIN_SRC nix +ruby_3_1 +rubyPackages_3_1.rake +rubyPackages_3_1.sqlite3 +rubyPackages_3_1.thor +#+END_SRC + *** nix related packages #+NAME: nix_packages diff --git a/shell.nix b/shell.nix index 5c0baa18..704a2da1 100755 --- a/shell.nix +++ b/shell.nix @@ -3,10 +3,10 @@ pkgs.mkShell { buildInputs = [( with pkgs; [ - ruby_3_0 - rubyPackages_3_0.rake - rubyPackages_3_0.sqlite3 - rubyPackages_3_0.thor + ruby_3_1 + rubyPackages_3_1.rake + rubyPackages_3_1.sqlite3 + rubyPackages_3_1.thor sqlite unzip xz -- cgit v1.2.3 From 47a49f921f1222479aea6aee938737fa860d3aae Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Wed, 9 Mar 2022 20:32:00 -0500 Subject: org-mode, track bin files --- bin/sisu | 110 ++++--- bin/sisu-concordance | 2 +- bin/sisu-epub | 2 +- bin/sisu-harvest | 2 +- bin/sisu-html | 2 +- bin/sisu-html-scroll | 2 +- bin/sisu-html-seg | 2 +- bin/sisu-misc-utils | 69 ++++- bin/sisu-odf | 2 +- bin/sisu-pdf | 2 +- bin/sisu-pdf-landscape | 2 +- bin/sisu-pdf-portrait | 2 +- bin/sisu-pg | 2 +- bin/sisu-sqlite | 2 +- bin/sisu-txt | 2 +- bin/sisu-webrick | 2 +- lib/sisu/se.rb | 28 +- lib/sisu/se_cleanoutput.rb | 28 +- lib/sisu/se_clear.rb | 28 +- lib/sisu/se_createsite.rb | 28 +- lib/sisu/se_css.rb | 28 +- lib/sisu/se_date.rb | 28 +- lib/sisu/se_db.rb | 28 +- org/sisu-bin.org | 748 +++++++++++++++++++++++++++++++++++++++++++++ 24 files changed, 969 insertions(+), 182 deletions(-) create mode 100644 org/sisu-bin.org diff --git a/bin/sisu b/bin/sisu index 0a904c4d..59004c99 100755 --- a/bin/sisu +++ b/bin/sisu @@ -1,6 +1,58 @@ #!/usr/bin/env ruby -# encoding: utf-8 -#SiSU: copyright (C) 1997 - 2015 Ralph Amissah; License GPL 3, see appended program information +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + sisu + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end class Orient require 'singleton' include Singleton @@ -314,57 +366,3 @@ rescue #% - "}) end __END__ - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search - -** Author: Ralph Amissah - - - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - -** SiSU uses: - * Standard SiSU markup syntax, - * Standard SiSU meta-markup syntax, and the - * Standard SiSU object citation numbering and system - -** Hompages: - - - -** Download: - - -** Git - - diff --git a/bin/sisu-concordance b/bin/sisu-concordance index 0eabb80c..3a8a49c4 100755 --- a/bin/sisu-concordance +++ b/bin/sisu-concordance @@ -1,2 +1,2 @@ -#!/bin/sh +#!/usr/bin/env sh sisu --concordance ${@} diff --git a/bin/sisu-epub b/bin/sisu-epub index 2c7efc38..ce0d2b65 100755 --- a/bin/sisu-epub +++ b/bin/sisu-epub @@ -1,2 +1,2 @@ -#!/bin/sh +#!/usr/bin/env sh sisu --epub ${@} diff --git a/bin/sisu-harvest b/bin/sisu-harvest index 9430f8b3..444d13eb 100755 --- a/bin/sisu-harvest +++ b/bin/sisu-harvest @@ -1,2 +1,2 @@ -#!/bin/sh +#!/usr/bin/env sh sisu --harvest ${@} diff --git a/bin/sisu-html b/bin/sisu-html index 8f1e4dbc..646bf8fd 100755 --- a/bin/sisu-html +++ b/bin/sisu-html @@ -1,2 +1,2 @@ -#!/bin/sh +#!/usr/bin/env sh sisu --html ${@} diff --git a/bin/sisu-html-scroll b/bin/sisu-html-scroll index f5098f32..796530b7 100755 --- a/bin/sisu-html-scroll +++ b/bin/sisu-html-scroll @@ -1,2 +1,2 @@ -#!/bin/sh +#!/usr/bin/env sh sisu --html-scroll ${@} diff --git a/bin/sisu-html-seg b/bin/sisu-html-seg index c5851331..24c7f0de 100755 --- a/bin/sisu-html-seg +++ b/bin/sisu-html-seg @@ -1,2 +1,2 @@ -#!/bin/sh +#!/usr/bin/env sh sisu --html-seg ${@} diff --git a/bin/sisu-misc-utils b/bin/sisu-misc-utils index 47d8f32b..dd0551e3 100755 --- a/bin/sisu-misc-utils +++ b/bin/sisu-misc-utils @@ -1,4 +1,58 @@ #!/usr/bin/env ruby +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + sisu + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end begin require 'thor' rescue LoadError @@ -211,18 +265,5 @@ begin rescue end __END__ - -** Description: - -** Homepage: - -** Download: - -** Copyright: (C) 2007 - 2015 Ralph Amissah - -** License: GPL3+ - -** Ralph Amissah - Ralph Amissah - #% manual settings, edit/update as required (note current default settings are obtained from sisu version yml file) +__END__ diff --git a/bin/sisu-odf b/bin/sisu-odf index c6eee725..5b22e450 100755 --- a/bin/sisu-odf +++ b/bin/sisu-odf @@ -1,2 +1,2 @@ -#!/bin/sh +#!/usr/bin/env sh sisu --odt ${@} diff --git a/bin/sisu-pdf b/bin/sisu-pdf index 45a6ba7b..eaef0406 100755 --- a/bin/sisu-pdf +++ b/bin/sisu-pdf @@ -1,2 +1,2 @@ -#!/bin/sh +#!/usr/bin/env sh sisu --pdf ${@} diff --git a/bin/sisu-pdf-landscape b/bin/sisu-pdf-landscape index 1fe79491..0f8400c9 100755 --- a/bin/sisu-pdf-landscape +++ b/bin/sisu-pdf-landscape @@ -1,2 +1,2 @@ -#!/bin/sh +#!/usr/bin/env sh sisu --pdf-landscape ${@} diff --git a/bin/sisu-pdf-portrait b/bin/sisu-pdf-portrait index 4f40aa03..22eb1107 100755 --- a/bin/sisu-pdf-portrait +++ b/bin/sisu-pdf-portrait @@ -1,2 +1,2 @@ -#!/bin/sh +#!/usr/bin/env sh sisu --pdf-portrait ${@} diff --git a/bin/sisu-pg b/bin/sisu-pg index 83585b75..c1c0ab88 100755 --- a/bin/sisu-pg +++ b/bin/sisu-pg @@ -1,2 +1,2 @@ -#!/bin/sh +#!/usr/bin/env sh sisu --pg ${@} diff --git a/bin/sisu-sqlite b/bin/sisu-sqlite index 9863e983..53e4f267 100755 --- a/bin/sisu-sqlite +++ b/bin/sisu-sqlite @@ -1,2 +1,2 @@ -#!/bin/sh +#!/usr/bin/env sh sisu --sqlite ${@} diff --git a/bin/sisu-txt b/bin/sisu-txt index 14dcb085..82a41d52 100755 --- a/bin/sisu-txt +++ b/bin/sisu-txt @@ -1,2 +1,2 @@ -#!/bin/sh +#!/usr/bin/env sh sisu --txt ${@} diff --git a/bin/sisu-webrick b/bin/sisu-webrick index 75d97238..6b5820dd 100755 --- a/bin/sisu-webrick +++ b/bin/sisu-webrick @@ -1,2 +1,2 @@ -#!/bin/sh +#!/usr/bin/env sh sisu -W ${@} diff --git a/lib/sisu/se.rb b/lib/sisu/se.rb index 8bae44dc..ae5af3e9 100644 --- a/lib/sisu/se.rb +++ b/lib/sisu/se.rb @@ -1,52 +1,52 @@ # #encoding: utf-8 # =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # diff --git a/lib/sisu/se_cleanoutput.rb b/lib/sisu/se_cleanoutput.rb index 0269e8e3..e54f3dfd 100644 --- a/lib/sisu/se_cleanoutput.rb +++ b/lib/sisu/se_cleanoutput.rb @@ -1,52 +1,52 @@ # #encoding: utf-8 # =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # diff --git a/lib/sisu/se_clear.rb b/lib/sisu/se_clear.rb index e512192c..9af21b46 100644 --- a/lib/sisu/se_clear.rb +++ b/lib/sisu/se_clear.rb @@ -1,52 +1,52 @@ # #encoding: utf-8 # =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # diff --git a/lib/sisu/se_createsite.rb b/lib/sisu/se_createsite.rb index 1abb5915..6b04f917 100644 --- a/lib/sisu/se_createsite.rb +++ b/lib/sisu/se_createsite.rb @@ -1,52 +1,52 @@ # #encoding: utf-8 # =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # diff --git a/lib/sisu/se_css.rb b/lib/sisu/se_css.rb index eef0406d..63a15aeb 100644 --- a/lib/sisu/se_css.rb +++ b/lib/sisu/se_css.rb @@ -1,52 +1,52 @@ # #encoding: utf-8 # =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # diff --git a/lib/sisu/se_date.rb b/lib/sisu/se_date.rb index 76112b32..33bfec64 100644 --- a/lib/sisu/se_date.rb +++ b/lib/sisu/se_date.rb @@ -1,52 +1,52 @@ # #encoding: utf-8 # =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # diff --git a/lib/sisu/se_db.rb b/lib/sisu/se_db.rb index d03cd0b8..7025bfac 100644 --- a/lib/sisu/se_db.rb +++ b/lib/sisu/se_db.rb @@ -1,52 +1,52 @@ # #encoding: utf-8 # =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # diff --git a/org/sisu-bin.org b/org/sisu-bin.org new file mode 100644 index 00000000..c48cd626 --- /dev/null +++ b/org/sisu-bin.org @@ -0,0 +1,748 @@ +-*- mode: org -*- +#+TITLE: sisu +#+DESCRIPTION: documents - structuring, various output representations & search +#+FILETAGS: :sisu: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2021 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes + +* bin +** bin/sisu + +#+HEADER: :tangle "../bin/sisu" +#+HEADER: :shebang "#!/usr/bin/env ruby" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC ruby +<> +class Orient + require 'singleton' + include Singleton + def initialize #(called_as_,argv) + super() + @called_as,@argv=$0,$* + end + def version_major + '7' + end + def sisu_called_from_directory + @@sisu_called_from_directory ||= Dir.pwd + end + def sisu_run_from? + if processing.called_as == processing.sisu_runtime_path \ + and File.dirname(processing.sisu_runtime_path) != RbConfig::CONFIG['bindir'] + :full_path_to_sisu_bin_in_sisu_dir_tree + elsif processing.sisu_runtime_path =~/\/gems\// \ + and processing.sisu_runtime_path \ + =~ /\/#{processing.gem_regex}\// + :gem_install + else + :system_install + end + end + def processing + def called_as + @called_as + end + def argv + @argv + end + def argv_str + argv.inspect + end + def sisu_runtime_path + __FILE__ + end + def bin_file_regex + %r{\bsisu$} + end + def gem_regex + %r{sisu-[0-9]+\.[0-9]+\.[0-9]+(?:\.r[0-9]+\.g[0-9a-f]{7})?} + end + self + end + def sisu_lib + 'sisu' + end + def sisu_version_info_path + "#{sisu_path_base_system_data}/version.yml" + end + def paths_set + if sisu_run_from? == :system_install \ + and processing.called_as \ + =~ /^#{RbConfig::CONFIG['bindir']}\/sisu$/ + :set_path_system + elsif sisu_run_from? == :full_path_to_sisu_bin_in_sisu_dir_tree \ + and processing.called_as \ + !~ /^#{RbConfig::CONFIG['bindir']}\/sisu$/ \ + && File.expand_path(processing.called_as) \ + =~ /bin\/sisu$/ \ + && FileTest.file?(processing.called_as) + :set_dir_tree_full_path + elsif sisu_run_from? ==:gem_install + :set_path_gem + else nil + end + end + def git_version + if sisu_run_from? == :full_path_to_sisu_bin_in_sisu_dir_tree \ + && FileTest.file?('/usr/bin/git') \ + && FileTest.directory?(processing.sisu_runtime_path.gsub(/\/bin\/sisu\S*/,'/.git')) + bin_base=processing.sisu_runtime_path.gsub(/\/bin\/sisu\S*/,'') + pwd=Dir.pwd + Dir.chdir(bin_base) + x=`git describe --long --tags 2>&1`.strip. + gsub(/^[a-z_-]*([0-9.]+)/,'\1'). + gsub(/([^-]*-g)/,'r\1'). + gsub(/-/,'.') + x=(x=~/^[0-9]+\.[0-9]+\.[0-9]+\.r[0-9]+\.g[0-9a-f]{7}/) \ + ? x + : nil + Dir.chdir(pwd) + x + else nil + end + end + def sisu_path_base + case paths_set + when :set_path_system + RbConfig::CONFIG['datadir'] + '/sisu' + when :set_dir_tree_full_path + File.expand_path(processing.called_as). + sub(/\/bin\/sisu$/,'') + when :set_path_gem + Gem::Specification.find_by_name("sisu").gem_dir + else nil + end + end + def sisu_path_base_system_data + case paths_set + when :set_path_system + RbConfig::CONFIG['datadir'] + '/sisu' + when :set_dir_tree_full_path + File.expand_path(processing.called_as). + sub(/\/bin\/sisu$/,'/data/sisu') + when :set_path_gem + Gem::Specification.find_by_name("sisu").gem_dir \ + + '/data/sisu' + else nil + end + end + def sisu_this_lib + if Gem::Specification.any? \ + and processing.sisu_runtime_path =~/\/gems\// \ + and processing.sisu_runtime_path \ + =~ /\/#{processing.gem_regex}\// + # gem sought + processing.sisu_runtime_path. + gsub(/\/bin\/sisu[a-z0-9._-]*$/, + '/lib/sisu') + elsif (processing.called_as \ + !~ /^#{RbConfig::CONFIG['bindir']}\/sisu$/) + # called off file system, project directory tree + File.expand_path(processing.called_as). + sub(/bin\/sisu\S*/,'lib/sisu') + else + # distro installation + sisulib={ + vendorlib: RbConfig::CONFIG['vendorlibdir'] + '/sisu', + sitelib: RbConfig::CONFIG['sitelibdir'] + '/sisu', + } + if FileTest.directory?(sisulib[:sitelib]) # local install + sisulib[:sitelib] + elsif FileTest.directory?(sisulib[:vendorlib]) # system install + sisulib[:vendorlib] + else 'sisu' # assume lib paths work + end + end + end + def sisu_this_lib_ + if (processing.called_as \ + !~ /^#{RbConfig::CONFIG['bindir']}\/sisu$/) + File.expand_path(processing.called_as). + sub(/bin\/sisu\S*/,'lib/sisu') + else 'sisu' + end + end + def language_list + def codes + %w[am bg bn br ca cs cy da de el en eo es et eu fi fr ga gl he hi hr hy ia is it ja ko la lo lt lv ml mr nl nn no oc pl pt pt_BR ro ru sa se sk sl sq sr sv ta te th tk tr uk ur us vi zh] + end + def regex + codes.join('|') + end + self + end + def sisu_is + def version_major? + version_major + end + def runtime_path? + processing.sisu_runtime_path + end + def runtime_type? + sisu_run_from? + end + def called_from? + sisu_called_from_directory + end + def path_base? + sisu_path_base + end + def path_base_system_data? + sisu_path_base_system_data + end + def version_info_path? + sisu_version_info_path + end + def language_list? + language_list.codes + end + def language_list_regex? + language_list.regex + end + def git_version_info? + git_version + end + def runtime? + { + call_path: called_from?, + runtime_path: runtime_path?, + runtime_type: runtime_type?, + } + end + self + end + def get_processing_info + def sortout + unless @clm_pf + processing_files={} + command_line_modifiers=[] + processing.argv.each do |x| + if x =~/^-+/ + command_line_modifiers << x + elsif x =~/\.ss[tm]/ + if x =~/\// + markup_path,markup_file = + (/(\S+\/)((?:#{language_list.regex})?[^\/]+)/). + match(x)[1,2] + if not processing_files[markup_path] + processing_files[markup_path]=[] + end + processing_files[markup_path] << markup_file + else + if not processing_files['./'] + processing_files['./']=[] + end + processing_files['./'] << x + end + end + end + end + @clm_pf ||={ + command_line_modifiers: command_line_modifiers, + processing_files: processing_files, + } + end + def command_line_modifiers + sortout[:command_line_modifiers] + end + def processing_files + sortout[:processing_files] + end + self + end + def control + require sisu_this_lib + sisu_called_from_directory + begin + if get_processing_info.processing_files.length > 0 + get_processing_info.processing_files.each_pair do |markup_dir,markup_file| + begin + $sisu_document_markup_directory=markup_dir.gsub(/\/$/,'') + argv_sub=get_processing_info.command_line_modifiers + markup_file + if FileTest.directory?(markup_dir) + system("cd #{markup_dir}") + Dir.chdir(markup_dir) + $sisu_document_markup_directory_base_fixed_path= + Dir.pwd.gsub(/\/(?:#{language_list.regex})$/,'') + SiSU_libs::CallHubMaster.new(argv_sub,sisu_is.runtime?) + elsif markup_dir =~/https?:/ + markup_file.each do |mf| + (FileTest.file?(mf)) \ + ? (puts 'requested remote file already exists in current directory ' \ + + Dir.pwd + ' using ' + mf) + : (system("wget #{markup_dir}/#{mf}")) + end + $sisu_document_markup_directory_base_fixed_path= + Dir.pwd.gsub(/\/(?:#{language_list.regex})$/,'') + argv_sub=command_line_modifiers + markup_file + SiSU_libs::CallHubMaster.new(argv_sub,sisu_is.runtime?) + else p "Error directory specified #{markup_dir} not found" + end + ensure + Dir.chdir(sisu_called_from_directory) + system("cd #{sisu_called_from_directory}") + end + end + else + $sisu_document_markup_directory=Dir.pwd.gsub(/\/$/,'') + $sisu_document_markup_directory_base_fixed_path= + Dir.pwd.gsub(/(^|\/)(?:#{language_list.regex})$/,'') + SiSU_libs::CallHubMaster.new(processing.argv,sisu_is.runtime?) + end + rescue + ensure + SiSU_libs::HubClose.new(@argv,sisu_called_from_directory) + Dir.chdir(sisu_called_from_directory) + system("cd #{sisu_called_from_directory}") + end + end +end +#% sisu select source & branch, begin +$VERBOSE=nil +require 'rbconfig' +begin + require 'singleton' + s=Orient.instance + SiSU_is=s.sisu_is + s.control +rescue #% - + STDERR.puts 'ERROR' + STDERR.puts $! + STDERR.puts $@ + puts %{ + #{%x{ruby -v}.strip.to_s} + #{RUBY_VERSION} + ruby version: #{RbConfig::CONFIG['RUBY_PROGRAM_VERSION']}p#{RbConfig::CONFIG['PATCHLEVEL']} + ruby named: #{RbConfig::CONFIG['ruby_version']} + rubylib: #{RbConfig::CONFIG['rubylibdir']} + vendor lib #{RbConfig::CONFIG['vendordir']} + site lib local: #{RbConfig::CONFIG['sitelibdir']} + gem dir: #{Gem.dir} + gem path: #{Gem.path} + } + system(%{echo " + system RUBYPATH: ${RUBYPATH} + system RUBYLIB: ${RUBYLIB} + "}) +end +__END__ +#+END_SRC + +** bin/sisu-concordance +#+HEADER: :tangle "../bin/sisu-concordance" +#+HEADER: :shebang "#!/usr/bin/env sh" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC sh +sisu --concordance ${@} +#+END_SRC + +** bin/sisu-epub + +#+HEADER: :tangle "../bin/sisu-epub" +#+HEADER: :shebang "#!/usr/bin/env sh" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC sh +sisu --epub ${@} +#+END_SRC + +** bin/sisu-harvest + +#+HEADER: :tangle "../bin/sisu-harvest" +#+HEADER: :shebang "#!/usr/bin/env sh" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC sh +sisu --harvest ${@} +#+END_SRC + +** bin/sisu-html + +#+HEADER: :tangle "../bin/sisu-html" +#+HEADER: :shebang "#!/usr/bin/env sh" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC sh +sisu --html ${@} +#+END_SRC + +** bin/sisu-html_scroll + +#+HEADER: :tangle "../bin/sisu-html-scroll" +#+HEADER: :shebang "#!/usr/bin/env sh" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC sh +sisu --html-scroll ${@} +#+END_SRC + +** bin/sisu-html-seg + +#+HEADER: :tangle "../bin/sisu-html-seg" +#+HEADER: :shebang "#!/usr/bin/env sh" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC sh +sisu --html-seg ${@} +#+END_SRC + +** bin/sisu-odf + +#+HEADER: :tangle "../bin/sisu-odf" +#+HEADER: :shebang "#!/usr/bin/env sh" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC sh +sisu --odt ${@} +#+END_SRC + +** bin/sisu-pdf + +#+HEADER: :tangle "../bin/sisu-pdf" +#+HEADER: :shebang "#!/usr/bin/env sh" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC sh +sisu --pdf ${@} +#+END_SRC + +** bin/sisu-pdf-portrait + +#+HEADER: :tangle "../bin/sisu-pdf-portrait" +#+HEADER: :shebang "#!/usr/bin/env sh" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC sh +sisu --pdf-portrait ${@} +#+END_SRC + +** bin/sisu-pdf-landscape + +#+HEADER: :tangle "../bin/sisu-pdf-landscape" +#+HEADER: :shebang "#!/usr/bin/env sh" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC sh +sisu --pdf-landscape ${@} +#+END_SRC + +** bin/sisu-pg + +#+HEADER: :tangle "../bin/sisu-pg" +#+HEADER: :shebang "#!/usr/bin/env sh" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC sh +sisu --pg ${@} +#+END_SRC + +** bin/sisu-sqlite + +#+HEADER: :tangle "../bin/sisu-sqlite" +#+HEADER: :shebang "#!/usr/bin/env sh" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC sh +sisu --sqlite ${@} +#+END_SRC + +** bin/sisu-txt + +#+HEADER: :tangle "../bin/sisu-txt" +#+HEADER: :shebang "#!/usr/bin/env sh" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC sh +sisu --txt ${@} +#+END_SRC + +** bin/sisu-webrick + +#+HEADER: :tangle "../bin/sisu-webrick" +#+HEADER: :shebang "#!/usr/bin/env sh" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC sh +sisu -W ${@} +#+END_SRC + +** bin/sisu-misc-utils + +#+HEADER: :tangle "../bin/sisu-misc-utils" +#+HEADER: :shebang "#!/usr/bin/env ruby" +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC ruby +<> +begin + require 'thor' +rescue LoadError + puts 'thor (package ruby-thor) not found' +end +require 'find' +require 'fileutils' + include FileUtils +require 'pathname' +require 'rbconfig.rb' +module SiSUconf + class LanguageCodes + def language_list + def codes + %w[am bg bn br ca cs cy da de el en eo es et eu fi fr ga gl he hi hr hy ia is it ja ko la lo lt lv ml mr nl nn no oc pl pt pt_BR ro ru sa se sk sl sq sr sv ta te th tk tr uk ur us vi zh] + end + def regex + codes.join('|') + end + self + end + end + class DetermineLibsPath + def version + def stable + '5' + end + def unstable + '6' + end + self + end + def processing + def called_as + $0 + #$called_as + end + def called_as_exe + File.basename(called_as) + end + def called_as_exe_strip_current_develop + File.basename(called_as).gsub(/-(?:current|develop)/,'') + end + def argv + $* + #$argv + end + def argv_str + argv.inspect + end + def file_full_path + __FILE__ + end + def current + 'current' + end + def next + 'develop' + end + def stable_bin_file_regex + %r{\bsisu#{version.stable}$} + end + def unstable_bin_file_regex + %r{\bsisu#{version.unstable}$} + end + def stable_modifier_regex + %r{"(?:--v#{version.stable}|--current|--stable)"} + end + def unstable_modifier_regex + %r{"(?:--v#{version.unstable}|--next|--unstable)"} + end + def lib_filename + 'sisu_thor_lib' + end + self + end + def sisu_run_from? + if processing.called_as == processing.file_full_path \ + and File.dirname(processing.file_full_path) != RbConfig::CONFIG['bindir'] + :full_path_to_sisu_bin_in_sisu_dir_tree + elsif processing.file_full_path =~/\/gems\// \ + and processing.file_full_path \ + =~ /\/#{called_as_exe_strip_current_develop}(?:-(?:current|develop))\.(?:\d+|[a-z])\.(?:\d+|[a-z])\// + :gem_install + else + :system_install + end + end + def branch_name_ + if sisu_run_from? == :full_path_to_sisu_bin_in_sisu_dir_tree \ + or sisu_run_from? == :system_install + case processing.called_as + when processing.stable_bin_file_regex then processing.current + when processing.unstable_bin_file_regex then processing.next + else + case processing.argv_str + when processing.stable_modifier_regex then processing.current + when processing.unstable_modifier_regex then processing.next + else processing.current + end + end + elsif sisu_run_from? == :gem_install + case processing.file_full_path + when processing.stable_gem_regex then processing.current + when processing.unstable_gem_regex then processing.next + else processing.current + end + else processing.current + end + end + def sisu_path_specified_lib + if (processing.called_as \ + !~ /^#{RbConfig::CONFIG['bindir']}\/#{called_as_exe_strip_current_develop}(?:-(?:current|develop))?$/) + File.expand_path(processing.called_as). + sub(/bin\/#{called_as_exe_strip_current_develop}(?:-(?:current|develop))?$/,'lib') + else nil + end + end + def sisu_lib + "sisu/#{branch_name_}" + end + def sisu_path_lib + if sisu_path_specified_lib \ + && FileTest.file?("#{sisu_path_specified_lib}/#{sisu_lib}/#{lib_filename}.rb") + "#{sisu_path_specified_lib}/#{sisu_lib}" + else sisu_lib + end + end + end + class Configure < Thor + $SiSU_Language_Codes=LanguageCodes.new + paths= DetermineLibsPath.new + #p "#{paths.sisu_path_lib}/#{paths.processing.lib_filename}" + require "#{paths.sisu_path_lib}/#{paths.processing.lib_filename}" # sisu_thor_lib.rb + @@source=@@targets=nil + include SiSU_Po4a_Actions + class_option :verbose, :type => :boolean +# rake help clean default distclean make manpage readme rebuild + desc 'po4a', + 'place SiSU translations under po4a management' \ + + 'assist with having sisu markup files managed by po4a' \ + + 'create configuration files, and language directories and' \ + + 'populate them with po4a pot & po files for translation and' \ + + 'from those (as translated) create translated sisu markup' \ + + '.ssm .sst & .ssi files in corresponding language sub-directories' \ + + '*WARNING* creates, destroys, overwrites directories not managed by po4a' + options \ + :help => :boolean, + :clean => :boolean, + #:default => :boolean, + :distclean => :boolean, + :make => :boolean, + :lang_source => :string, + :lang_targets => :array, + :manpage => :boolean, + :readme => :boolean, + :rebuild => :boolean, + :current => :string, + :next => :string, + :stable => :string, + :unstable => :string + def po4a + @@source=source=if options[:lang_source] \ + and not options[:lang_source].empty? + options[:lang_source] + else nil + end + @@targets=targets=if options[:lang_targets] + options[:lang_targets] + else nil + end + language.translation_languages_selected(targets) + language.source_language_selected(source) + if options[:help] + notice.project_help + end + if options[:clean] + notice.default(:clean) + project.clean + end + #if options[:default] + # notice.project_help + #end + if options[:distclean] + notice.default(:distclean) + project.distclean + end + if options[:make] + notice.default(:make) + project.make + end + if options[:manpage] + generate.manpage + end + if options[:readme] + generate.readme + end + if options[:rebuild] + notice.default(:rebuild) + project.distclean + project.make + end + end + end +end +begin + require 'rbconfig' + $called_as,$argv=$0,$* + SiSUconf::Configure.start(ARGV) +rescue +end +__END__ +#% manual settings, edit/update as required (note current default settings are obtained from sisu version yml file) +__END__ +#+END_SRC + +* document header + +#+NAME: sisu_document_header +#+BEGIN_SRC text +#encoding: utf-8 +=begin +- Name: SiSU + + - Description: documents, structuring, processing, publishing, search + sisu + + - Author: Ralph Amissah + + + - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, + 2020, 2021, 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 . + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + + + + + + - SiSU uses: + - Standard SiSU markup syntax, + - Standard SiSU meta-markup syntax, and the + - Standard SiSU object citation numbering and system + + - Homepages: + + + - Git + + + +=end +#+END_SRC -- cgit v1.2.3 From 0a87b8fbd5b013b8da07f6bc30360ff735217367 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Wed, 9 Mar 2022 21:05:51 -0500 Subject: org-mode and ruby file headers modified - org-mode file headers modified to preserve org-mode ruby syntax highlighting --- lib/sisu/se.rb | 28 ++++++------ lib/sisu/se_cleanoutput.rb | 28 ++++++------ lib/sisu/se_clear.rb | 28 ++++++------ lib/sisu/se_createsite.rb | 31 ++++++------- lib/sisu/se_css.rb | 28 ++++++------ lib/sisu/se_date.rb | 28 ++++++------ lib/sisu/se_db.rb | 28 ++++++------ org/abstraction.org | 89 +++++++++++++++++++++--------------- org/cgi.org | 24 +++++----- org/config.org | 9 ++-- org/css.org | 9 ++-- org/db.org | 69 ++++++++++++++++------------ org/digests.org | 9 ++-- org/env.org | 109 ++++++++++++++++++++++++++------------------- org/harvest.org | 24 +++++----- org/html.org | 74 +++++++++++++++++------------- org/hub.org | 24 +++++----- org/i18n.org | 15 ++++--- org/json.org | 29 ++++++------ org/manpage.org | 14 +++--- org/misc.org | 79 ++++++++++++++++++-------------- org/object_munge.org | 9 ++-- org/param.org | 19 ++++---- org/shared.org | 34 +++++++------- org/sisu-bin.org | 27 ++++++++--- org/sisu.org | 9 ++-- org/sisu_build.org | 58 +++++++++++++++--------- org/src.org | 54 ++++++++++++---------- org/sst.org | 29 ++++++------ org/texinfo.org | 14 +++--- org/texpdf.org | 19 ++++---- org/txt.org | 79 ++++++++++++++++++-------------- org/utils.org | 29 ++++++------ org/xhtml.org | 54 ++++++++++++---------- org/xml.org | 74 +++++++++++++++++------------- 35 files changed, 724 insertions(+), 560 deletions(-) diff --git a/lib/sisu/se.rb b/lib/sisu/se.rb index ae5af3e9..8bae44dc 100644 --- a/lib/sisu/se.rb +++ b/lib/sisu/se.rb @@ -1,52 +1,52 @@ # #encoding: utf-8 # =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # diff --git a/lib/sisu/se_cleanoutput.rb b/lib/sisu/se_cleanoutput.rb index e54f3dfd..0269e8e3 100644 --- a/lib/sisu/se_cleanoutput.rb +++ b/lib/sisu/se_cleanoutput.rb @@ -1,52 +1,52 @@ # #encoding: utf-8 # =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # diff --git a/lib/sisu/se_clear.rb b/lib/sisu/se_clear.rb index 9af21b46..e512192c 100644 --- a/lib/sisu/se_clear.rb +++ b/lib/sisu/se_clear.rb @@ -1,52 +1,52 @@ # #encoding: utf-8 # =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # diff --git a/lib/sisu/se_createsite.rb b/lib/sisu/se_createsite.rb index 6b04f917..33761cd1 100644 --- a/lib/sisu/se_createsite.rb +++ b/lib/sisu/se_createsite.rb @@ -1,52 +1,52 @@ # #encoding: utf-8 # =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # @@ -161,7 +161,8 @@ module SiSU_Create_Site cp_images(src,dest) if FileTest.directory?(src) end def cp_base_images #fix images - src=SiSU_is.path_base_system_data? + '/image' + src=$sisu_base_data + '/image' # hard fix, revisit + #src=SiSU_is.path_base_system_data? + '/image' dest_arr=[ "#{@env.path.webserv}/_sisu/image_sys", "#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image_sys" diff --git a/lib/sisu/se_css.rb b/lib/sisu/se_css.rb index 63a15aeb..eef0406d 100644 --- a/lib/sisu/se_css.rb +++ b/lib/sisu/se_css.rb @@ -1,52 +1,52 @@ # #encoding: utf-8 # =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # diff --git a/lib/sisu/se_date.rb b/lib/sisu/se_date.rb index 33bfec64..76112b32 100644 --- a/lib/sisu/se_date.rb +++ b/lib/sisu/se_date.rb @@ -1,52 +1,52 @@ # #encoding: utf-8 # =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # diff --git a/lib/sisu/se_db.rb b/lib/sisu/se_db.rb index 7025bfac..d03cd0b8 100644 --- a/lib/sisu/se_db.rb +++ b/lib/sisu/se_db.rb @@ -1,52 +1,52 @@ # #encoding: utf-8 # =begin # - Name: SiSU -# +# # - Description: documents, structuring, processing, publishing, search # se -# +# # - Author: Ralph Amissah # -# +# # - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, # 2020, 2021, 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 . -# +# # If you have Internet connection, the latest version of the GPL should be # available at these locations: # # -# +# # -# +# # - SiSU uses: # - Standard SiSU markup syntax, # - Standard SiSU meta-markup syntax, and the # - Standard SiSU object citation numbering and system -# +# # - Homepages: # -# +# # - Git # # diff --git a/org/abstraction.org b/org/abstraction.org index ed96a984..c31f36b6 100644 --- a/org/abstraction.org +++ b/org/abstraction.org @@ -19,8 +19,9 @@ * ao.rb ** ao.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao.rb" +#+BEGIN_SRC ruby +#<> module SiSU_AO require_relative 'se' # se.rb include SiSU_Env @@ -558,8 +559,9 @@ __END__ ** ao_appendices.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_appendices.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao_appendices.rb" +#+BEGIN_SRC ruby +#<> module SiSU_AO_Appendices class Glossary def initialize(md,data) @@ -1132,8 +1134,9 @@ __END__ ** ao_character_check.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_character_check.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao_character_check.rb" +#+BEGIN_SRC ruby +#<> module SiSU_AO_CharacterCheck class Check def initialize(data) @@ -1183,8 +1186,9 @@ end ** ao_composite.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_composite.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao_composite.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Assemble require_relative 'se' # se.rb require_relative 'utils_composite' # utils_composite.rb @@ -1418,8 +1422,9 @@ __END__ ** ao_doc_objects.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_doc_objects.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao_doc_objects.rb" +#+BEGIN_SRC ruby +#<> module SiSU_AO_DocumentStructure class Extract def extract(h,o) @@ -1933,8 +1938,9 @@ __END__ ** ao_doc_str.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_doc_str.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao_doc_str.rb" +#+BEGIN_SRC ruby +#<> module SiSU_AO_DocumentStructureExtract require_relative 'ao_persist' # ao_persist.rb class Instantiate < SiSU_Param::Parameters::Instructions @@ -4369,8 +4375,9 @@ __END__ ** ao_endnotes.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_endnotes.rb_" -<> +#+HEADER: :tangle "../lib/sisu/ao_endnotes.rb_" +#+BEGIN_SRC ruby +#<> module SiSU_AO_Endnotes class Endnotes def initialize(md,data,endnote_array=nil) @@ -4455,8 +4462,9 @@ __END__ ** ao_expand_insertions.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_expand_insertions.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao_expand_insertions.rb" +#+BEGIN_SRC ruby +#<> module SiSU_AO_Insertions class Insertions def initialize(md,data) @@ -4919,8 +4927,9 @@ __END__ ** ao_hash_digest.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_hash_digest.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao_hash_digest.rb" +#+BEGIN_SRC ruby +#<> module SiSU_AO_Hash require_relative 'shared_markup_alt.rb' #shared_markup_alt.rb class ObjectDigest @@ -5043,8 +5052,9 @@ __END__ ** ao_idx.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_idx.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao_idx.rb" +#+BEGIN_SRC ruby +#<> module SiSU_AO_BookIndex class BookIndex def initialize(md,data,env=nil) @@ -5415,8 +5425,9 @@ __END__ ** ao_images.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_images.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao_images.rb" +#+BEGIN_SRC ruby +#<> module SiSU_AO_Images class Images begin @@ -5552,8 +5563,9 @@ imgsys=`identify #{image_path}/#{image}`.strip ** ao_metadata.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_metadata.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao_metadata.rb" +#+BEGIN_SRC ruby +#<> module SiSU_AO_Metadata class Metadata def initialize(md,metad) @@ -5588,8 +5600,9 @@ __END__ ** ao_misc_arrange.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_misc_arrange.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao_misc_arrange.rb" +#+BEGIN_SRC ruby +#<> module SiSU_AO_MiscArrangeText class SI def initialize(md,data) @@ -5745,8 +5758,9 @@ __END__ ** ao_numbering.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_numbering.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao_numbering.rb" +#+BEGIN_SRC ruby +#<> module SiSU_AO_Numbering class Numbering attr_accessor :obj,:osp,:ocn,:lv,:name,:index,:comment @@ -6415,8 +6429,9 @@ __END__ ** ao_persist.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_persist.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao_persist.rb" +#+BEGIN_SRC ruby +#<> module SiSU_AO_Persist class Persist @@persistance=nil @@ -6559,8 +6574,9 @@ __END__ ** ao_syntax.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_syntax.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao_syntax.rb" +#+BEGIN_SRC ruby +#<> module SiSU_AO_Syntax class Words def initialize(line,md,mkp) @@ -7149,8 +7165,9 @@ __END__ ** ao_endnotes.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/ao_endnotes.rb" -<> +#+HEADER: :tangle "../lib/sisu/ao_endnotes.rb" +#+BEGIN_SRC ruby +#<> module SiSU_AO_Endnotes class Endnotes def initialize(md,data,endnote_array=nil) @@ -7237,8 +7254,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -7290,5 +7306,4 @@ __END__ -=end #+END_SRC diff --git a/org/cgi.org b/org/cgi.org index 25ecd88a..a1504a02 100644 --- a/org/cgi.org +++ b/org/cgi.org @@ -19,8 +19,9 @@ * cgi ** cgi.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/cgi.rb" -<> +#+HEADER: :tangle "../lib/sisu/cgi.rb" +#+BEGIN_SRC ruby +#<> module SiSU_CGI #% database building documents require_relative 'se' # se.rb require_relative 'cgi_pgsql' # cgi_pgsql.rb @@ -53,8 +54,9 @@ __END__ ** cgi_sqlite.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/cgi_sqlite.rb" -<> +#+HEADER: :tangle "../lib/sisu/cgi_sqlite.rb" +#+BEGIN_SRC ruby +#<> module SiSU_CGI_SQLite #% database building documents require_relative 'se' # se.rb require_relative 'cgi_sql_common' # cgi_sql_common.rb @@ -247,8 +249,9 @@ __END__ ** cgi_pgsql.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/cgi_pgsql.rb" -<> +#+HEADER: :tangle "../lib/sisu/cgi_pgsql.rb" +#+BEGIN_SRC ruby +#<> module SiSU_CGI_PgSQL #% database building documents require_relative 'se' # se.rb require_relative 'cgi_sql_common' # cgi_sql_common.rb @@ -467,8 +470,9 @@ __END__ ** cgi_sql_common.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/cgi_sql_common.rb" -<> +#+HEADER: :tangle "../lib/sisu/cgi_sql_common.rb" +#+BEGIN_SRC ruby +#<> module SiSU_CGI_SQL class CGI_Common def initialize(webserv,opt,image_src,dir) @@ -1405,8 +1409,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -1458,5 +1461,4 @@ __END__ -=end #+END_SRC diff --git a/org/config.org b/org/config.org index 88b45bd9..c14d7510 100644 --- a/org/config.org +++ b/org/config.org @@ -18,8 +18,9 @@ * conf.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/conf.rb" -<> +#+HEADER: :tangle "../lib/sisu/conf.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Initialize require_relative 'se' # se.rb include SiSU_Env @@ -257,8 +258,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -309,5 +309,4 @@ __END__ -=end #+END_SRC diff --git a/org/css.org b/org/css.org index 7551999b..370858c0 100644 --- a/org/css.org +++ b/org/css.org @@ -18,8 +18,9 @@ * css.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/css.rb" -<> +#+HEADER: :tangle "../lib/sisu/css.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Style require_relative 'se' # se.rb require_relative 'html_parts' # html_parts.rb @@ -3454,8 +3455,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -3507,5 +3507,4 @@ __END__ -=end #+END_SRC diff --git a/org/db.org b/org/db.org index 696afb48..469416b3 100644 --- a/org/db.org +++ b/org/db.org @@ -18,8 +18,9 @@ * dbi.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/dbi.rb" -<> +#+HEADER: :tangle "../lib/sisu/dbi.rb" +#+BEGIN_SRC ruby +#<> module SiSU_DBI #% database building require_relative 'se' # se.rb include SiSU_Env; include SiSU_Screen @@ -134,8 +135,9 @@ __END__ * dbi_discrete.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/dbi_discrete.rb" -<> +#+HEADER: :tangle "../lib/sisu/dbi_discrete.rb" +#+BEGIN_SRC ruby +#<> module SiSU_DBI_Discrete #% database building require_relative 'se' # se.rb include SiSU_Env; include SiSU_Screen @@ -290,8 +292,9 @@ __END__ * db_dbi.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/db_dbi.rb" -<> +#+HEADER: :tangle "../lib/sisu/db_dbi.rb" +#+BEGIN_SRC ruby +#<> module SiSU_DbDBI require_relative 'db_columns' # db_columns.rb require_relative 'db_tests' # db_tests.rb @@ -330,8 +333,9 @@ __END__ * db_sqltxt.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/db_sqltxt.rb" -<> +#+HEADER: :tangle "../lib/sisu/db_sqltxt.rb" +#+BEGIN_SRC ruby +#<> module SiSU_DbText class Prepare def special_character_escape(str) @@ -454,8 +458,9 @@ __END__ * create drop import remove ** db_create.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/db_create.rb" -<> +#+HEADER: :tangle "../lib/sisu/db_create.rb" +#+BEGIN_SRC ruby +#<> module SiSU_DbCreate require_relative 'db_columns' # db_columns.rb class Create < SiSU_DbColumns::Columns @@ -1093,8 +1098,9 @@ __END__ ** db_drop.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/db_drop.rb" -<> +#+HEADER: :tangle "../lib/sisu/db_drop.rb" +#+BEGIN_SRC ruby +#<> module SiSU_DbDrop require_relative 'utils_response' # utils_response.rb class Drop @@ -1250,8 +1256,9 @@ __END__ ** db_import.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/db_import.rb" -<> +#+HEADER: :tangle "../lib/sisu/db_import.rb" +#+BEGIN_SRC ruby +#<> module SiSU_DbImport require_relative 'db_columns' # db_columns.rb require_relative 'db_load_tuple' # db_load_tuple.rb @@ -2077,8 +2084,9 @@ __END__ ** db_remove.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/db_remove.rb" -<> +#+HEADER: :tangle "../lib/sisu/db_remove.rb" +#+BEGIN_SRC ruby +#<> module SiSU_DbRemove class Remove include SiSU_DbAction @@ -2209,8 +2217,9 @@ __END__ * db_load_tuple.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/db_load_tuple.rb" -<> +#+HEADER: :tangle "../lib/sisu/db_load_tuple.rb" +#+BEGIN_SRC ruby +#<> module SiSU_DbTuple require_relative 'db_columns' # db_columns.rb class LoadDocuments @@ -2463,8 +2472,9 @@ __END__ * db_select.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/db_select.rb" -<> +#+HEADER: :tangle "../lib/sisu/db_select.rb" +#+BEGIN_SRC ruby +#<> module SiSU_DbAction def db_action(sdb) @sdb=sdb @@ -2644,8 +2654,9 @@ __END__ * structure ** db_columns.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/db_columns.rb" -<> +#+HEADER: :tangle "../lib/sisu/db_columns.rb" +#+BEGIN_SRC ruby +#<> module SiSU_DbColumns require_relative 'se' # se.rb require_relative 'db_sqltxt' # db_sqltxt.rb @@ -4592,8 +4603,9 @@ __END__ ** db_indexes.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/db_indexes.rb" -<> +#+HEADER: :tangle "../lib/sisu/db_indexes.rb" +#+BEGIN_SRC ruby +#<> module SiSU_DbIndex class Index # create documents Indexes def initialize(opt,conn='',sql_type) def initialize(opt,conn,file,sql_type) @@ -4688,8 +4700,9 @@ __END__ * db_tests.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/db_tests.rb" -<> +#+HEADER: :tangle "../lib/sisu/db_tests.rb" +#+BEGIN_SRC ruby +#<> module SiSU_DbTests class Test def initialize(info,opt) @@ -4754,8 +4767,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -4807,5 +4819,4 @@ __END__ -=end #+END_SRC diff --git a/org/digests.org b/org/digests.org index dcc16efb..20831af8 100644 --- a/org/digests.org +++ b/org/digests.org @@ -18,8 +18,9 @@ * digests.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/digests.rb" -<> +#+HEADER: :tangle "../lib/sisu/digests.rb" +#+BEGIN_SRC ruby +#<> module SiSU_DigestView require_relative 'se_hub_particulars' # se_hub_particulars.rb require_relative 'prog_text_translation' # prog_text_translation.rb @@ -276,8 +277,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -329,5 +329,4 @@ __END__ -=end #+END_SRC diff --git a/org/env.org b/org/env.org index 2809c484..02c5ed29 100644 --- a/org/env.org +++ b/org/env.org @@ -19,8 +19,9 @@ * sisu environment ** se.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se.rb" -# <> +#+HEADER: :tangle "../lib/sisu/se.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Env #@@cX=nil require_relative 'constants' # constants.rb @@ -127,8 +128,9 @@ __END__ ** se_cleanoutput.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_cleanoutput.rb" -# <> +#+HEADER: :tangle "../lib/sisu/se_cleanoutput.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Clean_Output require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -222,8 +224,9 @@ __END__ ** se_clear.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_clear.rb" -# <> +#+HEADER: :tangle "../lib/sisu/se_clear.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Clear require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -277,8 +280,9 @@ __END__ ** se_createsite.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_createsite.rb" -# <> +#+HEADER: :tangle "../lib/sisu/se_createsite.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Create_Site require_relative 'constants' # constants.rb require_relative 'html_parts' # html_parts.rb @@ -500,8 +504,9 @@ __END__ ** se_css.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_css.rb" -# <> +#+HEADER: :tangle "../lib/sisu/se_css.rb" +#+BEGIN_SRC ruby +#<> module SiSU_CSS require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -671,8 +676,9 @@ __END__ ** se_date.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_date.rb" -# <> +#+HEADER: :tangle "../lib/sisu/se_date.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Info_Date require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -713,8 +719,9 @@ __END__ ** se_db.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_db.rb" -# <> +#+HEADER: :tangle "../lib/sisu/se_db.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Info_Db require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -877,8 +884,9 @@ __END__ ** se_envcall.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_envcall.rb" -<> +#+HEADER: :tangle "../lib/sisu/se_envcall.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Env_Call begin require 'singleton' @@ -1153,8 +1161,9 @@ __END__ ** se_filemap.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_filemap.rb" -<> +#+HEADER: :tangle "../lib/sisu/se_filemap.rb" +#+BEGIN_SRC ruby +#<> module SiSU_File_Map require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -1350,8 +1359,9 @@ __END__ ** se_file_op.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_file_op.rb" -<> +#+HEADER: :tangle "../lib/sisu/se_file_op.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Info_File require_relative 'utils' # utils.rb require_relative 'se_info_env' # se_info_env.rb @@ -4117,8 +4127,9 @@ __END__ ** se_get_init.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_get_init.rb" -<> +#+HEADER: :tangle "../lib/sisu/se_get_init.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Get_Init require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -4305,8 +4316,9 @@ __END__ ** se_hub_particulars.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_hub_particulars.rb" -<> +#+HEADER: :tangle "../lib/sisu/se_hub_particulars.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Particulars begin require 'singleton' @@ -4489,8 +4501,9 @@ consider running as separate objects ** se_info_env.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_info_env.rb" -<> +#+HEADER: :tangle "../lib/sisu/se_info_env.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Info_Env @@current_document=Dir.pwd #nil #'' require_relative 'se_envcall' # se_envcall.rb @@ -6618,8 +6631,9 @@ __END__ ** se_info_port.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_info_port.rb" -<> +#+HEADER: :tangle "../lib/sisu/se_info_port.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Info_Port require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -6638,8 +6652,9 @@ __END__ ** se_info_system.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_info_system.rb" -<> +#+HEADER: :tangle "../lib/sisu/se_info_system.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Info_Sys_Gen require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -6790,8 +6805,9 @@ __END__ ** se_load.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_load.rb" -<> +#+HEADER: :tangle "../lib/sisu/se_load.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Load require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -6848,8 +6864,9 @@ __END__ ** se_processing.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_processing.rb" -<> +#+HEADER: :tangle "../lib/sisu/se_processing.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Processing_Settings require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -7457,8 +7474,9 @@ __END__ ** se_programs.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_programs.rb" -<> +#+HEADER: :tangle "../lib/sisu/se_programs.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Sys_Call begin require 'singleton' @@ -7801,8 +7819,9 @@ __END__ ** se_remotes.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_remotes.rb" -<> +#+HEADER: :tangle "../lib/sisu/se_remotes.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Info_Remote_Host require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -8304,8 +8323,9 @@ __END__ ** se_standardise_lang.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_standardise_lang.rb" -<> +#+HEADER: :tangle "../lib/sisu/se_standardise_lang.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Standardise_Lang @@lang_info=nil class StandardiseLanguage @@ -8430,8 +8450,9 @@ __END__ ** se_version.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/se_version.rb" -<> +#+HEADER: :tangle "../lib/sisu/se_version.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Info_Version require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb @@ -8559,8 +8580,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -8612,5 +8632,4 @@ __END__ -=end #+END_SRC diff --git a/org/harvest.org b/org/harvest.org index 09d0fb6c..4d37bd31 100644 --- a/org/harvest.org +++ b/org/harvest.org @@ -19,8 +19,9 @@ * harvest ** html_harvest.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_harvest.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_harvest.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Harvest @@the_idx_topics,@@the_idx_authors={},{} class Source @@ -78,8 +79,9 @@ end ** topics *** html_harvest_topics.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_harvest_topics.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_harvest_topics.rb" +#+BEGIN_SRC ruby +#<> module SiSU_HarvestTopics require_relative 'html_harvest_author_format' # html_harvest_author_format.rb require_relative 'html_parts' # html_parts.rb @@ -921,8 +923,9 @@ terms -|_ t{tl1} -|_ {fa}[fa]{filenames and other details} ** authors *** html_harvest_authors.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_harvest_authors.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_harvest_authors.rb" +#+BEGIN_SRC ruby +#<> module SiSU_HarvestAuthors require_relative 'html_harvest_author_format' # html_harvest_author_format.rb require_relative 'html_parts' # html_parts.rb @@ -1337,8 +1340,9 @@ __END__ *** html_harvest_author_format.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_harvest_author_format.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_harvest_author_format.rb" +#+BEGIN_SRC ruby +#<> module SiSU_FormatAuthor class Author def initialize(author_param) @@ -1400,8 +1404,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -1453,5 +1456,4 @@ __END__ -=end #+END_SRC diff --git a/org/html.org b/org/html.org index 22e6d6f6..15f3a87a 100644 --- a/org/html.org +++ b/org/html.org @@ -20,8 +20,9 @@ ** part *** html.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html.rb" -<> +#+HEADER: :tangle "../lib/sisu/html.rb" +#+BEGIN_SRC ruby +#<> module SiSU_HTML begin require 'pstore' @@ -745,8 +746,9 @@ __END__ *** html_parts.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_parts.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_parts.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Parts_HTML require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic @@ -1132,8 +1134,9 @@ __END__ *** html_tune.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_tune.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_tune.rb" +#+BEGIN_SRC ruby +#<> require_relative 'dp' # dp.rb module SiSU_HTML_Tune require_relative 'se' # se.rb @@ -1383,8 +1386,9 @@ __END__ *** html_scroll.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_scroll.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_scroll.rb" +#+BEGIN_SRC ruby +#<> module SiSU_HTML_Scroll require_relative 'html_shared' # html_shared.rb require_relative 'html' # html.rb @@ -1568,8 +1572,9 @@ __END__ *** html_segments.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_segments.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_segments.rb" +#+BEGIN_SRC ruby +#<> module SiSU_HTML_Seg require_relative 'html_shared' # html_shared.rb require_relative 'html' # html.rb @@ -2234,8 +2239,9 @@ __END__ *** html_format.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_format.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_format.rb" +#+BEGIN_SRC ruby +#<> module SiSU_HTML_Format require_relative 'html_parts' # html_parts.rb class ParagraphNumber @@ -3533,8 +3539,9 @@ __END__ ** shared *** html_shared.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_shared.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_shared.rb" +#+BEGIN_SRC ruby +#<> module SiSU_HTML_Shared require_relative 'html_table' # html_table.rb class TableHTML < SiSU_HTML_Table::TableHTML @@ -3545,8 +3552,9 @@ __END__ *** html_lite_shared.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_lite_shared.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_lite_shared.rb" +#+BEGIN_SRC ruby +#<> module SiSU_FormatShared require_relative 'html_parts' # html_parts.rb class CSS_Format @@ -3818,8 +3826,9 @@ __END__ *** html_table.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_table.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_table.rb" +#+BEGIN_SRC ruby +#<> module SiSU_HTML_Table require_relative 'xhtml_table' # xhtml_table.rb require_relative 'html_parts' # html_parts.rb @@ -3835,8 +3844,9 @@ __END__ ** misc *** html_minitoc.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_minitoc.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_minitoc.rb" +#+BEGIN_SRC ruby +#<> module SiSU_HTML_MiniToc require_relative 'html_tune' # html_tune.rb include SiSU_HTML_Tune @@ -4015,8 +4025,9 @@ __END__ *** html_concordance.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_concordance.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_concordance.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Concordance require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -4356,8 +4367,9 @@ __END__ *** html_manifest.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_manifest.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_manifest.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Manifest require_relative 'se' # se.rb include SiSU_Env @@ -5338,8 +5350,9 @@ __END__ *** html_persist.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_persist.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_persist.rb" +#+BEGIN_SRC ruby +#<> module SiSU_HTML_Persist class Persist @@persist=nil @@ -5525,8 +5538,9 @@ __END__ *** html_promo.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/html_promo.rb" -<> +#+HEADER: :tangle "../lib/sisu/html_promo.rb" +#+BEGIN_SRC ruby +#<> module SiSU_HTML_Promo require_relative 'se' # se.rb include SiSU_Env @@ -5917,8 +5931,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -5970,5 +5983,4 @@ __END__ -=end #+END_SRC diff --git a/org/hub.org b/org/hub.org index 2852840f..705bbf21 100644 --- a/org/hub.org +++ b/org/hub.org @@ -19,8 +19,9 @@ * hub ** hub.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/hub.rb" -<> +#+HEADER: :tangle "../lib/sisu/hub.rb" +#+BEGIN_SRC ruby +#<> module SiSU require_relative 'constants' # constants.rb require_relative 'se' # se.rb @@ -247,8 +248,9 @@ __END__ ** hub_options.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/hub_options.rb" -<> +#+HEADER: :tangle "../lib/sisu/hub_options.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Commandline begin require 'pathname' @@ -1899,8 +1901,9 @@ passing @opt as well is duplication check for fns & fnb ** hub_actions.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/hub_actions.rb" -<> +#+HEADER: :tangle "../lib/sisu/hub_actions.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Hub_Actions class HubActions require_relative 'utils_composite' # utils_composite.rb @@ -2987,8 +2990,9 @@ __END__ ** hub_loop_markup_files.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/hub_loop_markup_files.rb" -<> +#+HEADER: :tangle "../lib/sisu/hub_loop_markup_files.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Hub_Loops require_relative 'constants' # constants.rb require_relative 'se' # se.rb @@ -3109,8 +3113,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -3162,5 +3165,4 @@ __END__ -=end #+END_SRC diff --git a/org/i18n.org b/org/i18n.org index 3c9d76e6..a4c43266 100644 --- a/org/i18n.org +++ b/org/i18n.org @@ -19,8 +19,9 @@ * i18n ** i18n.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/i18n.rb" -<> +#+HEADER: :tangle "../lib/sisu/i18n.rb" +#+BEGIN_SRC ruby +#<> module SiSU_i18n @@language_table,@@language_list=nil,nil class Languages @@ -302,8 +303,9 @@ __END__ * prog_text_translation.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/prog_text_translation.rb" -<> +#+HEADER: :tangle "../lib/sisu/prog_text_translation.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Translate require_relative 'se' # se.rb include SiSU_Env; include SiSU_Param @@ -1949,8 +1951,7 @@ end #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -2002,8 +2003,8 @@ end -=end #+END_SRC + * NOTES ** language list po4a diff --git a/org/json.org b/org/json.org index 91b54271..3ea186d4 100644 --- a/org/json.org +++ b/org/json.org @@ -18,8 +18,9 @@ * json.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/json.rb" -<> +#+HEADER: :tangle "../lib/sisu/json.rb" +#+BEGIN_SRC ruby +#<> module SiSU_JSON require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -385,8 +386,9 @@ __END__ * json_parts.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/json_parts.rb" -<> +#+HEADER: :tangle "../lib/sisu/json_parts.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Parts_JSON require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic @@ -425,8 +427,9 @@ __END__ * json_shared.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/json_shared.rb" -<> +#+HEADER: :tangle "../lib/sisu/json_shared.rb" +#+BEGIN_SRC ruby +#<> module SiSU_JSONutils require_relative 'generic_parts' # generic_parts.rb class Clean @@ -1058,8 +1061,9 @@ __END__ * json_format.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/json_format.rb" -<> +#+HEADER: :tangle "../lib/sisu/json_format.rb" +#+BEGIN_SRC ruby +#<> module SiSU_JSON_Format require_relative 'dp' # dp.rb require_relative 'json_parts' # json_parts.rb @@ -1488,8 +1492,9 @@ __END__ * json_persist.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/json_persist.rb" -<> +#+HEADER: :tangle "../lib/sisu/json_persist.rb" +#+BEGIN_SRC ruby +#<> module SiSU_JSON_Persist class Persist @@persist=nil @@ -1566,8 +1571,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -1619,5 +1623,4 @@ __END__ -=end #+END_SRC diff --git a/org/manpage.org b/org/manpage.org index 4266eb77..2b9f1142 100644 --- a/org/manpage.org +++ b/org/manpage.org @@ -18,8 +18,9 @@ * manpage.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/manpage.rb" -<> +#+HEADER: :tangle "../lib/sisu/manpage.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Manpage require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -345,8 +346,9 @@ __END__ * manpage_format.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/manpage_format.rb" -<> +#+HEADER: :tangle "../lib/sisu/manpage_format.rb" +#+BEGIN_SRC ruby +#<> module SiSU_ManpageFormat require_relative 'dp' # dp.rb include SiSU_Param @@ -382,8 +384,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -435,5 +436,4 @@ __END__ -=end #+END_SRC diff --git a/org/misc.org b/org/misc.org index 7f10e1c3..abb23cc1 100644 --- a/org/misc.org +++ b/org/misc.org @@ -19,8 +19,9 @@ * misc sort ** air.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/air.rb" -<> +#+HEADER: :tangle "../lib/sisu/air.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Air require_relative 'se_hub_particulars' # se_hub_particulars.rb class Source @@ -49,8 +50,9 @@ __END__ ** embedded.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/embedded.rb" -<> +#+HEADER: :tangle "../lib/sisu/embedded.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Embedded require_relative 'dp' # dp.rb include SiSU_Param @@ -148,8 +150,9 @@ __END__ ** errors.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/errors.rb" -<> +#+HEADER: :tangle "../lib/sisu/errors.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Errors require_relative 'se' # se.rb include SiSU_Env; include SiSU_Screen @@ -182,8 +185,9 @@ __END__ ** git.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/git.rb" -<> +#+HEADER: :tangle "../lib/sisu/git.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Git require_relative 'dp' # dp.rb require_relative 'se' # se.rb @@ -409,8 +413,9 @@ __END__ ** qrcode.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/qrcode.rb" -<> +#+HEADER: :tangle "../lib/sisu/qrcode.rb" +#+BEGIN_SRC ruby +#<> module SiSU_QRcode require_relative 'se' # se.rb include SiSU_Env @@ -1113,8 +1118,9 @@ __END__ ** relaxng.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/relaxng.rb" -<> +#+HEADER: :tangle "../lib/sisu/relaxng.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Relaxng require_relative 'se' # se.rb class RelaxNG @@ -2216,8 +2222,9 @@ needs updating ** remote.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/remote.rb" -<> +#+HEADER: :tangle "../lib/sisu/remote.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Remote require_relative 'se' # se.rb include SiSU_Env @@ -2412,8 +2419,9 @@ __END__ ** rexml.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/rexml.rb" -<> +#+HEADER: :tangle "../lib/sisu/rexml.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Rexml # load XML file for REXML parsing begin @@ -2510,8 +2518,9 @@ end ** sitemaps.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/sitemaps.rb" -<> +#+HEADER: :tangle "../lib/sisu/sitemaps.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Sitemaps require_relative 'dp' # dp.rb include SiSU_Param @@ -2684,8 +2693,9 @@ __END__ ** termsheet.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/termsheet.rb" -<> +#+HEADER: :tangle "../lib/sisu/termsheet.rb" +#+BEGIN_SRC ruby +#<> require_relative 'se' # se.rb require_relative 'dp' # dp.rb include SiSU_Param @@ -2797,8 +2807,9 @@ the term sheet calls the standard form or template that is to be run against it. ** update.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/update.rb" -<> +#+HEADER: :tangle "../lib/sisu/update.rb" +#+BEGIN_SRC ruby +#<> module SiSU_UpdateControlFlag require_relative 'se' # se.rb include SiSU_Env @@ -2888,8 +2899,9 @@ __END__ ** urls.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/urls.rb" -<> +#+HEADER: :tangle "../lib/sisu/urls.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Urls require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -3547,8 +3559,9 @@ __END__ ** webrick.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/webrick.rb" -<> +#+HEADER: :tangle "../lib/sisu/webrick.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Webserv class WebrickStart begin @@ -3687,8 +3700,9 @@ __END__ ** wikispeak.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/wikispeak.rb" -<> +#+HEADER: :tangle "../lib/sisu/wikispeak.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Wikispeak require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -4011,8 +4025,9 @@ __END__ ** zap.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/zap.rb" -<> +#+HEADER: :tangle "../lib/sisu/zap.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Zap require_relative 'se' # se.rb include SiSU_Env @@ -4053,8 +4068,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -4106,5 +4120,4 @@ __END__ -=end #+END_SRC diff --git a/org/object_munge.org b/org/object_munge.org index de4ee999..b950545c 100644 --- a/org/object_munge.org +++ b/org/object_munge.org @@ -18,8 +18,9 @@ * object_munge.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/object_munge.rb" -<> +#+HEADER: :tangle "../lib/sisu/object_munge.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Object_Munge def i_src_o_strip_markup(txtobj) txtobj=txtobj. @@ -277,8 +278,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -330,5 +330,4 @@ __END__ -=end #+END_SRC diff --git a/org/param.org b/org/param.org index 147fc8e6..27a9520e 100644 --- a/org/param.org +++ b/org/param.org @@ -18,8 +18,9 @@ * dp.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/dp.rb" -<> +#+HEADER: :tangle "../lib/sisu/dp.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Param begin require 'uri' @@ -1581,8 +1582,9 @@ __END__ * dp_make.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/dp_make.rb" -<> +#+HEADER: :tangle "../lib/sisu/dp_make.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Param_Make class MdMake def initialize(str,opt,env) @@ -2198,8 +2200,9 @@ __END__ * dp_identify_markup.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/dp_identify_markup.rb" -<> +#+HEADER: :tangle "../lib/sisu/dp_identify_markup.rb" +#+BEGIN_SRC ruby +#<> module SiSU_MarkupType class MarkupIdentify @@version={} @@ -2309,8 +2312,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -2362,5 +2364,4 @@ __END__ -=end #+END_SRC diff --git a/org/shared.org b/org/shared.org index ff88f99c..b6e98f08 100644 --- a/org/shared.org +++ b/org/shared.org @@ -19,8 +19,9 @@ * shared ** shared_sem.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/shared_sem.rb" -<> +#+HEADER: :tangle "../lib/sisu/shared_sem.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Sem require_relative 'dp' # dp.rb class Tags @@ -125,8 +126,9 @@ __END__ ** shared_images.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/shared_images.rb" -<> +#+HEADER: :tangle "../lib/sisu/shared_images.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Images require_relative 'se_hub_particulars' # se_hub_particulars.rb class Source @@ -212,8 +214,9 @@ __END__ ** shared_markup_alt.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/shared_markup_alt.rb" -<> +#+HEADER: :tangle "../lib/sisu/shared_markup_alt.rb" +#+BEGIN_SRC ruby +#<> module SiSU_TextRepresentation class Alter def initialize(x) @@ -498,8 +501,9 @@ __END__ ** shared_metadata.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/shared_metadata.rb" -<> +#+HEADER: :tangle "../lib/sisu/shared_metadata.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Metadata require_relative 'xml_parts' # xml_parts.rb require_relative 'xml_shared' # xml_shared.rb @@ -1821,8 +1825,9 @@ __END__ * constants ** constants.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/constants.rb" -<> +#+HEADER: :tangle "../lib/sisu/constants.rb" +#+BEGIN_SRC ruby +#<> YEAR='2021' Sfx={ txt: '.txt', @@ -2160,8 +2165,9 @@ Iu ⌠ 8992 Il ⌡ <7 ⌈ 8968 >7 ⌉ 8969 7< ⌊ 8970 7> ⌋ 8971 * generic ** generic_parts.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/generic_parts.rb" -<> +#+HEADER: :tangle "../lib/sisu/generic_parts.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Parts_Generic def the_url def urify(uri) @@ -2243,8 +2249,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -2296,5 +2301,4 @@ __END__ -=end #+END_SRC diff --git a/org/sisu-bin.org b/org/sisu-bin.org index c48cd626..a92e7b5e 100644 --- a/org/sisu-bin.org +++ b/org/sisu-bin.org @@ -16,6 +16,25 @@ #+PROPERTY: header-args+ :padline no #+PROPERTY: header-args+ :mkdirp yes +[[./sisu_info.org][sisu_info.org]] [[./][org/]] +[[./sisu_build.org][make/build]] VERSION + +* version.txt (set version) :version: +** set program tangle + +#+BEGIN_SRC txt :NO-tangle "../data/sisu/version.yml" +<> +#+END_SRC + +#+NAME: sisu_version_current_set +#+BEGIN_SRC yaml +--- +:project: SiSU +:version: 7.2.1_pre_rel +:date_stamp: 2019w35/4 +:date: "2019-09-05" +#+END_SRC + * bin ** bin/sisu @@ -23,7 +42,7 @@ #+HEADER: :shebang "#!/usr/bin/env ruby" #+HEADER: :tangle-mode (identity #o755) #+BEGIN_SRC ruby -<> +#<> class Orient require 'singleton' include Singleton @@ -470,7 +489,7 @@ sisu -W ${@} #+HEADER: :shebang "#!/usr/bin/env ruby" #+HEADER: :tangle-mode (identity #o755) #+BEGIN_SRC ruby -<> +#<> begin require 'thor' rescue LoadError @@ -691,8 +710,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -744,5 +762,4 @@ __END__ -=end #+END_SRC diff --git a/org/sisu.org b/org/sisu.org index 01678612..18fb96b1 100644 --- a/org/sisu.org +++ b/org/sisu.org @@ -28,8 +28,9 @@ * sisu.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu.rb" -<> +#+HEADER: :tangle "../lib/sisu.rb" +#+BEGIN_SRC ruby +#<> module SiSU_libs require_relative 'sisu/hub' # sisu/hub.rb require_relative 'sisu/se' # sisu/se.rb @@ -74,8 +75,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -127,5 +127,4 @@ __END__ -=end #+END_SRC diff --git a/org/sisu_build.org b/org/sisu_build.org index da7ce0b1..c9d05937 100644 --- a/org/sisu_build.org +++ b/org/sisu_build.org @@ -55,7 +55,8 @@ git log --pretty=format:"%h %ad - %s%d [%an]" --graph --date=short --no-merges > * sisu version TODO -#+BEGIN_SRC ruby :tangle ../setup/sisu_version.rb +#+HEADER: :tangle ../setup/sisu_version.rb +#+BEGIN_SRC ruby #% constants module SiSUversion SiSU_version = '7.2.1' @@ -67,7 +68,8 @@ end * +makefile+ :makefile: -#+BEGIN_SRC makefile :NO-tangle ../makefile +#+HEADER: :NO-tangle ../makefile +#+BEGIN_SRC makefile #+END_SRC * qi (quick install) @@ -340,7 +342,8 @@ __END__ ** qi_lib -#+BEGIN_SRC ruby :tangle ../setup/qi_libs.rb +#+HEADER: :tangle ../setup/qi_libs.rb +#+BEGIN_SRC ruby require_relative 'sisu_version' module Project_details include SiSUversion @@ -1026,8 +1029,9 @@ __END__ * sisu thor lib -#+BEGIN_SRC ruby :tangle ../lib/sisu/sisu_thor_lib.rb -<> +#+HEADER: :tangle ../lib/sisu/sisu_thor_lib.rb +#+BEGIN_SRC ruby +#<> module SiSU_Po4a_Actions require_relative 'utils_response' # utils_response.rb include SiSU_Response @@ -1440,7 +1444,10 @@ __END__ * Rake & Rant ** Rake & Rant -#+BEGIN_SRC ruby :tangle ../setup/rbuild :tangle-mode (identity #o755) :shebang #!/usr/bin/env ruby +#+HEADER: :tangle ../setup/rbuild +#+HEADER: :shebang #!/usr/bin/env ruby +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC ruby =begin Common Rakefile, Rantfile installer for SiSU softlink Rakefile and Rantfile to this file @@ -2014,7 +2021,8 @@ end ** Rake & Rant libs -#+BEGIN_SRC ruby :tangle ../setup/rbuild_libs.rb +#+HEADER: :tangle ../setup/rbuild_libs.rb +#+BEGIN_SRC ruby module Project_details require_relative 'sisu_version' include SiSUversion @@ -2477,7 +2485,8 @@ end ** Rake & Rant help -#+BEGIN_SRC ruby :tangle ../setup/rbuild_help.rb +#+HEADER: :tangle ../setup/rbuild_help.rb +#+BEGIN_SRC ruby module Help def self.project_help puts < {} }: pkgs.mkShell { buildInputs = [( @@ -2564,7 +2578,8 @@ pkgs.mkShell { } #+END_SRC -#+BEGIN_SRC nix :NO-tangle ../shell.nix +#+HEADER: :NO-tangle ../shell.nix +#+BEGIN_SRC nix { pkgs ? import {} }: pkgs.mkShell { buildInputs = [ @@ -2576,7 +2591,8 @@ pkgs.mkShell { *** packages.nix **** default -#+BEGIN_SRC nix :NO-tangle ../packages.nix +#+HEADER: :NO-tangle ../packages.nix +#+BEGIN_SRC nix { pkgs ? import {} }: with pkgs; [ <> @@ -2587,7 +2603,8 @@ with pkgs; [ **** ruby 3.1 -#+BEGIN_SRC nix :tangle ../nix/pkglst/packages_ruby_3_1.nix +#+HEADER: :tangle ../nix/pkglst/packages_ruby_3_1.nix +#+BEGIN_SRC nix { pkgs ? import {} }: with pkgs; [ <> @@ -2598,7 +2615,8 @@ with pkgs; [ **** ruby 3.0 -#+BEGIN_SRC nix :tangle ../nix/pkglst/packages_ruby_3_0.nix +#+HEADER: :tangle ../nix/pkglst/packages_ruby_3_0.nix +#+BEGIN_SRC nix { pkgs ? import {} }: with pkgs; [ <> @@ -2609,7 +2627,8 @@ with pkgs; [ **** ruby 2.6 -#+BEGIN_SRC nix :tangle ../nix/pkglst/packages_ruby_2_6.nix +#+HEADER: :tangle ../nix/pkglst/packages_ruby_2_6.nix +#+BEGIN_SRC nix { pkgs ? import {} }: with pkgs; [ <> @@ -2702,7 +2721,8 @@ git * descriptions ** README -#+BEGIN_SRC md :tangle ../README +#+HEADER: :tangle ../README +#+BEGIN_SRC md SISU - README ============= @@ -5974,8 +5994,7 @@ Configure substitution in _sisu/sisu_document_make #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -6027,5 +6046,4 @@ Configure substitution in _sisu/sisu_document_make -=end #+END_SRC diff --git a/org/src.org b/org/src.org index b88f8285..c8d06d79 100644 --- a/org/src.org +++ b/org/src.org @@ -18,8 +18,9 @@ * src_sisupod_make.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/src_sisupod_make.rb" -<> +#+HEADER: :tangle "../lib/sisu/src_sisupod_make.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Doc require_relative 'src_shared' # scr_shared.rb include SiSU_Source @@ -139,8 +140,9 @@ SiSU.ssm * src_sisupod_sstm.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/src_sisupod_sstm.rb" -<> +#+HEADER: :tangle "../lib/sisu/src_sisupod_sstm.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Markup require_relative 'src_shared' # src_shared.rb include SiSU_Source @@ -198,8 +200,9 @@ __END__ * src_kdissert_share.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/src_kdissert_share.rb" -<> +#+HEADER: :tangle "../lib/sisu/src_kdissert_share.rb" +#+BEGIN_SRC ruby +#<> module SiSU_KdiSource require_relative 'se' # se.rb include SiSU_Env @@ -250,8 +253,9 @@ __END__ * src_po4a_share.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_share.rb" -<> +#+HEADER: :tangle "../lib/sisu/src_po4a_share.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Languages_Selected require_relative 'utils_response' # utils_response.rb def language @@ -508,8 +512,9 @@ translate.google.com * src_po4a_shelf.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_shelf.rb" -<> +#+HEADER: :tangle "../lib/sisu/src_po4a_shelf.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Po4a require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -1675,8 +1680,9 @@ translate.google.com * src_po4a_shelf_set.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_shelf_set.rb" -<> +#+HEADER: :tangle "../lib/sisu/src_po4a_shelf_set.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Po4aUtils class Wrap def initialize(md,orig='',trans='',is_desc='',n_char_max=76,n_indent=0,n_hang=nil) @@ -1922,8 +1928,9 @@ __END__ * src_po4a_sst_ao_sst.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_sst_ao_sst.rb" -<> +#+HEADER: :tangle "../lib/sisu/src_po4a_sst_ao_sst.rb" +#+BEGIN_SRC ruby +#<> module SiSU_SStm_AO_SStm require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -2765,8 +2772,9 @@ translate.google.com * src_po4a_sst_ao_sst_set.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_sst_ao_sst_set.rb" -<> +#+HEADER: :tangle "../lib/sisu/src_po4a_sst_ao_sst_set.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Po4aUtils class Wrap def initialize(md,orig='',trans='',n_char_max=76,n_indent=0,n_hang=nil) @@ -2999,8 +3007,9 @@ __END__ * src_po4a_sstm.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/src_po4a_sstm.rb" -<> +#+HEADER: :tangle "../lib/sisu/src_po4a_sstm.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Markup require_relative 'src_shared' # src_shared.rb include SiSU_Source @@ -3084,8 +3093,9 @@ __END__ * src_shared.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/src_shared.rb" -<> +#+HEADER: :tangle "../lib/sisu/src_shared.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Source include SiSU_Env class SiSUpodSource @@ -3383,8 +3393,7 @@ SiSU.ssm #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -3436,5 +3445,4 @@ SiSU.ssm -=end #+END_SRC diff --git a/org/sst.org b/org/sst.org index 4ac5cbf6..93945585 100644 --- a/org/sst.org +++ b/org/sst.org @@ -18,8 +18,9 @@ * sst_from_xml.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/sst_from_xml.rb" -<> +#+HEADER: :tangle "../lib/sisu/sst_from_xml.rb" +#+BEGIN_SRC ruby +#<> module SiSU_sstFromXML require_relative 'se' # se.rb class Convert @@ -146,8 +147,9 @@ __END__ * sst_to_s_xml_sax.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/sst_to_s_xml_sax.rb" -<> +#+HEADER: :tangle "../lib/sisu/sst_to_s_xml_sax.rb" +#+BEGIN_SRC ruby +#<> module SiSU_SimpleXML_ModelSax require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -567,8 +569,9 @@ __END__ * sst_identify_markup.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/sst_identify_markup.rb" -<> +#+HEADER: :tangle "../lib/sisu/sst_identify_markup.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Markup class MarkupInform attr_accessor :version @@ -997,8 +1000,9 @@ end * sst_do_inline_footnotes.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/sst_do_inline_footnotes.rb" -<> +#+HEADER: :tangle "../lib/sisu/sst_do_inline_footnotes.rb" +#+BEGIN_SRC ruby +#<> module SiSU_ConvertFootnotes require_relative 'se' # se.rb include SiSU_Env @@ -1386,8 +1390,9 @@ ao_array=@particulars.ao_array # ao file drawn here * sst_convert_markup.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/sst_convert_markup.rb" -<> +#+HEADER: :tangle "../lib/sisu/sst_convert_markup.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Modify require_relative 'sst_identify_markup' # sst_identify_markup.rb require_relative 'sst_from_xml' # sst_from_xml.rb @@ -1659,8 +1664,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -1712,5 +1716,4 @@ __END__ -=end #+END_SRC diff --git a/org/texinfo.org b/org/texinfo.org index 93a63f68..37756c51 100644 --- a/org/texinfo.org +++ b/org/texinfo.org @@ -19,8 +19,9 @@ * texinfo.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/texinfo.rb" -<> +#+HEADER: :tangle "../lib/sisu/texinfo.rb" +#+BEGIN_SRC ruby +#<> module SiSU_TexInfo require_relative 'html' # html.rb require_relative 'dp' # dp.rb @@ -399,8 +400,9 @@ __END__ * texinfo_format.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/texinfo_format.rb" -<> +#+HEADER: :tangle "../lib/sisu/texinfo_format.rb" +#+BEGIN_SRC ruby +#<> module SiSU_TexInfoFormat @@table_pg_break_counter=1 require_relative 'dp' # dp.rb @@ -892,8 +894,7 @@ watch title, might need full_title #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -945,5 +946,4 @@ watch title, might need full_title -=end #+END_SRC diff --git a/org/texpdf.org b/org/texpdf.org index 4b412e7d..dd1d2486 100644 --- a/org/texpdf.org +++ b/org/texpdf.org @@ -19,8 +19,9 @@ * texpdf ** texpdf.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/texpdf.rb" -<> +#+HEADER: :tangle "../lib/sisu/texpdf.rb" +#+BEGIN_SRC ruby +#<> module SiSU_TeX begin require 'pstore' @@ -1131,8 +1132,9 @@ __END__ ** texpdf_parts.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/texpdf_parts.rb" -<> +#+HEADER: :tangle "../lib/sisu/texpdf_parts.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Parts_TeXpdf require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic @@ -1316,8 +1318,9 @@ __END__ ** texpdf_format.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/texpdf_format.rb" -<> +#+HEADER: :tangle "../lib/sisu/texpdf_format.rb" +#+BEGIN_SRC ruby +#<> module SiSU_TeX_Pdf require_relative 'texpdf_parts' # texpdf_parts.rb @@table_pg_break_counter=1 @@ -2915,8 +2918,7 @@ texlive-xetex #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -2968,5 +2970,4 @@ texlive-xetex -=end #+END_SRC diff --git a/org/txt.org b/org/txt.org index f6c6cc62..f4ce5391 100644 --- a/org/txt.org +++ b/org/txt.org @@ -20,8 +20,9 @@ ** asciidoc *** txt_asciidoc.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_asciidoc.rb" -<> +#+HEADER: :tangle "../lib/sisu/txt_asciidoc.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Txt_AsciiDoc require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -324,8 +325,9 @@ __END__ *** txt_asciidoc_decorate.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_asciidoc_decorate.rb" -<> +#+HEADER: :tangle "../lib/sisu/txt_asciidoc_decorate.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Decorate_Txt_AsciiDoc def decorate def heading @@ -481,8 +483,9 @@ __END__ ** markdown *** txt_markdown.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_markdown.rb" -<> +#+HEADER: :tangle "../lib/sisu/txt_markdown.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Txt_Markdown require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -820,8 +823,9 @@ __END__ *** txt_markdown_decorate.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_markdown_decorate.rb" -<> +#+HEADER: :tangle "../lib/sisu/txt_markdown_decorate.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Decorate_Txt_Markdown def decorate def heading @@ -977,8 +981,9 @@ __END__ ** orgmode *** txt_orgmode.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_orgmode.rb" -<> +#+HEADER: :tangle "../lib/sisu/txt_orgmode.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Txt_OrgMode require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -1319,8 +1324,9 @@ __END__ *** txt_orgmode_decorate.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_orgmode_decorate.rb" -<> +#+HEADER: :tangle "../lib/sisu/txt_orgmode_decorate.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Decorate_Txt_OrgMode def decorate def heading @@ -1455,8 +1461,9 @@ __END__ ** plain *** txt_plain.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_plain.rb" -<> +#+HEADER: :tangle "../lib/sisu/txt_plain.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Txt_Plain require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -1815,8 +1822,9 @@ __END__ *** txt_plain_decorate.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_plain_decorate.rb" -<> +#+HEADER: :tangle "../lib/sisu/txt_plain_decorate.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Decorate_Txt_Plain def decorate def heading_underscore @@ -1954,8 +1962,9 @@ __END__ ** rst *** txt_rst.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_rst.rb" -<> +#+HEADER: :tangle "../lib/sisu/txt_rst.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Txt_rST require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -2275,8 +2284,9 @@ __END__ *** txt_rst_decorate.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_rst_decorate.rb" -<> +#+HEADER: :tangle "../lib/sisu/txt_rst_decorate.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Decorate_Txt_rST def decorate def heading @@ -2411,8 +2421,9 @@ __END__ ** textile *** txt_textile.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_textile.rb" -<> +#+HEADER: :tangle "../lib/sisu/txt_textile.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Txt_Textile require_relative 'ao' # ao.rb require_relative 'se' # se.rb @@ -2728,8 +2739,9 @@ __END__ *** txt_textile_decorate.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_textile_decorate.rb" -<> +#+HEADER: :tangle "../lib/sisu/txt_textile_decorate.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Decorate_Txt_Textile def decorate def heading @@ -2863,8 +2875,9 @@ __END__ * txt_output.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_output.rb" -<> +#+HEADER: :tangle "../lib/sisu/txt_output.rb" +#+BEGIN_SRC ruby +#<> module Txt_Output class Output include SiSU_Param @@ -2899,8 +2912,9 @@ __END__ * txt_read.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_read.rb" -<> +#+HEADER: :tangle "../lib/sisu/txt_read.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Txt_Read require_relative 'se' # se.rb include SiSU_Env @@ -2958,8 +2972,9 @@ __END__ * txt_shared.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/txt_shared.rb" -<> +#+HEADER: :tangle "../lib/sisu/txt_shared.rb" +#+BEGIN_SRC ruby +#<> module SiSU_TextUtils require_relative 'generic_parts' # generic_parts.rb class Wrap @@ -3151,8 +3166,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -3204,5 +3218,4 @@ __END__ -=end #+END_SRC diff --git a/org/utils.org b/org/utils.org index 7f7d531a..ffbdfeeb 100644 --- a/org/utils.org +++ b/org/utils.org @@ -19,8 +19,9 @@ * utils ** utils.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/utils.rb" -<> +#+HEADER: :tangle "../lib/sisu/utils.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Utils class CodeMarker def initialize(line,file,color=:red) @@ -201,8 +202,9 @@ puts ANSI_C[:red] + __LINE__.to_s + ANSI_C[:off] + ' ' + __FILE__.gsub(/([^\/]+$ ** utils_spell.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/utils_spell.rb" -<> +#+HEADER: :tangle "../lib/sisu/utils_spell.rb" +#+BEGIN_SRC ruby +#<> module SiSU_SpellUtility class Spell def initialize(input,filesrc,flg) @@ -250,8 +252,9 @@ __END__ ** utils_response.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/utils_response.rb" -<> +#+HEADER: :tangle "../lib/sisu/utils_response.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Response def available_selections_ %{'yes', 'no', 'quit' or 'exit'; [ynqx]} @@ -314,8 +317,9 @@ __END__ ** utils_composite.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/utils_composite.rb" -<> +#+HEADER: :tangle "../lib/sisu/utils_composite.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Composite_Doc_Utils def inserts_array(loadfilename) IO.readlines(loadfilename,'') @@ -379,8 +383,9 @@ __END__ ** utils_screen_text_color.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/utils_screen_text_color.rb" -<> +#+HEADER: :tangle "../lib/sisu/utils_screen_text_color.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Screen class Color attr_accessor :off,:marker,:bold,:underline,:invert,:darkgrey_hi,:grey_hi,:pink_hi,:fuchsia_hi,:red_hi,:orange_hi,:yellow_hi,:brown_hi,:lightgreen_hi,:green_hi,:cyan_hi,:blue_hi,:navy_hi,:white,:white_bold,:grey,:pink,:fuchsia,:ruby,:red,:orange,:yellow,:brown,:green,:darkgreen,:cyan,:blue,:navy,:black @@ -803,8 +808,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -856,5 +860,4 @@ __END__ -=end #+END_SRC diff --git a/org/xhtml.org b/org/xhtml.org index 8b338ba4..c24a5411 100644 --- a/org/xhtml.org +++ b/org/xhtml.org @@ -18,8 +18,9 @@ * xhtml.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml.rb" -<> +#+HEADER: :tangle "../lib/sisu/xhtml.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XHTML require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -440,8 +441,9 @@ tidy -xml scroll.xhtml >> index.tidy * epub2.rb ** xhtml_epub2.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2.rb" -<> +#+HEADER: :tangle "../lib/sisu/xhtml_epub2.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XHTML_EPUB2 begin require 'pstore' @@ -1280,8 +1282,9 @@ __END__ ** xhtml_epub2_concordance.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2_concordance.rb" -<> +#+HEADER: :tangle "../lib/sisu/xhtml_epub2_concordance.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XHTML_EPUB2_Concordance require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -1552,8 +1555,9 @@ __END__ ** xhtml_epub2_format.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2_format.rb" -<> +#+HEADER: :tangle "../lib/sisu/xhtml_epub2_format.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XHTML_EPUB2_Format class ParagraphNumber def initialize(md,ocn) @@ -3774,8 +3778,9 @@ __END__ ** xhtml_epub2_persist.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2_persist.rb" -<> +#+HEADER: :tangle "../lib/sisu/xhtml_epub2_persist.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XHTML_EPUB2_Persist class Persist @@persist=nil @@ -4002,8 +4007,9 @@ __END__ ** xhtml_epub2_segments.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2_segments.rb" -<> +#+HEADER: :tangle "../lib/sisu/xhtml_epub2_segments.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XHTML_EPUB2_Seg require_relative 'xhtml_shared' # xhtml_shared.rb require_relative 'xhtml_epub2' # xhtml_epub2.rb @@ -4551,8 +4557,9 @@ __END__ ** xhtml_epub2_tune.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_epub2_tune.rb" -<> +#+HEADER: :tangle "../lib/sisu/xhtml_epub2_tune.rb" +#+BEGIN_SRC ruby +#<> require_relative 'dp' # dp.rb module SiSU_XHTML_EPUB2_Tune require_relative 'se' # se.rb @@ -4832,8 +4839,9 @@ __END__ * xhtml shared ** xhtml_parts.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_parts.rb" -<> +#+HEADER: :tangle "../lib/sisu/xhtml_parts.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Parts_XHTML require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic @@ -4965,8 +4973,9 @@ __END__ ** xhtml_shared.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_shared.rb" -<> +#+HEADER: :tangle "../lib/sisu/xhtml_shared.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XHTML_Shared require_relative 'xhtml_table' # xhtml_table.rb class TableXHTML < SiSU_XHTML_Table::TableXHTML @@ -4977,8 +4986,9 @@ __END__ ** xhtml_table.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xhtml_table.rb" -<> +#+HEADER: :tangle "../lib/sisu/xhtml_table.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XHTML_Table require_relative 'xhtml_parts' # xhtml_parts.rb class TableXHTML @@ -5026,8 +5036,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -5079,5 +5088,4 @@ __END__ -=end #+END_SRC diff --git a/org/xml.org b/org/xml.org index 7253fbbd..3b6e4085 100644 --- a/org/xml.org +++ b/org/xml.org @@ -19,8 +19,9 @@ * xml native ** xml_sax.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_sax.rb" -<> +#+HEADER: :tangle "../lib/sisu/xml_sax.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XML_SAX require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -490,8 +491,9 @@ __END__ ** xml_dom.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_dom.rb" -<> +#+HEADER: :tangle "../lib/sisu/xml_dom.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XML_DOM require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -1067,8 +1069,9 @@ __END__ * xml shared ** xml_shared.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_shared.rb" -<> +#+HEADER: :tangle "../lib/sisu/xml_shared.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XML_Munge require_relative 'xml_parts' # xml_parts.rb class Trans @@ -1678,8 +1681,9 @@ __END__ ** xml_tables.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_tables.rb" -<> +#+HEADER: :tangle "../lib/sisu/xml_tables.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Tables class Table #_xml @@tablehead=0 @@ -1889,8 +1893,9 @@ __END__ ** xml_format.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_format.rb" -<> +#+HEADER: :tangle "../lib/sisu/xml_format.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XML_Format require_relative 'dp' # dp.rb require_relative 'xml_parts' # xml_parts.rb @@ -2704,8 +2709,9 @@ __END__ ** xml_md_oai_pmh_dc.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_md_oai_pmh_dc.rb" -<> +#+HEADER: :tangle "../lib/sisu/xml_md_oai_pmh_dc.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XML_Metadata require_relative 'se' # se.rb include SiSU_Env @@ -2883,8 +2889,9 @@ see also http://dublincore.org/documents/dcmes-xml/ ** xml_parts.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_parts.rb" -<> +#+HEADER: :tangle "../lib/sisu/xml_parts.rb" +#+BEGIN_SRC ruby +#<> module SiSU_Parts_XML require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic @@ -3024,8 +3031,9 @@ __END__ ** xml_persist.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_persist.rb" -<> +#+HEADER: :tangle "../lib/sisu/xml_persist.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XML_Persist class Persist @@persist=nil @@ -3100,8 +3108,9 @@ __END__ ** xml_scaffold_structure_collapsed.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_scaffold_structure_collapsed.rb" -<> +#+HEADER: :tangle "../lib/sisu/xml_scaffold_structure_collapsed.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XML_Scaffold_Structure_Collapse require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -3248,8 +3257,9 @@ __END__ ** xml_scaffold_structure_sisu.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_scaffold_structure_sisu.rb" -<> +#+HEADER: :tangle "../lib/sisu/xml_scaffold_structure_sisu.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XML_Scaffold_Structure_Sisu require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -3400,8 +3410,9 @@ __END__ * odf ** xml_odf_odt.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_odf_odt.rb" -<> +#+HEADER: :tangle "../lib/sisu/xml_odf_odt.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XML_ODF_ODT require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -4238,8 +4249,9 @@ __END__ ** xml_odf_odt_format.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_odf_odt_format.rb" -<> +#+HEADER: :tangle "../lib/sisu/xml_odf_odt_format.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XML_ODF_ODT_Format require_relative 'dp' # dp.rb include SiSU_Param @@ -4862,8 +4874,9 @@ __END__ * docbook5rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_docbook5.rb" -<> +#+HEADER: :tangle "../lib/sisu/xml_docbook5.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XML_Docbook_Book require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -5188,8 +5201,9 @@ __END__ * fictionbook2.rb -#+BEGIN_SRC ruby :tangle "../lib/sisu/xml_fictionbook2.rb" -<> +#+HEADER: :tangle "../lib/sisu/xml_fictionbook2.rb" +#+BEGIN_SRC ruby +#<> module SiSU_XML_Fictionbook require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars @@ -5529,8 +5543,7 @@ __END__ #+NAME: sisu_document_header #+BEGIN_SRC text -#encoding: utf-8 -=begin +encoding: utf-8 - Name: SiSU - Description: documents, structuring, processing, publishing, search @@ -5582,5 +5595,4 @@ __END__ -=end #+END_SRC -- cgit v1.2.3 From b349dd22ff12847308e42455f053256c992fa736 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 11 Mar 2022 12:28:41 -0500 Subject: org-tangle files with new headers --- bin/sisu | 104 +++++++++++++------------ bin/sisu-misc-utils | 104 +++++++++++++------------ lib/sisu.rb | 104 +++++++++++++------------ lib/sisu/air.rb | 104 +++++++++++++------------ lib/sisu/ao.rb | 104 +++++++++++++------------ lib/sisu/ao_appendices.rb | 104 +++++++++++++------------ lib/sisu/ao_character_check.rb | 104 +++++++++++++------------ lib/sisu/ao_composite.rb | 104 +++++++++++++------------ lib/sisu/ao_doc_objects.rb | 104 +++++++++++++------------ lib/sisu/ao_doc_str.rb | 104 +++++++++++++------------ lib/sisu/ao_endnotes.rb | 104 +++++++++++++------------ lib/sisu/ao_expand_insertions.rb | 104 +++++++++++++------------ lib/sisu/ao_hash_digest.rb | 104 +++++++++++++------------ lib/sisu/ao_idx.rb | 104 +++++++++++++------------ lib/sisu/ao_images.rb | 104 +++++++++++++------------ lib/sisu/ao_metadata.rb | 104 +++++++++++++------------ lib/sisu/ao_misc_arrange.rb | 104 +++++++++++++------------ lib/sisu/ao_numbering.rb | 104 +++++++++++++------------ lib/sisu/ao_persist.rb | 104 +++++++++++++------------ lib/sisu/ao_syntax.rb | 104 +++++++++++++------------ lib/sisu/cgi.rb | 104 +++++++++++++------------ lib/sisu/cgi_pgsql.rb | 104 +++++++++++++------------ lib/sisu/cgi_sql_common.rb | 104 +++++++++++++------------ lib/sisu/cgi_sqlite.rb | 104 +++++++++++++------------ lib/sisu/conf.rb | 102 ++++++++++++------------- lib/sisu/constants.rb | 104 +++++++++++++------------ lib/sisu/css.rb | 104 +++++++++++++------------ lib/sisu/db_columns.rb | 104 +++++++++++++------------ lib/sisu/db_create.rb | 104 +++++++++++++------------ lib/sisu/db_dbi.rb | 104 +++++++++++++------------ lib/sisu/db_drop.rb | 104 +++++++++++++------------ lib/sisu/db_import.rb | 104 +++++++++++++------------ lib/sisu/db_indexes.rb | 104 +++++++++++++------------ lib/sisu/db_load_tuple.rb | 104 +++++++++++++------------ lib/sisu/db_remove.rb | 104 +++++++++++++------------ lib/sisu/db_select.rb | 104 +++++++++++++------------ lib/sisu/db_sqltxt.rb | 104 +++++++++++++------------ lib/sisu/db_tests.rb | 104 +++++++++++++------------ lib/sisu/dbi.rb | 104 +++++++++++++------------ lib/sisu/dbi_discrete.rb | 104 +++++++++++++------------ lib/sisu/digests.rb | 104 +++++++++++++------------ lib/sisu/dp.rb | 104 +++++++++++++------------ lib/sisu/dp_identify_markup.rb | 104 +++++++++++++------------ lib/sisu/dp_make.rb | 104 +++++++++++++------------ lib/sisu/embedded.rb | 104 +++++++++++++------------ lib/sisu/errors.rb | 104 +++++++++++++------------ lib/sisu/generic_parts.rb | 104 +++++++++++++------------ lib/sisu/git.rb | 104 +++++++++++++------------ lib/sisu/html.rb | 104 +++++++++++++------------ lib/sisu/html_concordance.rb | 104 +++++++++++++------------ lib/sisu/html_format.rb | 104 +++++++++++++------------ lib/sisu/html_harvest.rb | 104 +++++++++++++------------ lib/sisu/html_harvest_author_format.rb | 104 +++++++++++++------------ lib/sisu/html_harvest_authors.rb | 104 +++++++++++++------------ lib/sisu/html_harvest_topics.rb | 104 +++++++++++++------------ lib/sisu/html_lite_shared.rb | 104 +++++++++++++------------ lib/sisu/html_manifest.rb | 104 +++++++++++++------------ lib/sisu/html_minitoc.rb | 104 +++++++++++++------------ lib/sisu/html_parts.rb | 104 +++++++++++++------------ lib/sisu/html_persist.rb | 104 +++++++++++++------------ lib/sisu/html_promo.rb | 104 +++++++++++++------------ lib/sisu/html_scroll.rb | 104 +++++++++++++------------ lib/sisu/html_segments.rb | 104 +++++++++++++------------ lib/sisu/html_shared.rb | 104 +++++++++++++------------ lib/sisu/html_table.rb | 104 +++++++++++++------------ lib/sisu/html_tune.rb | 104 +++++++++++++------------ lib/sisu/hub.rb | 104 +++++++++++++------------ lib/sisu/hub_actions.rb | 104 +++++++++++++------------ lib/sisu/hub_loop_markup_files.rb | 104 +++++++++++++------------ lib/sisu/hub_options.rb | 104 +++++++++++++------------ lib/sisu/i18n.rb | 104 +++++++++++++------------ lib/sisu/json.rb | 104 +++++++++++++------------ lib/sisu/json_format.rb | 104 +++++++++++++------------ lib/sisu/json_parts.rb | 104 +++++++++++++------------ lib/sisu/json_persist.rb | 104 +++++++++++++------------ lib/sisu/json_shared.rb | 104 +++++++++++++------------ lib/sisu/manpage.rb | 104 +++++++++++++------------ lib/sisu/manpage_format.rb | 104 +++++++++++++------------ lib/sisu/object_munge.rb | 104 +++++++++++++------------ lib/sisu/prog_text_translation.rb | 104 +++++++++++++------------ lib/sisu/qrcode.rb | 104 +++++++++++++------------ lib/sisu/relaxng.rb | 104 +++++++++++++------------ lib/sisu/remote.rb | 104 +++++++++++++------------ lib/sisu/rexml.rb | 104 +++++++++++++------------ lib/sisu/se.rb | 106 +++++++++++++------------- lib/sisu/se_cleanoutput.rb | 106 +++++++++++++------------- lib/sisu/se_clear.rb | 106 +++++++++++++------------- lib/sisu/se_createsite.rb | 109 +++++++++++++-------------- lib/sisu/se_css.rb | 106 +++++++++++++------------- lib/sisu/se_date.rb | 106 +++++++++++++------------- lib/sisu/se_db.rb | 106 +++++++++++++------------- lib/sisu/se_envcall.rb | 104 +++++++++++++------------ lib/sisu/se_file_op.rb | 104 +++++++++++++------------ lib/sisu/se_filemap.rb | 104 +++++++++++++------------ lib/sisu/se_get_init.rb | 104 +++++++++++++------------ lib/sisu/se_hub_particulars.rb | 104 +++++++++++++------------ lib/sisu/se_info_env.rb | 104 +++++++++++++------------ lib/sisu/se_info_port.rb | 104 +++++++++++++------------ lib/sisu/se_info_system.rb | 104 +++++++++++++------------ lib/sisu/se_load.rb | 104 +++++++++++++------------ lib/sisu/se_processing.rb | 104 +++++++++++++------------ lib/sisu/se_programs.rb | 104 +++++++++++++------------ lib/sisu/se_remotes.rb | 104 +++++++++++++------------ lib/sisu/se_standardise_lang.rb | 104 +++++++++++++------------ lib/sisu/se_version.rb | 104 +++++++++++++------------ lib/sisu/shared_images.rb | 104 +++++++++++++------------ lib/sisu/shared_markup_alt.rb | 104 +++++++++++++------------ lib/sisu/shared_metadata.rb | 104 +++++++++++++------------ lib/sisu/shared_sem.rb | 104 +++++++++++++------------ lib/sisu/sisu_thor_lib.rb | 104 +++++++++++++------------ lib/sisu/sitemaps.rb | 104 +++++++++++++------------ lib/sisu/src_kdissert_share.rb | 104 +++++++++++++------------ lib/sisu/src_po4a_share.rb | 104 +++++++++++++------------ lib/sisu/src_po4a_shelf.rb | 104 +++++++++++++------------ lib/sisu/src_po4a_shelf_set.rb | 104 +++++++++++++------------ lib/sisu/src_po4a_sst_ao_sst.rb | 104 +++++++++++++------------ lib/sisu/src_po4a_sst_ao_sst_set.rb | 104 +++++++++++++------------ lib/sisu/src_po4a_sstm.rb | 104 +++++++++++++------------ lib/sisu/src_shared.rb | 104 +++++++++++++------------ lib/sisu/src_sisupod_make.rb | 104 +++++++++++++------------ lib/sisu/src_sisupod_sstm.rb | 104 +++++++++++++------------ lib/sisu/sst_convert_markup.rb | 104 +++++++++++++------------ lib/sisu/sst_do_inline_footnotes.rb | 104 +++++++++++++------------ lib/sisu/sst_from_xml.rb | 104 +++++++++++++------------ lib/sisu/sst_identify_markup.rb | 104 +++++++++++++------------ lib/sisu/sst_to_s_xml_sax.rb | 104 +++++++++++++------------ lib/sisu/termsheet.rb | 104 +++++++++++++------------ lib/sisu/texinfo.rb | 104 +++++++++++++------------ lib/sisu/texinfo_format.rb | 104 +++++++++++++------------ lib/sisu/texpdf.rb | 104 +++++++++++++------------ lib/sisu/texpdf_format.rb | 104 +++++++++++++------------ lib/sisu/texpdf_parts.rb | 104 +++++++++++++------------ lib/sisu/txt_asciidoc.rb | 104 +++++++++++++------------ lib/sisu/txt_asciidoc_decorate.rb | 104 +++++++++++++------------ lib/sisu/txt_markdown.rb | 104 +++++++++++++------------ lib/sisu/txt_markdown_decorate.rb | 104 +++++++++++++------------ lib/sisu/txt_orgmode.rb | 104 +++++++++++++------------ lib/sisu/txt_orgmode_decorate.rb | 104 +++++++++++++------------ lib/sisu/txt_output.rb | 104 +++++++++++++------------ lib/sisu/txt_plain.rb | 104 +++++++++++++------------ lib/sisu/txt_plain_decorate.rb | 104 +++++++++++++------------ lib/sisu/txt_read.rb | 104 +++++++++++++------------ lib/sisu/txt_rst.rb | 104 +++++++++++++------------ lib/sisu/txt_rst_decorate.rb | 104 +++++++++++++------------ lib/sisu/txt_shared.rb | 104 +++++++++++++------------ lib/sisu/txt_textile.rb | 104 +++++++++++++------------ lib/sisu/txt_textile_decorate.rb | 104 +++++++++++++------------ lib/sisu/update.rb | 104 +++++++++++++------------ lib/sisu/urls.rb | 104 +++++++++++++------------ lib/sisu/utils.rb | 104 +++++++++++++------------ lib/sisu/utils_composite.rb | 104 +++++++++++++------------ lib/sisu/utils_response.rb | 104 +++++++++++++------------ lib/sisu/utils_screen_text_color.rb | 104 +++++++++++++------------ lib/sisu/utils_spell.rb | 104 +++++++++++++------------ lib/sisu/webrick.rb | 104 +++++++++++++------------ lib/sisu/wikispeak.rb | 104 +++++++++++++------------ lib/sisu/xhtml.rb | 104 +++++++++++++------------ lib/sisu/xhtml_epub2.rb | 104 +++++++++++++------------ lib/sisu/xhtml_epub2_concordance.rb | 104 +++++++++++++------------ lib/sisu/xhtml_epub2_format.rb | 104 +++++++++++++------------ lib/sisu/xhtml_epub2_persist.rb | 104 +++++++++++++------------ lib/sisu/xhtml_epub2_segments.rb | 104 +++++++++++++------------ lib/sisu/xhtml_epub2_tune.rb | 104 +++++++++++++------------ lib/sisu/xhtml_parts.rb | 104 +++++++++++++------------ lib/sisu/xhtml_shared.rb | 104 +++++++++++++------------ lib/sisu/xhtml_table.rb | 104 +++++++++++++------------ lib/sisu/xml_docbook5.rb | 104 +++++++++++++------------ lib/sisu/xml_dom.rb | 104 +++++++++++++------------ lib/sisu/xml_fictionbook2.rb | 104 +++++++++++++------------ lib/sisu/xml_format.rb | 104 +++++++++++++------------ lib/sisu/xml_md_oai_pmh_dc.rb | 104 +++++++++++++------------ lib/sisu/xml_odf_odt.rb | 104 +++++++++++++------------ lib/sisu/xml_odf_odt_format.rb | 104 +++++++++++++------------ lib/sisu/xml_parts.rb | 104 +++++++++++++------------ lib/sisu/xml_persist.rb | 104 +++++++++++++------------ lib/sisu/xml_sax.rb | 104 +++++++++++++------------ lib/sisu/xml_scaffold_structure_collapsed.rb | 104 +++++++++++++------------ lib/sisu/xml_scaffold_structure_sisu.rb | 104 +++++++++++++------------ lib/sisu/xml_shared.rb | 104 +++++++++++++------------ lib/sisu/xml_tables.rb | 104 +++++++++++++------------ lib/sisu/zap.rb | 104 +++++++++++++------------ 181 files changed, 9238 insertions(+), 9601 deletions(-) diff --git a/bin/sisu b/bin/sisu index 59004c99..b2f5a3db 100755 --- a/bin/sisu +++ b/bin/sisu @@ -1,58 +1,56 @@ #!/usr/bin/env ruby #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - sisu - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sisu +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# class Orient require 'singleton' include Singleton diff --git a/bin/sisu-misc-utils b/bin/sisu-misc-utils index dd0551e3..506d5b52 100755 --- a/bin/sisu-misc-utils +++ b/bin/sisu-misc-utils @@ -1,58 +1,56 @@ #!/usr/bin/env ruby #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - sisu - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sisu +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# begin require 'thor' rescue LoadError diff --git a/lib/sisu.rb b/lib/sisu.rb index 155ad404..cf56590d 100644 --- a/lib/sisu.rb +++ b/lib/sisu.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - sisu - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sisu +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_libs require_relative 'sisu/hub' # sisu/hub.rb require_relative 'sisu/se' # sisu/se.rb diff --git a/lib/sisu/air.rb b/lib/sisu/air.rb index 8f00b89f..c8c48dc2 100644 --- a/lib/sisu/air.rb +++ b/lib/sisu/air.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - misc - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Air require_relative 'se_hub_particulars' # se_hub_particulars.rb class Source diff --git a/lib/sisu/ao.rb b/lib/sisu/ao.rb index 3e90a8a1..46e43a34 100644 --- a/lib/sisu/ao.rb +++ b/lib/sisu/ao.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/ao_appendices.rb b/lib/sisu/ao_appendices.rb index 3e564772..8c3047fb 100644 --- a/lib/sisu/ao_appendices.rb +++ b/lib/sisu/ao_appendices.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Appendices class Glossary def initialize(md,data) diff --git a/lib/sisu/ao_character_check.rb b/lib/sisu/ao_character_check.rb index 550e500c..56754abe 100644 --- a/lib/sisu/ao_character_check.rb +++ b/lib/sisu/ao_character_check.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_CharacterCheck class Check def initialize(data) diff --git a/lib/sisu/ao_composite.rb b/lib/sisu/ao_composite.rb index 0af877a1..51f561ea 100644 --- a/lib/sisu/ao_composite.rb +++ b/lib/sisu/ao_composite.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Assemble require_relative 'se' # se.rb require_relative 'utils_composite' # utils_composite.rb diff --git a/lib/sisu/ao_doc_objects.rb b/lib/sisu/ao_doc_objects.rb index 7a0766b8..0cf52df9 100644 --- a/lib/sisu/ao_doc_objects.rb +++ b/lib/sisu/ao_doc_objects.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_DocumentStructure class Extract def extract(h,o) diff --git a/lib/sisu/ao_doc_str.rb b/lib/sisu/ao_doc_str.rb index a5629dcd..9a46cebf 100644 --- a/lib/sisu/ao_doc_str.rb +++ b/lib/sisu/ao_doc_str.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_DocumentStructureExtract require_relative 'ao_persist' # ao_persist.rb class Instantiate < SiSU_Param::Parameters::Instructions diff --git a/lib/sisu/ao_endnotes.rb b/lib/sisu/ao_endnotes.rb index f41efce9..ad5532da 100644 --- a/lib/sisu/ao_endnotes.rb +++ b/lib/sisu/ao_endnotes.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Endnotes class Endnotes def initialize(md,data,endnote_array=nil) diff --git a/lib/sisu/ao_expand_insertions.rb b/lib/sisu/ao_expand_insertions.rb index 27866b56..2269fea0 100644 --- a/lib/sisu/ao_expand_insertions.rb +++ b/lib/sisu/ao_expand_insertions.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Insertions class Insertions def initialize(md,data) diff --git a/lib/sisu/ao_hash_digest.rb b/lib/sisu/ao_hash_digest.rb index 7c327ba4..fa883da7 100644 --- a/lib/sisu/ao_hash_digest.rb +++ b/lib/sisu/ao_hash_digest.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Hash require_relative 'shared_markup_alt.rb' #shared_markup_alt.rb class ObjectDigest diff --git a/lib/sisu/ao_idx.rb b/lib/sisu/ao_idx.rb index 8b9835a8..a8a36961 100644 --- a/lib/sisu/ao_idx.rb +++ b/lib/sisu/ao_idx.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_BookIndex class BookIndex def initialize(md,data,env=nil) diff --git a/lib/sisu/ao_images.rb b/lib/sisu/ao_images.rb index f013a5c7..66448e16 100644 --- a/lib/sisu/ao_images.rb +++ b/lib/sisu/ao_images.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Images class Images begin diff --git a/lib/sisu/ao_metadata.rb b/lib/sisu/ao_metadata.rb index 30915244..b88054c5 100644 --- a/lib/sisu/ao_metadata.rb +++ b/lib/sisu/ao_metadata.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Metadata class Metadata def initialize(md,metad) diff --git a/lib/sisu/ao_misc_arrange.rb b/lib/sisu/ao_misc_arrange.rb index b70aa43f..0501d13a 100644 --- a/lib/sisu/ao_misc_arrange.rb +++ b/lib/sisu/ao_misc_arrange.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_MiscArrangeText class SI def initialize(md,data) diff --git a/lib/sisu/ao_numbering.rb b/lib/sisu/ao_numbering.rb index 615b45d6..224ee986 100644 --- a/lib/sisu/ao_numbering.rb +++ b/lib/sisu/ao_numbering.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Numbering class Numbering attr_accessor :obj,:osp,:ocn,:lv,:name,:index,:comment diff --git a/lib/sisu/ao_persist.rb b/lib/sisu/ao_persist.rb index 316ad28c..aef0faf4 100644 --- a/lib/sisu/ao_persist.rb +++ b/lib/sisu/ao_persist.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Persist class Persist @@persistance=nil diff --git a/lib/sisu/ao_syntax.rb b/lib/sisu/ao_syntax.rb index 700d997d..b7b6df87 100644 --- a/lib/sisu/ao_syntax.rb +++ b/lib/sisu/ao_syntax.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - abstraction - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# abstraction +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_AO_Syntax class Words def initialize(line,md,mkp) diff --git a/lib/sisu/cgi.rb b/lib/sisu/cgi.rb index 18857117..32b2e2d6 100644 --- a/lib/sisu/cgi.rb +++ b/lib/sisu/cgi.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - cgi - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# cgi +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_CGI #% database building documents require_relative 'se' # se.rb require_relative 'cgi_pgsql' # cgi_pgsql.rb diff --git a/lib/sisu/cgi_pgsql.rb b/lib/sisu/cgi_pgsql.rb index 7fd18bd9..1028540f 100644 --- a/lib/sisu/cgi_pgsql.rb +++ b/lib/sisu/cgi_pgsql.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - cgi - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# cgi +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_CGI_PgSQL #% database building documents require_relative 'se' # se.rb require_relative 'cgi_sql_common' # cgi_sql_common.rb diff --git a/lib/sisu/cgi_sql_common.rb b/lib/sisu/cgi_sql_common.rb index 4705e5e9..688e627c 100644 --- a/lib/sisu/cgi_sql_common.rb +++ b/lib/sisu/cgi_sql_common.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - cgi - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# cgi +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_CGI_SQL class CGI_Common def initialize(webserv,opt,image_src,dir) diff --git a/lib/sisu/cgi_sqlite.rb b/lib/sisu/cgi_sqlite.rb index c822744d..139ff2d8 100644 --- a/lib/sisu/cgi_sqlite.rb +++ b/lib/sisu/cgi_sqlite.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - cgi - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# cgi +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_CGI_SQLite #% database building documents require_relative 'se' # se.rb require_relative 'cgi_sql_common' # cgi_sql_common.rb diff --git a/lib/sisu/conf.rb b/lib/sisu/conf.rb index 52de51be..eb6345f6 100644 --- a/lib/sisu/conf.rb +++ b/lib/sisu/conf.rb @@ -1,56 +1,54 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - config - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, Ralph Amissah, - - - 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# config +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, Ralph Amissah, +# +# - 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Initialize require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/constants.rb b/lib/sisu/constants.rb index d4e47aed..8af3ad28 100644 --- a/lib/sisu/constants.rb +++ b/lib/sisu/constants.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - shared - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# shared +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# YEAR='2021' Sfx={ txt: '.txt', diff --git a/lib/sisu/css.rb b/lib/sisu/css.rb index ec7c9396..ad5433ea 100644 --- a/lib/sisu/css.rb +++ b/lib/sisu/css.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - css - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# css +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Style require_relative 'se' # se.rb require_relative 'html_parts' # html_parts.rb diff --git a/lib/sisu/db_columns.rb b/lib/sisu/db_columns.rb index d3625879..517a723c 100644 --- a/lib/sisu/db_columns.rb +++ b/lib/sisu/db_columns.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - db sql - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbColumns require_relative 'se' # se.rb require_relative 'db_sqltxt' # db_sqltxt.rb diff --git a/lib/sisu/db_create.rb b/lib/sisu/db_create.rb index 40328349..cf04e8e6 100644 --- a/lib/sisu/db_create.rb +++ b/lib/sisu/db_create.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - db sql - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbCreate require_relative 'db_columns' # db_columns.rb class Create < SiSU_DbColumns::Columns diff --git a/lib/sisu/db_dbi.rb b/lib/sisu/db_dbi.rb index 9d5ac2b1..d944cff7 100644 --- a/lib/sisu/db_dbi.rb +++ b/lib/sisu/db_dbi.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - db sql - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbDBI require_relative 'db_columns' # db_columns.rb require_relative 'db_tests' # db_tests.rb diff --git a/lib/sisu/db_drop.rb b/lib/sisu/db_drop.rb index c8d24aeb..d760e181 100644 --- a/lib/sisu/db_drop.rb +++ b/lib/sisu/db_drop.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - db sql - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbDrop require_relative 'utils_response' # utils_response.rb class Drop diff --git a/lib/sisu/db_import.rb b/lib/sisu/db_import.rb index ea1d31bd..d93558eb 100644 --- a/lib/sisu/db_import.rb +++ b/lib/sisu/db_import.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - db sql - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbImport require_relative 'db_columns' # db_columns.rb require_relative 'db_load_tuple' # db_load_tuple.rb diff --git a/lib/sisu/db_indexes.rb b/lib/sisu/db_indexes.rb index dc34075b..df98859c 100644 --- a/lib/sisu/db_indexes.rb +++ b/lib/sisu/db_indexes.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - db sql - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbIndex class Index # create documents Indexes def initialize(opt,conn='',sql_type) def initialize(opt,conn,file,sql_type) diff --git a/lib/sisu/db_load_tuple.rb b/lib/sisu/db_load_tuple.rb index f197d1ab..628fa4d0 100644 --- a/lib/sisu/db_load_tuple.rb +++ b/lib/sisu/db_load_tuple.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - db sql - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbTuple require_relative 'db_columns' # db_columns.rb class LoadDocuments diff --git a/lib/sisu/db_remove.rb b/lib/sisu/db_remove.rb index d40e8dec..21573a50 100644 --- a/lib/sisu/db_remove.rb +++ b/lib/sisu/db_remove.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - db sql - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbRemove class Remove include SiSU_DbAction diff --git a/lib/sisu/db_select.rb b/lib/sisu/db_select.rb index 72f6d927..5c550320 100644 --- a/lib/sisu/db_select.rb +++ b/lib/sisu/db_select.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - db sql - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbAction def db_action(sdb) @sdb=sdb diff --git a/lib/sisu/db_sqltxt.rb b/lib/sisu/db_sqltxt.rb index 8050a69e..f5405cb6 100644 --- a/lib/sisu/db_sqltxt.rb +++ b/lib/sisu/db_sqltxt.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - db sql - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbText class Prepare def special_character_escape(str) diff --git a/lib/sisu/db_tests.rb b/lib/sisu/db_tests.rb index 1b7e8f88..8ca93a50 100644 --- a/lib/sisu/db_tests.rb +++ b/lib/sisu/db_tests.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - db sql - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DbTests class Test def initialize(info,opt) diff --git a/lib/sisu/dbi.rb b/lib/sisu/dbi.rb index 48331f3d..90bddfdc 100644 --- a/lib/sisu/dbi.rb +++ b/lib/sisu/dbi.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - db sql - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DBI #% database building require_relative 'se' # se.rb include SiSU_Env; include SiSU_Screen diff --git a/lib/sisu/dbi_discrete.rb b/lib/sisu/dbi_discrete.rb index 08a08670..1c55824d 100644 --- a/lib/sisu/dbi_discrete.rb +++ b/lib/sisu/dbi_discrete.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - db sql - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# db sql +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DBI_Discrete #% database building require_relative 'se' # se.rb include SiSU_Env; include SiSU_Screen diff --git a/lib/sisu/digests.rb b/lib/sisu/digests.rb index 84baf8f5..e3b34d74 100644 --- a/lib/sisu/digests.rb +++ b/lib/sisu/digests.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - digests - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# digests +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_DigestView require_relative 'se_hub_particulars' # se_hub_particulars.rb require_relative 'prog_text_translation' # prog_text_translation.rb diff --git a/lib/sisu/dp.rb b/lib/sisu/dp.rb index ce069cd4..68d93001 100644 --- a/lib/sisu/dp.rb +++ b/lib/sisu/dp.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - param - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# param +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Param begin require 'uri' diff --git a/lib/sisu/dp_identify_markup.rb b/lib/sisu/dp_identify_markup.rb index 0e9d2ee3..9216b6bb 100644 --- a/lib/sisu/dp_identify_markup.rb +++ b/lib/sisu/dp_identify_markup.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - param - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# param +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_MarkupType class MarkupIdentify @@version={} diff --git a/lib/sisu/dp_make.rb b/lib/sisu/dp_make.rb index e0f376ef..bf26863b 100644 --- a/lib/sisu/dp_make.rb +++ b/lib/sisu/dp_make.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - param - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# param +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Param_Make class MdMake def initialize(str,opt,env) diff --git a/lib/sisu/embedded.rb b/lib/sisu/embedded.rb index 9d758ca4..46530486 100644 --- a/lib/sisu/embedded.rb +++ b/lib/sisu/embedded.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - misc - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Embedded require_relative 'dp' # dp.rb include SiSU_Param diff --git a/lib/sisu/errors.rb b/lib/sisu/errors.rb index 26ca8d81..42e40a2d 100644 --- a/lib/sisu/errors.rb +++ b/lib/sisu/errors.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - misc - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Errors require_relative 'se' # se.rb include SiSU_Env; include SiSU_Screen diff --git a/lib/sisu/generic_parts.rb b/lib/sisu/generic_parts.rb index bef945a0..7d53f34d 100644 --- a/lib/sisu/generic_parts.rb +++ b/lib/sisu/generic_parts.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - shared - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# shared +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Parts_Generic def the_url def urify(uri) diff --git a/lib/sisu/git.rb b/lib/sisu/git.rb index 13894f66..abd4e326 100644 --- a/lib/sisu/git.rb +++ b/lib/sisu/git.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - misc - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Git require_relative 'dp' # dp.rb require_relative 'se' # se.rb diff --git a/lib/sisu/html.rb b/lib/sisu/html.rb index 511ddc43..4e95ab7c 100644 --- a/lib/sisu/html.rb +++ b/lib/sisu/html.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - html - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML begin require 'pstore' diff --git a/lib/sisu/html_concordance.rb b/lib/sisu/html_concordance.rb index c6744d92..36c3db88 100644 --- a/lib/sisu/html_concordance.rb +++ b/lib/sisu/html_concordance.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - html - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Concordance require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/html_format.rb b/lib/sisu/html_format.rb index 45710d44..1e084fd3 100644 --- a/lib/sisu/html_format.rb +++ b/lib/sisu/html_format.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - html - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML_Format require_relative 'html_parts' # html_parts.rb class ParagraphNumber diff --git a/lib/sisu/html_harvest.rb b/lib/sisu/html_harvest.rb index 67e71f53..1f679318 100644 --- a/lib/sisu/html_harvest.rb +++ b/lib/sisu/html_harvest.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - harvest - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# harvest +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Harvest @@the_idx_topics,@@the_idx_authors={},{} class Source diff --git a/lib/sisu/html_harvest_author_format.rb b/lib/sisu/html_harvest_author_format.rb index 7459fe30..2a20cc58 100644 --- a/lib/sisu/html_harvest_author_format.rb +++ b/lib/sisu/html_harvest_author_format.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - harvest - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# harvest +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_FormatAuthor class Author def initialize(author_param) diff --git a/lib/sisu/html_harvest_authors.rb b/lib/sisu/html_harvest_authors.rb index a28c9b64..ebfa4435 100644 --- a/lib/sisu/html_harvest_authors.rb +++ b/lib/sisu/html_harvest_authors.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - harvest - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# harvest +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HarvestAuthors require_relative 'html_harvest_author_format' # html_harvest_author_format.rb require_relative 'html_parts' # html_parts.rb diff --git a/lib/sisu/html_harvest_topics.rb b/lib/sisu/html_harvest_topics.rb index 85726bee..7c38086c 100644 --- a/lib/sisu/html_harvest_topics.rb +++ b/lib/sisu/html_harvest_topics.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - harvest - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# harvest +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HarvestTopics require_relative 'html_harvest_author_format' # html_harvest_author_format.rb require_relative 'html_parts' # html_parts.rb diff --git a/lib/sisu/html_lite_shared.rb b/lib/sisu/html_lite_shared.rb index 6a05b5bb..42fef151 100644 --- a/lib/sisu/html_lite_shared.rb +++ b/lib/sisu/html_lite_shared.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - html - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_FormatShared require_relative 'html_parts' # html_parts.rb class CSS_Format diff --git a/lib/sisu/html_manifest.rb b/lib/sisu/html_manifest.rb index f61edd97..1f0a0fb9 100644 --- a/lib/sisu/html_manifest.rb +++ b/lib/sisu/html_manifest.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - html - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Manifest require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/html_minitoc.rb b/lib/sisu/html_minitoc.rb index 495328c2..bd3ab758 100644 --- a/lib/sisu/html_minitoc.rb +++ b/lib/sisu/html_minitoc.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - html - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML_MiniToc require_relative 'html_tune' # html_tune.rb include SiSU_HTML_Tune diff --git a/lib/sisu/html_parts.rb b/lib/sisu/html_parts.rb index d57cc0a9..53bbbf08 100644 --- a/lib/sisu/html_parts.rb +++ b/lib/sisu/html_parts.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - html - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Parts_HTML require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic diff --git a/lib/sisu/html_persist.rb b/lib/sisu/html_persist.rb index 11adf99a..d2f0cb82 100644 --- a/lib/sisu/html_persist.rb +++ b/lib/sisu/html_persist.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - html - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML_Persist class Persist @@persist=nil diff --git a/lib/sisu/html_promo.rb b/lib/sisu/html_promo.rb index 6b1f3e9c..73d45824 100644 --- a/lib/sisu/html_promo.rb +++ b/lib/sisu/html_promo.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - html - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML_Promo require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/html_scroll.rb b/lib/sisu/html_scroll.rb index 6cd97022..c1b59750 100644 --- a/lib/sisu/html_scroll.rb +++ b/lib/sisu/html_scroll.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - html - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML_Scroll require_relative 'html_shared' # html_shared.rb require_relative 'html' # html.rb diff --git a/lib/sisu/html_segments.rb b/lib/sisu/html_segments.rb index 4df48f3a..4f3953dc 100644 --- a/lib/sisu/html_segments.rb +++ b/lib/sisu/html_segments.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - html - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML_Seg require_relative 'html_shared' # html_shared.rb require_relative 'html' # html.rb diff --git a/lib/sisu/html_shared.rb b/lib/sisu/html_shared.rb index ef02e6d9..1cadb563 100644 --- a/lib/sisu/html_shared.rb +++ b/lib/sisu/html_shared.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - html - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML_Shared require_relative 'html_table' # html_table.rb class TableHTML < SiSU_HTML_Table::TableHTML diff --git a/lib/sisu/html_table.rb b/lib/sisu/html_table.rb index bb156437..f59055c1 100644 --- a/lib/sisu/html_table.rb +++ b/lib/sisu/html_table.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - html - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_HTML_Table require_relative 'xhtml_table' # xhtml_table.rb require_relative 'html_parts' # html_parts.rb diff --git a/lib/sisu/html_tune.rb b/lib/sisu/html_tune.rb index c2b3be3b..b4b5d9f5 100644 --- a/lib/sisu/html_tune.rb +++ b/lib/sisu/html_tune.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - html - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# html +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# require_relative 'dp' # dp.rb module SiSU_HTML_Tune require_relative 'se' # se.rb diff --git a/lib/sisu/hub.rb b/lib/sisu/hub.rb index 3f89f769..2a9d4a01 100644 --- a/lib/sisu/hub.rb +++ b/lib/sisu/hub.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - hub - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# hub +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU require_relative 'constants' # constants.rb require_relative 'se' # se.rb diff --git a/lib/sisu/hub_actions.rb b/lib/sisu/hub_actions.rb index c3d826d9..307446ca 100644 --- a/lib/sisu/hub_actions.rb +++ b/lib/sisu/hub_actions.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - hub - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# hub +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Hub_Actions class HubActions require_relative 'utils_composite' # utils_composite.rb diff --git a/lib/sisu/hub_loop_markup_files.rb b/lib/sisu/hub_loop_markup_files.rb index 15a31b3d..4bf5e04d 100644 --- a/lib/sisu/hub_loop_markup_files.rb +++ b/lib/sisu/hub_loop_markup_files.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - hub - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# hub +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Hub_Loops require_relative 'constants' # constants.rb require_relative 'se' # se.rb diff --git a/lib/sisu/hub_options.rb b/lib/sisu/hub_options.rb index a2916a9f..a3b70837 100644 --- a/lib/sisu/hub_options.rb +++ b/lib/sisu/hub_options.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - hub - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# hub +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Commandline begin require 'pathname' diff --git a/lib/sisu/i18n.rb b/lib/sisu/i18n.rb index d5822016..3b497718 100644 --- a/lib/sisu/i18n.rb +++ b/lib/sisu/i18n.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - i18n - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# i18n +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_i18n @@language_table,@@language_list=nil,nil class Languages diff --git a/lib/sisu/json.rb b/lib/sisu/json.rb index 798ea075..1edef6a3 100644 --- a/lib/sisu/json.rb +++ b/lib/sisu/json.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - json - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# json +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_JSON require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/json_format.rb b/lib/sisu/json_format.rb index b716aff7..da8e90ab 100644 --- a/lib/sisu/json_format.rb +++ b/lib/sisu/json_format.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - json - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# json +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_JSON_Format require_relative 'dp' # dp.rb require_relative 'json_parts' # json_parts.rb diff --git a/lib/sisu/json_parts.rb b/lib/sisu/json_parts.rb index 40a22377..b169aad7 100644 --- a/lib/sisu/json_parts.rb +++ b/lib/sisu/json_parts.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - json - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# json +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Parts_JSON require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic diff --git a/lib/sisu/json_persist.rb b/lib/sisu/json_persist.rb index f68ca513..e65cdf46 100644 --- a/lib/sisu/json_persist.rb +++ b/lib/sisu/json_persist.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - json - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# json +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_JSON_Persist class Persist @@persist=nil diff --git a/lib/sisu/json_shared.rb b/lib/sisu/json_shared.rb index 750877b7..ca4c59da 100644 --- a/lib/sisu/json_shared.rb +++ b/lib/sisu/json_shared.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - json - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# json +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_JSONutils require_relative 'generic_parts' # generic_parts.rb class Clean diff --git a/lib/sisu/manpage.rb b/lib/sisu/manpage.rb index ca969f36..7ab45f66 100644 --- a/lib/sisu/manpage.rb +++ b/lib/sisu/manpage.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - manpage - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# manpage +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Manpage require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/manpage_format.rb b/lib/sisu/manpage_format.rb index b72277dc..8a033a52 100644 --- a/lib/sisu/manpage_format.rb +++ b/lib/sisu/manpage_format.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - manpage - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# manpage +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_ManpageFormat require_relative 'dp' # dp.rb include SiSU_Param diff --git a/lib/sisu/object_munge.rb b/lib/sisu/object_munge.rb index 706e3e5e..1e5cffce 100644 --- a/lib/sisu/object_munge.rb +++ b/lib/sisu/object_munge.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - object_munge - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# object_munge +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Object_Munge def i_src_o_strip_markup(txtobj) txtobj=txtobj. diff --git a/lib/sisu/prog_text_translation.rb b/lib/sisu/prog_text_translation.rb index cbc6f1bc..bfa96b8a 100644 --- a/lib/sisu/prog_text_translation.rb +++ b/lib/sisu/prog_text_translation.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - i18n - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# i18n +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Translate require_relative 'se' # se.rb include SiSU_Env; include SiSU_Param diff --git a/lib/sisu/qrcode.rb b/lib/sisu/qrcode.rb index 55be89f4..f038f602 100644 --- a/lib/sisu/qrcode.rb +++ b/lib/sisu/qrcode.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - misc - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_QRcode require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/relaxng.rb b/lib/sisu/relaxng.rb index e2edcc74..3283b753 100644 --- a/lib/sisu/relaxng.rb +++ b/lib/sisu/relaxng.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - misc - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Relaxng require_relative 'se' # se.rb class RelaxNG diff --git a/lib/sisu/remote.rb b/lib/sisu/remote.rb index 425dc2ab..7f72cea6 100644 --- a/lib/sisu/remote.rb +++ b/lib/sisu/remote.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - misc - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Remote require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/rexml.rb b/lib/sisu/rexml.rb index 6556a975..9f152e1b 100644 --- a/lib/sisu/rexml.rb +++ b/lib/sisu/rexml.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - misc - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Rexml # load XML file for REXML parsing begin diff --git a/lib/sisu/se.rb b/lib/sisu/se.rb index 8bae44dc..7c396854 100644 --- a/lib/sisu/se.rb +++ b/lib/sisu/se.rb @@ -1,57 +1,55 @@ -# #encoding: utf-8 -# =begin -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# -# =end +#encoding: utf-8 +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Env #@@cX=nil require_relative 'constants' # constants.rb diff --git a/lib/sisu/se_cleanoutput.rb b/lib/sisu/se_cleanoutput.rb index 0269e8e3..2ee29834 100644 --- a/lib/sisu/se_cleanoutput.rb +++ b/lib/sisu/se_cleanoutput.rb @@ -1,57 +1,55 @@ -# #encoding: utf-8 -# =begin -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# -# =end +#encoding: utf-8 +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Clean_Output require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_clear.rb b/lib/sisu/se_clear.rb index e512192c..0bf8a0b8 100644 --- a/lib/sisu/se_clear.rb +++ b/lib/sisu/se_clear.rb @@ -1,57 +1,55 @@ -# #encoding: utf-8 -# =begin -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# -# =end +#encoding: utf-8 +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Clear require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_createsite.rb b/lib/sisu/se_createsite.rb index 33761cd1..4d5a1dec 100644 --- a/lib/sisu/se_createsite.rb +++ b/lib/sisu/se_createsite.rb @@ -1,57 +1,55 @@ -# #encoding: utf-8 -# =begin -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# -# =end +#encoding: utf-8 +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Create_Site require_relative 'constants' # constants.rb require_relative 'html_parts' # html_parts.rb @@ -161,8 +159,7 @@ module SiSU_Create_Site cp_images(src,dest) if FileTest.directory?(src) end def cp_base_images #fix images - src=$sisu_base_data + '/image' # hard fix, revisit - #src=SiSU_is.path_base_system_data? + '/image' + src=SiSU_is.path_base_system_data? + '/image' dest_arr=[ "#{@env.path.webserv}/_sisu/image_sys", "#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image_sys" diff --git a/lib/sisu/se_css.rb b/lib/sisu/se_css.rb index eef0406d..4ea54274 100644 --- a/lib/sisu/se_css.rb +++ b/lib/sisu/se_css.rb @@ -1,57 +1,55 @@ -# #encoding: utf-8 -# =begin -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# -# =end +#encoding: utf-8 +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_CSS require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_date.rb b/lib/sisu/se_date.rb index 76112b32..83a527d6 100644 --- a/lib/sisu/se_date.rb +++ b/lib/sisu/se_date.rb @@ -1,57 +1,55 @@ -# #encoding: utf-8 -# =begin -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# -# =end +#encoding: utf-8 +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Info_Date require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_db.rb b/lib/sisu/se_db.rb index d03cd0b8..16161d6a 100644 --- a/lib/sisu/se_db.rb +++ b/lib/sisu/se_db.rb @@ -1,57 +1,55 @@ -# #encoding: utf-8 -# =begin -# - Name: SiSU -# -# - Description: documents, structuring, processing, publishing, search -# se -# -# - Author: Ralph Amissah -# -# -# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, -# 2020, 2021, 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 . -# -# If you have Internet connection, the latest version of the GPL should be -# available at these locations: -# -# -# -# -# -# - SiSU uses: -# - Standard SiSU markup syntax, -# - Standard SiSU meta-markup syntax, and the -# - Standard SiSU object citation numbering and system -# -# - Homepages: -# -# -# - Git -# -# -# -# =end +#encoding: utf-8 +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Info_Db require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_envcall.rb b/lib/sisu/se_envcall.rb index 7e9f6d2f..b93396e5 100644 --- a/lib/sisu/se_envcall.rb +++ b/lib/sisu/se_envcall.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - se - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Env_Call begin require 'singleton' diff --git a/lib/sisu/se_file_op.rb b/lib/sisu/se_file_op.rb index 2b151254..671da8cc 100644 --- a/lib/sisu/se_file_op.rb +++ b/lib/sisu/se_file_op.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - se - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Info_File require_relative 'utils' # utils.rb require_relative 'se_info_env' # se_info_env.rb diff --git a/lib/sisu/se_filemap.rb b/lib/sisu/se_filemap.rb index d55fd3d5..f1ec5200 100644 --- a/lib/sisu/se_filemap.rb +++ b/lib/sisu/se_filemap.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - se - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_File_Map require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_get_init.rb b/lib/sisu/se_get_init.rb index e9e34321..871aa740 100644 --- a/lib/sisu/se_get_init.rb +++ b/lib/sisu/se_get_init.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - se - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Get_Init require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_hub_particulars.rb b/lib/sisu/se_hub_particulars.rb index 93eafc39..d32d9215 100644 --- a/lib/sisu/se_hub_particulars.rb +++ b/lib/sisu/se_hub_particulars.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - se - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Particulars begin require 'singleton' diff --git a/lib/sisu/se_info_env.rb b/lib/sisu/se_info_env.rb index 725eae33..df0b9c95 100644 --- a/lib/sisu/se_info_env.rb +++ b/lib/sisu/se_info_env.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - se - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Info_Env @@current_document=Dir.pwd #nil #'' require_relative 'se_envcall' # se_envcall.rb diff --git a/lib/sisu/se_info_port.rb b/lib/sisu/se_info_port.rb index 16b6f1bc..860d5bf5 100644 --- a/lib/sisu/se_info_port.rb +++ b/lib/sisu/se_info_port.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - se - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Info_Port require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_info_system.rb b/lib/sisu/se_info_system.rb index f3f00b99..4ebacb83 100644 --- a/lib/sisu/se_info_system.rb +++ b/lib/sisu/se_info_system.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - se - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Info_Sys_Gen require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_load.rb b/lib/sisu/se_load.rb index 91959886..a81ca29a 100644 --- a/lib/sisu/se_load.rb +++ b/lib/sisu/se_load.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - se - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Load require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_processing.rb b/lib/sisu/se_processing.rb index c048e3c1..9b96a9da 100644 --- a/lib/sisu/se_processing.rb +++ b/lib/sisu/se_processing.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - se - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Processing_Settings require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_programs.rb b/lib/sisu/se_programs.rb index 62f2b4bc..ea696107 100644 --- a/lib/sisu/se_programs.rb +++ b/lib/sisu/se_programs.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - se - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Sys_Call begin require 'singleton' diff --git a/lib/sisu/se_remotes.rb b/lib/sisu/se_remotes.rb index ee02fd45..d12ebd8d 100644 --- a/lib/sisu/se_remotes.rb +++ b/lib/sisu/se_remotes.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - se - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Info_Remote_Host require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/se_standardise_lang.rb b/lib/sisu/se_standardise_lang.rb index 3b87cd45..c8128262 100644 --- a/lib/sisu/se_standardise_lang.rb +++ b/lib/sisu/se_standardise_lang.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - se - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Standardise_Lang @@lang_info=nil class StandardiseLanguage diff --git a/lib/sisu/se_version.rb b/lib/sisu/se_version.rb index 6e7c8c9a..d06120f2 100644 --- a/lib/sisu/se_version.rb +++ b/lib/sisu/se_version.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - se - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# se +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Info_Version require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb diff --git a/lib/sisu/shared_images.rb b/lib/sisu/shared_images.rb index af2e3254..e2eecdda 100644 --- a/lib/sisu/shared_images.rb +++ b/lib/sisu/shared_images.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - shared - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# shared +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Images require_relative 'se_hub_particulars' # se_hub_particulars.rb class Source diff --git a/lib/sisu/shared_markup_alt.rb b/lib/sisu/shared_markup_alt.rb index 785544ed..1cbc7dd9 100644 --- a/lib/sisu/shared_markup_alt.rb +++ b/lib/sisu/shared_markup_alt.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - shared - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# shared +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_TextRepresentation class Alter def initialize(x) diff --git a/lib/sisu/shared_metadata.rb b/lib/sisu/shared_metadata.rb index bf5833cc..b5c01982 100644 --- a/lib/sisu/shared_metadata.rb +++ b/lib/sisu/shared_metadata.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - shared - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# shared +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Metadata require_relative 'xml_parts' # xml_parts.rb require_relative 'xml_shared' # xml_shared.rb diff --git a/lib/sisu/shared_sem.rb b/lib/sisu/shared_sem.rb index 46849615..d33252af 100644 --- a/lib/sisu/shared_sem.rb +++ b/lib/sisu/shared_sem.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - shared - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# shared +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Sem require_relative 'dp' # dp.rb class Tags diff --git a/lib/sisu/sisu_thor_lib.rb b/lib/sisu/sisu_thor_lib.rb index 5c6cfee7..a674eba4 100644 --- a/lib/sisu/sisu_thor_lib.rb +++ b/lib/sisu/sisu_thor_lib.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - sisu build - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sisu build +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Po4a_Actions require_relative 'utils_response' # utils_response.rb include SiSU_Response diff --git a/lib/sisu/sitemaps.rb b/lib/sisu/sitemaps.rb index 8791a228..8bb20bf6 100644 --- a/lib/sisu/sitemaps.rb +++ b/lib/sisu/sitemaps.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - misc - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Sitemaps require_relative 'dp' # dp.rb include SiSU_Param diff --git a/lib/sisu/src_kdissert_share.rb b/lib/sisu/src_kdissert_share.rb index 93678254..144ca483 100644 --- a/lib/sisu/src_kdissert_share.rb +++ b/lib/sisu/src_kdissert_share.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - src - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_KdiSource require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/src_po4a_share.rb b/lib/sisu/src_po4a_share.rb index 4b4b6bde..5adb94f0 100644 --- a/lib/sisu/src_po4a_share.rb +++ b/lib/sisu/src_po4a_share.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - src - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Languages_Selected require_relative 'utils_response' # utils_response.rb def language diff --git a/lib/sisu/src_po4a_shelf.rb b/lib/sisu/src_po4a_shelf.rb index 9c8eb2a5..a3136dff 100644 --- a/lib/sisu/src_po4a_shelf.rb +++ b/lib/sisu/src_po4a_shelf.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - src - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Po4a require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/src_po4a_shelf_set.rb b/lib/sisu/src_po4a_shelf_set.rb index 166848c6..90cc280b 100644 --- a/lib/sisu/src_po4a_shelf_set.rb +++ b/lib/sisu/src_po4a_shelf_set.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - src - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Po4aUtils class Wrap def initialize(md,orig='',trans='',is_desc='',n_char_max=76,n_indent=0,n_hang=nil) diff --git a/lib/sisu/src_po4a_sst_ao_sst.rb b/lib/sisu/src_po4a_sst_ao_sst.rb index 168a5fb1..0079ef5a 100644 --- a/lib/sisu/src_po4a_sst_ao_sst.rb +++ b/lib/sisu/src_po4a_sst_ao_sst.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - src - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_SStm_AO_SStm require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/src_po4a_sst_ao_sst_set.rb b/lib/sisu/src_po4a_sst_ao_sst_set.rb index 2852cb2e..7a59ad3f 100644 --- a/lib/sisu/src_po4a_sst_ao_sst_set.rb +++ b/lib/sisu/src_po4a_sst_ao_sst_set.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - src - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Po4aUtils class Wrap def initialize(md,orig='',trans='',n_char_max=76,n_indent=0,n_hang=nil) diff --git a/lib/sisu/src_po4a_sstm.rb b/lib/sisu/src_po4a_sstm.rb index 7530b88c..063283ef 100644 --- a/lib/sisu/src_po4a_sstm.rb +++ b/lib/sisu/src_po4a_sstm.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - src - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Markup require_relative 'src_shared' # src_shared.rb include SiSU_Source diff --git a/lib/sisu/src_shared.rb b/lib/sisu/src_shared.rb index 91067c7d..b1b4e37f 100644 --- a/lib/sisu/src_shared.rb +++ b/lib/sisu/src_shared.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - src - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Source include SiSU_Env class SiSUpodSource diff --git a/lib/sisu/src_sisupod_make.rb b/lib/sisu/src_sisupod_make.rb index b31318ef..c558a3b8 100644 --- a/lib/sisu/src_sisupod_make.rb +++ b/lib/sisu/src_sisupod_make.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - src - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Doc require_relative 'src_shared' # scr_shared.rb include SiSU_Source diff --git a/lib/sisu/src_sisupod_sstm.rb b/lib/sisu/src_sisupod_sstm.rb index a20614c0..a3cacbd9 100644 --- a/lib/sisu/src_sisupod_sstm.rb +++ b/lib/sisu/src_sisupod_sstm.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - src - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# src +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Markup require_relative 'src_shared' # src_shared.rb include SiSU_Source diff --git a/lib/sisu/sst_convert_markup.rb b/lib/sisu/sst_convert_markup.rb index b1d9ac6e..b839bf26 100644 --- a/lib/sisu/sst_convert_markup.rb +++ b/lib/sisu/sst_convert_markup.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - sst - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sst +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Modify require_relative 'sst_identify_markup' # sst_identify_markup.rb require_relative 'sst_from_xml' # sst_from_xml.rb diff --git a/lib/sisu/sst_do_inline_footnotes.rb b/lib/sisu/sst_do_inline_footnotes.rb index 4dbc1d24..b5610375 100644 --- a/lib/sisu/sst_do_inline_footnotes.rb +++ b/lib/sisu/sst_do_inline_footnotes.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - sst - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sst +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_ConvertFootnotes require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/sst_from_xml.rb b/lib/sisu/sst_from_xml.rb index fe74c523..d699b2fa 100644 --- a/lib/sisu/sst_from_xml.rb +++ b/lib/sisu/sst_from_xml.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - sst - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sst +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_sstFromXML require_relative 'se' # se.rb class Convert diff --git a/lib/sisu/sst_identify_markup.rb b/lib/sisu/sst_identify_markup.rb index 1c2e592c..77b0daad 100644 --- a/lib/sisu/sst_identify_markup.rb +++ b/lib/sisu/sst_identify_markup.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - sst - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sst +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Markup class MarkupInform attr_accessor :version diff --git a/lib/sisu/sst_to_s_xml_sax.rb b/lib/sisu/sst_to_s_xml_sax.rb index 7a1167c6..796d5f4b 100644 --- a/lib/sisu/sst_to_s_xml_sax.rb +++ b/lib/sisu/sst_to_s_xml_sax.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - sst - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# sst +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_SimpleXML_ModelSax require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/termsheet.rb b/lib/sisu/termsheet.rb index eb48d09d..80a182e6 100644 --- a/lib/sisu/termsheet.rb +++ b/lib/sisu/termsheet.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - misc - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# require_relative 'se' # se.rb require_relative 'dp' # dp.rb include SiSU_Param diff --git a/lib/sisu/texinfo.rb b/lib/sisu/texinfo.rb index 6bbe7466..e99fb84f 100644 --- a/lib/sisu/texinfo.rb +++ b/lib/sisu/texinfo.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - texinfo - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# texinfo +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_TexInfo require_relative 'html' # html.rb require_relative 'dp' # dp.rb diff --git a/lib/sisu/texinfo_format.rb b/lib/sisu/texinfo_format.rb index 263a2b0f..e33086fc 100644 --- a/lib/sisu/texinfo_format.rb +++ b/lib/sisu/texinfo_format.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - texinfo - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# texinfo +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_TexInfoFormat @@table_pg_break_counter=1 require_relative 'dp' # dp.rb diff --git a/lib/sisu/texpdf.rb b/lib/sisu/texpdf.rb index 9b938a1a..b8d58523 100644 --- a/lib/sisu/texpdf.rb +++ b/lib/sisu/texpdf.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - texpdf - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# texpdf +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_TeX begin require 'pstore' diff --git a/lib/sisu/texpdf_format.rb b/lib/sisu/texpdf_format.rb index f8b6e525..569f4187 100644 --- a/lib/sisu/texpdf_format.rb +++ b/lib/sisu/texpdf_format.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - texpdf - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# texpdf +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_TeX_Pdf require_relative 'texpdf_parts' # texpdf_parts.rb @@table_pg_break_counter=1 diff --git a/lib/sisu/texpdf_parts.rb b/lib/sisu/texpdf_parts.rb index 5a5b6ffd..96df1bfb 100644 --- a/lib/sisu/texpdf_parts.rb +++ b/lib/sisu/texpdf_parts.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - texpdf - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# texpdf +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Parts_TeXpdf require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic diff --git a/lib/sisu/txt_asciidoc.rb b/lib/sisu/txt_asciidoc.rb index fc69b8ba..5fbf6746 100644 --- a/lib/sisu/txt_asciidoc.rb +++ b/lib/sisu/txt_asciidoc.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - txt - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Txt_AsciiDoc require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_asciidoc_decorate.rb b/lib/sisu/txt_asciidoc_decorate.rb index ccd24ebc..82403fba 100644 --- a/lib/sisu/txt_asciidoc_decorate.rb +++ b/lib/sisu/txt_asciidoc_decorate.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - txt - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Decorate_Txt_AsciiDoc def decorate def heading diff --git a/lib/sisu/txt_markdown.rb b/lib/sisu/txt_markdown.rb index 426aa9d1..1f6a876c 100644 --- a/lib/sisu/txt_markdown.rb +++ b/lib/sisu/txt_markdown.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - txt - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Txt_Markdown require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_markdown_decorate.rb b/lib/sisu/txt_markdown_decorate.rb index c0fc0af0..e5aa9b02 100644 --- a/lib/sisu/txt_markdown_decorate.rb +++ b/lib/sisu/txt_markdown_decorate.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - txt - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Decorate_Txt_Markdown def decorate def heading diff --git a/lib/sisu/txt_orgmode.rb b/lib/sisu/txt_orgmode.rb index 7be4f3d7..01941ce4 100644 --- a/lib/sisu/txt_orgmode.rb +++ b/lib/sisu/txt_orgmode.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - txt - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Txt_OrgMode require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_orgmode_decorate.rb b/lib/sisu/txt_orgmode_decorate.rb index 8185e1d3..1a0a458b 100644 --- a/lib/sisu/txt_orgmode_decorate.rb +++ b/lib/sisu/txt_orgmode_decorate.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - txt - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Decorate_Txt_OrgMode def decorate def heading diff --git a/lib/sisu/txt_output.rb b/lib/sisu/txt_output.rb index 8c053200..4b2a791a 100644 --- a/lib/sisu/txt_output.rb +++ b/lib/sisu/txt_output.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - txt - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module Txt_Output class Output include SiSU_Param diff --git a/lib/sisu/txt_plain.rb b/lib/sisu/txt_plain.rb index 1823b67b..e8c68e0b 100644 --- a/lib/sisu/txt_plain.rb +++ b/lib/sisu/txt_plain.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - txt - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Txt_Plain require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_plain_decorate.rb b/lib/sisu/txt_plain_decorate.rb index f9943278..4174308b 100644 --- a/lib/sisu/txt_plain_decorate.rb +++ b/lib/sisu/txt_plain_decorate.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - txt - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Decorate_Txt_Plain def decorate def heading_underscore diff --git a/lib/sisu/txt_read.rb b/lib/sisu/txt_read.rb index f6d14738..d15581f1 100644 --- a/lib/sisu/txt_read.rb +++ b/lib/sisu/txt_read.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - txt - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Txt_Read require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/txt_rst.rb b/lib/sisu/txt_rst.rb index b899e830..5af15613 100644 --- a/lib/sisu/txt_rst.rb +++ b/lib/sisu/txt_rst.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - txt - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Txt_rST require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_rst_decorate.rb b/lib/sisu/txt_rst_decorate.rb index 6f2650ea..fe33aa41 100644 --- a/lib/sisu/txt_rst_decorate.rb +++ b/lib/sisu/txt_rst_decorate.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - txt - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Decorate_Txt_rST def decorate def heading diff --git a/lib/sisu/txt_shared.rb b/lib/sisu/txt_shared.rb index 2ee1d33c..7236726d 100644 --- a/lib/sisu/txt_shared.rb +++ b/lib/sisu/txt_shared.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - txt - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_TextUtils require_relative 'generic_parts' # generic_parts.rb class Wrap diff --git a/lib/sisu/txt_textile.rb b/lib/sisu/txt_textile.rb index 761a00b2..03e7bdff 100644 --- a/lib/sisu/txt_textile.rb +++ b/lib/sisu/txt_textile.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - txt - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Txt_Textile require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/txt_textile_decorate.rb b/lib/sisu/txt_textile_decorate.rb index fe62d396..54a7d7e0 100644 --- a/lib/sisu/txt_textile_decorate.rb +++ b/lib/sisu/txt_textile_decorate.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - txt - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# txt +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Decorate_Txt_Textile def decorate def heading diff --git a/lib/sisu/update.rb b/lib/sisu/update.rb index 63bd7673..7a26b34f 100644 --- a/lib/sisu/update.rb +++ b/lib/sisu/update.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - misc - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_UpdateControlFlag require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/urls.rb b/lib/sisu/urls.rb index 305b70e0..16e0f77d 100644 --- a/lib/sisu/urls.rb +++ b/lib/sisu/urls.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - misc - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Urls require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/utils.rb b/lib/sisu/utils.rb index 0340dcdf..d291bde0 100644 --- a/lib/sisu/utils.rb +++ b/lib/sisu/utils.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - utils - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# utils +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Utils class CodeMarker def initialize(line,file,color=:red) diff --git a/lib/sisu/utils_composite.rb b/lib/sisu/utils_composite.rb index 78cae5a8..dedd09e2 100644 --- a/lib/sisu/utils_composite.rb +++ b/lib/sisu/utils_composite.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - utils - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# utils +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Composite_Doc_Utils def inserts_array(loadfilename) IO.readlines(loadfilename,'') diff --git a/lib/sisu/utils_response.rb b/lib/sisu/utils_response.rb index fc7b9e59..3e6cd1e4 100644 --- a/lib/sisu/utils_response.rb +++ b/lib/sisu/utils_response.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - utils - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# utils +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Response def available_selections_ %{'yes', 'no', 'quit' or 'exit'; [ynqx]} diff --git a/lib/sisu/utils_screen_text_color.rb b/lib/sisu/utils_screen_text_color.rb index 8d3e7874..d814a407 100644 --- a/lib/sisu/utils_screen_text_color.rb +++ b/lib/sisu/utils_screen_text_color.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - utils - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# utils +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Screen class Color attr_accessor :off,:marker,:bold,:underline,:invert,:darkgrey_hi,:grey_hi,:pink_hi,:fuchsia_hi,:red_hi,:orange_hi,:yellow_hi,:brown_hi,:lightgreen_hi,:green_hi,:cyan_hi,:blue_hi,:navy_hi,:white,:white_bold,:grey,:pink,:fuchsia,:ruby,:red,:orange,:yellow,:brown,:green,:darkgreen,:cyan,:blue,:navy,:black diff --git a/lib/sisu/utils_spell.rb b/lib/sisu/utils_spell.rb index 8ea5047b..6440a7f7 100644 --- a/lib/sisu/utils_spell.rb +++ b/lib/sisu/utils_spell.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - utils - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# utils +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_SpellUtility class Spell def initialize(input,filesrc,flg) diff --git a/lib/sisu/webrick.rb b/lib/sisu/webrick.rb index a9973a05..d5e04b97 100644 --- a/lib/sisu/webrick.rb +++ b/lib/sisu/webrick.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - misc - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Webserv class WebrickStart begin diff --git a/lib/sisu/wikispeak.rb b/lib/sisu/wikispeak.rb index e60c0c78..d2854a3f 100644 --- a/lib/sisu/wikispeak.rb +++ b/lib/sisu/wikispeak.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - misc - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Wikispeak require_relative 'ao' # ao.rb require_relative 'se' # se.rb diff --git a/lib/sisu/xhtml.rb b/lib/sisu/xhtml.rb index 251995d5..4f0b62bb 100644 --- a/lib/sisu/xhtml.rb +++ b/lib/sisu/xhtml.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xhtml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xhtml_epub2.rb b/lib/sisu/xhtml_epub2.rb index 0b629d38..63ac620f 100644 --- a/lib/sisu/xhtml_epub2.rb +++ b/lib/sisu/xhtml_epub2.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xhtml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML_EPUB2 begin require 'pstore' diff --git a/lib/sisu/xhtml_epub2_concordance.rb b/lib/sisu/xhtml_epub2_concordance.rb index 792b8452..e482830c 100644 --- a/lib/sisu/xhtml_epub2_concordance.rb +++ b/lib/sisu/xhtml_epub2_concordance.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xhtml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML_EPUB2_Concordance require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xhtml_epub2_format.rb b/lib/sisu/xhtml_epub2_format.rb index 48108818..8c8330ac 100644 --- a/lib/sisu/xhtml_epub2_format.rb +++ b/lib/sisu/xhtml_epub2_format.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xhtml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML_EPUB2_Format class ParagraphNumber def initialize(md,ocn) diff --git a/lib/sisu/xhtml_epub2_persist.rb b/lib/sisu/xhtml_epub2_persist.rb index fc043b7b..6e5a4fe9 100644 --- a/lib/sisu/xhtml_epub2_persist.rb +++ b/lib/sisu/xhtml_epub2_persist.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xhtml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML_EPUB2_Persist class Persist @@persist=nil diff --git a/lib/sisu/xhtml_epub2_segments.rb b/lib/sisu/xhtml_epub2_segments.rb index 5f14f00a..477559b4 100644 --- a/lib/sisu/xhtml_epub2_segments.rb +++ b/lib/sisu/xhtml_epub2_segments.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xhtml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML_EPUB2_Seg require_relative 'xhtml_shared' # xhtml_shared.rb require_relative 'xhtml_epub2' # xhtml_epub2.rb diff --git a/lib/sisu/xhtml_epub2_tune.rb b/lib/sisu/xhtml_epub2_tune.rb index d1d9d890..bad65ae7 100644 --- a/lib/sisu/xhtml_epub2_tune.rb +++ b/lib/sisu/xhtml_epub2_tune.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xhtml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# require_relative 'dp' # dp.rb module SiSU_XHTML_EPUB2_Tune require_relative 'se' # se.rb diff --git a/lib/sisu/xhtml_parts.rb b/lib/sisu/xhtml_parts.rb index 6684f575..5a6d0194 100644 --- a/lib/sisu/xhtml_parts.rb +++ b/lib/sisu/xhtml_parts.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xhtml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Parts_XHTML require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic diff --git a/lib/sisu/xhtml_shared.rb b/lib/sisu/xhtml_shared.rb index fabcb038..f2bd8a40 100644 --- a/lib/sisu/xhtml_shared.rb +++ b/lib/sisu/xhtml_shared.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xhtml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML_Shared require_relative 'xhtml_table' # xhtml_table.rb class TableXHTML < SiSU_XHTML_Table::TableXHTML diff --git a/lib/sisu/xhtml_table.rb b/lib/sisu/xhtml_table.rb index 2784ac3d..d21223d3 100644 --- a/lib/sisu/xhtml_table.rb +++ b/lib/sisu/xhtml_table.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xhtml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xhtml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XHTML_Table require_relative 'xhtml_parts' # xhtml_parts.rb class TableXHTML diff --git a/lib/sisu/xml_docbook5.rb b/lib/sisu/xml_docbook5.rb index 55a9584d..f0ccd3fd 100644 --- a/lib/sisu/xml_docbook5.rb +++ b/lib/sisu/xml_docbook5.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Docbook_Book require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_dom.rb b/lib/sisu/xml_dom.rb index d3ed3c00..a47e58fb 100644 --- a/lib/sisu/xml_dom.rb +++ b/lib/sisu/xml_dom.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_DOM require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_fictionbook2.rb b/lib/sisu/xml_fictionbook2.rb index b2553404..5ede1258 100644 --- a/lib/sisu/xml_fictionbook2.rb +++ b/lib/sisu/xml_fictionbook2.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Fictionbook require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_format.rb b/lib/sisu/xml_format.rb index 7259c4c7..4a461ed3 100644 --- a/lib/sisu/xml_format.rb +++ b/lib/sisu/xml_format.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Format require_relative 'dp' # dp.rb require_relative 'xml_parts' # xml_parts.rb diff --git a/lib/sisu/xml_md_oai_pmh_dc.rb b/lib/sisu/xml_md_oai_pmh_dc.rb index 31d85d5e..6205ba68 100644 --- a/lib/sisu/xml_md_oai_pmh_dc.rb +++ b/lib/sisu/xml_md_oai_pmh_dc.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Metadata require_relative 'se' # se.rb include SiSU_Env diff --git a/lib/sisu/xml_odf_odt.rb b/lib/sisu/xml_odf_odt.rb index de8636b9..75537204 100644 --- a/lib/sisu/xml_odf_odt.rb +++ b/lib/sisu/xml_odf_odt.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_ODF_ODT require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_odf_odt_format.rb b/lib/sisu/xml_odf_odt_format.rb index 2621dab8..524b6408 100644 --- a/lib/sisu/xml_odf_odt_format.rb +++ b/lib/sisu/xml_odf_odt_format.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_ODF_ODT_Format require_relative 'dp' # dp.rb include SiSU_Param diff --git a/lib/sisu/xml_parts.rb b/lib/sisu/xml_parts.rb index 8e55521d..1c9b86da 100644 --- a/lib/sisu/xml_parts.rb +++ b/lib/sisu/xml_parts.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Parts_XML require_relative 'generic_parts' # generic_parts.rb include SiSU_Parts_Generic diff --git a/lib/sisu/xml_persist.rb b/lib/sisu/xml_persist.rb index 224a7f53..d8a277b4 100644 --- a/lib/sisu/xml_persist.rb +++ b/lib/sisu/xml_persist.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Persist class Persist @@persist=nil diff --git a/lib/sisu/xml_sax.rb b/lib/sisu/xml_sax.rb index 457984b8..0bcedfc0 100644 --- a/lib/sisu/xml_sax.rb +++ b/lib/sisu/xml_sax.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_SAX require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_scaffold_structure_collapsed.rb b/lib/sisu/xml_scaffold_structure_collapsed.rb index bd4d2024..33ce3b2e 100644 --- a/lib/sisu/xml_scaffold_structure_collapsed.rb +++ b/lib/sisu/xml_scaffold_structure_collapsed.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Scaffold_Structure_Collapse require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_scaffold_structure_sisu.rb b/lib/sisu/xml_scaffold_structure_sisu.rb index ba0adf84..d2559fa9 100644 --- a/lib/sisu/xml_scaffold_structure_sisu.rb +++ b/lib/sisu/xml_scaffold_structure_sisu.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Scaffold_Structure_Sisu require_relative 'se_hub_particulars' # se_hub_particulars.rb include SiSU_Particulars diff --git a/lib/sisu/xml_shared.rb b/lib/sisu/xml_shared.rb index 0d05330c..85a960d9 100644 --- a/lib/sisu/xml_shared.rb +++ b/lib/sisu/xml_shared.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_XML_Munge require_relative 'xml_parts' # xml_parts.rb class Trans diff --git a/lib/sisu/xml_tables.rb b/lib/sisu/xml_tables.rb index 37cd31d4..33f45f6b 100644 --- a/lib/sisu/xml_tables.rb +++ b/lib/sisu/xml_tables.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - xml - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# xml +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Tables class Table #_xml @@tablehead=0 diff --git a/lib/sisu/zap.rb b/lib/sisu/zap.rb index 57e75a90..104c69d6 100644 --- a/lib/sisu/zap.rb +++ b/lib/sisu/zap.rb @@ -1,57 +1,55 @@ #encoding: utf-8 -=begin -- Name: SiSU - - - Description: documents, structuring, processing, publishing, search - misc - - - Author: Ralph Amissah - - - - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, - 2020, 2021, 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - SiSU uses: - - Standard SiSU markup syntax, - - Standard SiSU meta-markup syntax, and the - - Standard SiSU object citation numbering and system - - - Homepages: - - - - Git - - - -=end +#- Name: SiSU +# +# - Description: documents, structuring, processing, publishing, search +# misc +# +# - Author: Ralph Amissah +# +# +# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, +# 2020, 2021, 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 . +# +# If you have Internet connection, the latest version of the GPL should be +# available at these locations: +# +# +# +# +# +# - SiSU uses: +# - Standard SiSU markup syntax, +# - Standard SiSU meta-markup syntax, and the +# - Standard SiSU object citation numbering and system +# +# - Homepages: +# +# +# - Git +# +# +# module SiSU_Zap require_relative 'se' # se.rb include SiSU_Env -- cgit v1.2.3 From e481fdd4b3403d621380c43047484aeb3a3a46d2 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Thu, 17 Mar 2022 11:49:22 -0400 Subject: ruby variable passing breakage, make constant? --- bin/sisu | 2 ++ lib/sisu/se_createsite.rb | 2 +- lib/sisu/xhtml_epub2.rb | 8 ++++++++ lib/sisu/xml_odf_odt.rb | 8 ++++---- org/env.org | 2 +- org/sisu-bin.org | 2 ++ org/xhtml.org | 8 ++++++++ org/xml.org | 8 ++++---- 8 files changed, 30 insertions(+), 10 deletions(-) diff --git a/bin/sisu b/bin/sisu index b2f5a3db..11e9592c 100755 --- a/bin/sisu +++ b/bin/sisu @@ -296,6 +296,8 @@ class Orient get_processing_info.processing_files.each_pair do |markup_dir,markup_file| begin $sisu_document_markup_directory=markup_dir.gsub(/\/$/,'') + $sisu_base_data=sisu_path_base_system_data # hard fix, revisit + $sisu_called_from=File.expand_path(processing.called_as) argv_sub=get_processing_info.command_line_modifiers + markup_file if FileTest.directory?(markup_dir) system("cd #{markup_dir}") diff --git a/lib/sisu/se_createsite.rb b/lib/sisu/se_createsite.rb index 4d5a1dec..f998f43d 100644 --- a/lib/sisu/se_createsite.rb +++ b/lib/sisu/se_createsite.rb @@ -159,7 +159,7 @@ module SiSU_Create_Site cp_images(src,dest) if FileTest.directory?(src) end def cp_base_images #fix images - src=SiSU_is.path_base_system_data? + '/image' + src=$sisu_base_data + '/image' # hard fix, revisit dest_arr=[ "#{@env.path.webserv}/_sisu/image_sys", "#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image_sys" diff --git a/lib/sisu/xhtml_epub2.rb b/lib/sisu/xhtml_epub2.rb index 63ac620f..8f6ef05a 100644 --- a/lib/sisu/xhtml_epub2.rb +++ b/lib/sisu/xhtml_epub2.rb @@ -786,6 +786,11 @@ module SiSU_XHTML_EPUB2 end end def images +#puts @md.env.path.image_source_include +#puts @md.env.processing_path.epub +#puts @md.env.path.image_source_include_local +puts @md.file.output_path.epub.rel_image + #img_pth=$sisu_base_data + '/image' img_pth=@md.env.path.image_source_include img_src_pth=unless @md.opt.f_pth[:pth] =~/\/\S+?\/sisupod\/\S+?\/sisupod\/doc/ @md.file.output_path.epub.rel_image @@ -797,6 +802,9 @@ module SiSU_XHTML_EPUB2 if FileTest.directory?("#{@md.env.processing_path.epub}/#{Ep[:d_oebps]}/image") \ && FileTest.file?("#{img_src_pth}/#{x}") FileUtils::cp("#{img_src_pth}/#{x}","#{@md.env.processing_path.epub}/#{Ep[:d_oebps]}/image") + #elsif FileTest.directory?("#{$sisu_base_data}/image") \ + #&& FileTest.file?("#{img_pth}/#{x}") + # FileUtils::cp("#{img_pth}/#{x}","#{@md.env.processing_path.epub}/#{Ep[:d_oebps]}/image") elsif FileTest.directory?("#{@md.env.processing_path.epub}/#{Ep[:d_oebps]}/image") \ && FileTest.file?("#{img_pth}/#{x}") FileUtils::cp("#{img_pth}/#{x}","#{@md.env.processing_path.epub}/#{Ep[:d_oebps]}/image") diff --git a/lib/sisu/xml_odf_odt.rb b/lib/sisu/xml_odf_odt.rb index 75537204..fb9c9cde 100644 --- a/lib/sisu/xml_odf_odt.rb +++ b/lib/sisu/xml_odf_odt.rb @@ -256,15 +256,15 @@ module SiSU_XML_ODF_ODT @md.opt.act[:color_state][:set], "ERROR - image:", %{"#{i}" missing}, - "search locations: #{@env.path.image_source_include_local}," \ + "search locations: #{$sisu_base_data}/image," \ + "#{@env.path.image_source_include_remote} and" \ + "#{@env.path.image_source_include}" ).error2 unless @md.opt.act[:quiet][:set]==:on nil end elsif @md.fns =~/\.ss[tm]$/ \ - and FileTest.file?("#{@env.path.image_source_include_local}/#{i}") #review - @env.path.image_source_include_local + and FileTest.file?("#{$sisu_base_data}/image/#{i}") #review + $sisu_base_data + '/image' elsif @md.fns =~/\.ss[tm]$/ \ and FileTest.file?("#{@env.path.image_source_sisu_includes(@md)}/#{i}") @env.path.image_source_sisu_includes(@md) @@ -277,7 +277,7 @@ module SiSU_XML_ODF_ODT "ERROR - image:", %{"#{i}" missing}, "search locations: " \ - + @env.path.image_source_include_local + ',' \ + + $sisu_base_data + '/image' + ',' \ + @env.path.image_source_include_remote + 'and' \ + @env.path.image_source_include \ + @md.opt.sisu_data_dir? diff --git a/org/env.org b/org/env.org index 02c5ed29..28df5017 100644 --- a/org/env.org +++ b/org/env.org @@ -392,7 +392,7 @@ module SiSU_Create_Site cp_images(src,dest) if FileTest.directory?(src) end def cp_base_images #fix images - src=SiSU_is.path_base_system_data? + '/image' + src=$sisu_base_data + '/image' # hard fix, revisit dest_arr=[ "#{@env.path.webserv}/_sisu/image_sys", "#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image_sys" diff --git a/org/sisu-bin.org b/org/sisu-bin.org index a92e7b5e..1ee0d567 100644 --- a/org/sisu-bin.org +++ b/org/sisu-bin.org @@ -288,6 +288,8 @@ class Orient get_processing_info.processing_files.each_pair do |markup_dir,markup_file| begin $sisu_document_markup_directory=markup_dir.gsub(/\/$/,'') + $sisu_base_data=sisu_path_base_system_data # hard fix, revisit + $sisu_called_from=File.expand_path(processing.called_as) argv_sub=get_processing_info.command_line_modifiers + markup_file if FileTest.directory?(markup_dir) system("cd #{markup_dir}") diff --git a/org/xhtml.org b/org/xhtml.org index c24a5411..5c0a5cf0 100644 --- a/org/xhtml.org +++ b/org/xhtml.org @@ -1180,6 +1180,11 @@ module SiSU_XHTML_EPUB2 end end def images +#puts @md.env.path.image_source_include +#puts @md.env.processing_path.epub +#puts @md.env.path.image_source_include_local +puts @md.file.output_path.epub.rel_image + #img_pth=$sisu_base_data + '/image' img_pth=@md.env.path.image_source_include img_src_pth=unless @md.opt.f_pth[:pth] =~/\/\S+?\/sisupod\/\S+?\/sisupod\/doc/ @md.file.output_path.epub.rel_image @@ -1191,6 +1196,9 @@ module SiSU_XHTML_EPUB2 if FileTest.directory?("#{@md.env.processing_path.epub}/#{Ep[:d_oebps]}/image") \ && FileTest.file?("#{img_src_pth}/#{x}") FileUtils::cp("#{img_src_pth}/#{x}","#{@md.env.processing_path.epub}/#{Ep[:d_oebps]}/image") + #elsif FileTest.directory?("#{$sisu_base_data}/image") \ + #&& FileTest.file?("#{img_pth}/#{x}") + # FileUtils::cp("#{img_pth}/#{x}","#{@md.env.processing_path.epub}/#{Ep[:d_oebps]}/image") elsif FileTest.directory?("#{@md.env.processing_path.epub}/#{Ep[:d_oebps]}/image") \ && FileTest.file?("#{img_pth}/#{x}") FileUtils::cp("#{img_pth}/#{x}","#{@md.env.processing_path.epub}/#{Ep[:d_oebps]}/image") diff --git a/org/xml.org b/org/xml.org index 3b6e4085..d3736b85 100644 --- a/org/xml.org +++ b/org/xml.org @@ -3619,15 +3619,15 @@ module SiSU_XML_ODF_ODT @md.opt.act[:color_state][:set], "ERROR - image:", %{"#{i}" missing}, - "search locations: #{@env.path.image_source_include_local}," \ + "search locations: #{$sisu_base_data}/image," \ + "#{@env.path.image_source_include_remote} and" \ + "#{@env.path.image_source_include}" ).error2 unless @md.opt.act[:quiet][:set]==:on nil end elsif @md.fns =~/\.ss[tm]$/ \ - and FileTest.file?("#{@env.path.image_source_include_local}/#{i}") #review - @env.path.image_source_include_local + and FileTest.file?("#{$sisu_base_data}/image/#{i}") #review + $sisu_base_data + '/image' elsif @md.fns =~/\.ss[tm]$/ \ and FileTest.file?("#{@env.path.image_source_sisu_includes(@md)}/#{i}") @env.path.image_source_sisu_includes(@md) @@ -3640,7 +3640,7 @@ module SiSU_XML_ODF_ODT "ERROR - image:", %{"#{i}" missing}, "search locations: " \ - + @env.path.image_source_include_local + ',' \ + + $sisu_base_data + '/image' + ',' \ + @env.path.image_source_include_remote + 'and' \ + @env.path.image_source_include \ + @md.opt.sisu_data_dir? -- cgit v1.2.3 From 338db72033d06f052b91c291c77bfbf687890f23 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sun, 10 Apr 2022 13:49:46 -0400 Subject: project config minor, also .gitignore --- .envrc | 8 ++- .gitignore | 67 +++++++++++++++++++-- org/sisu_build.org | 169 +++++++++++++++++++++++++++++++++++++++++++++++++---- shell.nix | 39 +++++++------ sisu.gemspec | 18 ++++++ 5 files changed, 266 insertions(+), 35 deletions(-) create mode 100644 sisu.gemspec diff --git a/.envrc b/.envrc index 6bb4547e..c0adda9e 100644 --- a/.envrc +++ b/.envrc @@ -1,4 +1,8 @@ NIX_ENFORCE_PURITY=0 -if [ -e .envrc-local ]; then # source an additional user-specific .envrc in ./.envrc-local - source .envrc-local +if ! has nix_direnv_version || ! nix_direnv_version 1.4.0; then +# https://github.com/nix-community/nix-direnv + source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/1.4.0/direnvrc" "sha256-4XfVDjv75eHMWN4G725VW7BoOV4Vl3vAabK4YXIfPyE=" +fi +if [ -e .env/local ]; then + source_env_if_exists .env/local || source .env/local fi diff --git a/.gitignore b/.gitignore index 321ba4a7..50e88cab 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,77 @@ # git ls-files --others --exclude-from=.git/info/exclude +* +!README +!COPYRIGHT +!CHANGELOG +!CHANGELOGS/ +!CHANGELOGS/CHANGELOG +!CHANGELOGS/CHANGELOG_v* +!makefile +!Rakefile +!Rantfile +!qi +!setup/ +!setup/* +!version +!version.txt +!conf/ +!conf/** +!*.json +!*.org +!*.rb +!*.txt +!*.yml +!*.nix +!nix/ +!nix/** +!org/ +!bin +!bin/sisu +!bin/sisu-* +!bin/sisugem +!lib +!lib/** +!man +!man/** +!data +!data/doc +!data/doc/** +!data/sisu +!data/sisu/** +!*.sst +!*.ssm +!**/*.sst +!**/*.ssm +!debian/ +!debian/changelog +!debian/compat +!debian/control +!debian/copyright +!debian/gbp.conf +!debian/sisu*.manpages +!debian/sisu*.install +!debian/manpages/ +!debian/manpages/sisu*.7 +!debian/rules +!debian/sisu\.* +!debian/source/ +!debian/source/format +!debian/watch *~ *_ \#* *.\#* *.tmp *_tmp -.* *.gem *.gemspec -!.gitignore -!.envrc +!sisu.gemspec *_.rb *.rb_ -.pc 0???-*.patch *.gz *.xz +*_ +.* +!.gitignore +!.envrc diff --git a/org/sisu_build.org b/org/sisu_build.org index c9d05937..b0f32dfd 100644 --- a/org/sisu_build.org +++ b/org/sisu_build.org @@ -2531,8 +2531,12 @@ end #+HEADER: :tangle ../.envrc #+BEGIN_SRC sh NIX_ENFORCE_PURITY=0 -if [ -e .envrc-local ]; then # source an additional user-specific .envrc in ./.envrc-local - source .envrc-local +if ! has nix_direnv_version || ! nix_direnv_version 1.4.0; then +# https://github.com/nix-community/nix-direnv + source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/1.4.0/direnvrc" "sha256-4XfVDjv75eHMWN4G725VW7BoOV4Vl3vAabK4YXIfPyE=" +fi +if [ -e .env/local ]; then + source_env_if_exists .env/local || source .env/local fi #+END_SRC @@ -2562,22 +2566,56 @@ export RUBYLIB+=`pwd`/lib #+HEADER: :tangle-mode (identity #o755) #+BEGIN_SRC nix { pkgs ? import {} }: -pkgs.mkShell { - buildInputs = [( - with pkgs; [ - <> - <> - <> - ] - )]; +with pkgs; +mkShell { + buildInputs = [ + <> + <> + <> + <> + ]; shellHook = '' if [[ -e ".envrc" ]]; then source .envrc fi + eval "$(starship init bash)" ''; } #+END_SRC +#+BEGIN_SRC nix +#!/usr/bin/env -S nix-shell --pure +{ pkgs ? import {} }: +with pkgs; +mkShell { + buildInputs = [ + ruby_3_1 + rubyPackages_3_1.rake + rubyPackages_3_1.sqlite3 + rubyPackages_3_1.thor + sqlite + unzip + xz + zip + openssl + #texlive-combined-full + nixFlakes + validatePkgConfig + jq + git + ### candy + starship + ]; + shellHook = '' + if [[ -e ".envrc" ]]; then + source .envrc + fi + eval "$(starship init bash)" + ''; +} +#+END_SRC + + #+HEADER: :NO-tangle ../shell.nix #+BEGIN_SRC nix { pkgs ? import {} }: @@ -2718,6 +2756,11 @@ jq git #+END_SRC +#+NAME: packages_extra +#+BEGIN_SRC nix +starship +#+END_SRC + * descriptions ** README @@ -5987,6 +6030,112 @@ Configure substitution in _sisu/sisu_document_make data/sisu/conf/editor-syntax-etc/emacs/ data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el +** git +*** gitignore + +#+HEADER: :tangle ../.gitignore +#+BEGIN_SRC sh +# git ls-files --others --exclude-from=.git/info/exclude +* +!README +!COPYRIGHT +!CHANGELOG +!CHANGELOGS/ +!CHANGELOGS/CHANGELOG +!CHANGELOGS/CHANGELOG_v* +!makefile +!Rakefile +!Rantfile +!qi +!setup/ +!setup/* +!version +!version.txt +!conf/ +!conf/** +!*.json +!*.org +!*.rb +!*.txt +!*.yml +!*.nix +!nix/ +!nix/** +!org/ +!bin +!bin/sisu +!bin/sisu-* +!bin/sisugem +!lib +!lib/** +!man +!man/** +!data +!data/doc +!data/doc/** +!data/sisu +!data/sisu/** +!*.sst +!*.ssm +!**/*.sst +!**/*.ssm +!debian/ +!debian/changelog +!debian/compat +!debian/control +!debian/copyright +!debian/gbp.conf +!debian/sisu*.manpages +!debian/sisu*.install +!debian/manpages/ +!debian/manpages/sisu*.7 +!debian/rules +!debian/sisu\.* +!debian/source/ +!debian/source/format +!debian/watch +*~ +*_ +\#* +*.\#* +*.tmp +*_tmp +*.gem +*.gemspec +!sisu.gemspec +*_.rb +*.rb_ +0???-*.patch +*.gz +*.xz +*_ +.* +!.gitignore +!.envrc +#+END_SRC + +##+HEADER: :tangle ../.gitignore +#+BEGIN_SRC sh +# git ls-files --others --exclude-from=.git/info/exclude +,*~ +,*_ +\#* +,*.\#* +,*.tmp +,*_tmp +.* +,*.gem +,*.gemspec +!.gitignore +!.envrc +,*_.rb +,*.rb_ +.pc +0???-*.patch +,*.gz +,*.xz +#+END_SRC + *** todo sisu_todo.org diff --git a/shell.nix b/shell.nix index 704a2da1..9f689127 100755 --- a/shell.nix +++ b/shell.nix @@ -1,27 +1,28 @@ #!/usr/bin/env -S nix-shell --pure { pkgs ? import {} }: -pkgs.mkShell { - buildInputs = [( - with pkgs; [ - ruby_3_1 - rubyPackages_3_1.rake - rubyPackages_3_1.sqlite3 - rubyPackages_3_1.thor - sqlite - unzip - xz - zip - openssl - #texlive-combined-full - nixFlakes - validatePkgConfig - jq - git - ] - )]; +with pkgs; +mkShell { + buildInputs = [ + ruby_3_1 + rubyPackages_3_1.rake + rubyPackages_3_1.sqlite3 + rubyPackages_3_1.thor + sqlite + unzip + xz + zip + openssl + #texlive-combined-full + nixFlakes + validatePkgConfig + jq + git + starship + ]; shellHook = '' if [[ -e ".envrc" ]]; then source .envrc fi + eval "$(starship init bash)" ''; } diff --git a/sisu.gemspec b/sisu.gemspec new file mode 100644 index 00000000..696525cc --- /dev/null +++ b/sisu.gemspec @@ -0,0 +1,18 @@ +Gem::Specification.new do |s| + s.name = 'sisu' + s.version = '7.2.1' + s.date = '2019-09-05' + s.summary = 'documents - structuring, publishing in multiple formats & search (linux calls)' + s.description = 'documents - structuring, publishing in multiple formats & search [7.2.1 from git 7.2.1_pre_rel] (linux calls & without external dependencies)' + s.homepage = 'http://www.sisudoc.org' + s.authors = ["Ralph Amissah"] + s.email = 'ralph.amissah@gmail.com' + s.license = 'GPL-3.0-or-later' + s.files = Dir['lib/sisu.rb'] + + Dir['lib/sisu/*.rb'] + + Dir['data/sisu/version.yml'] + + Dir['data/sisu/image/*'] + + Dir['bin/sisugem'] + + Dir['bin/sisu'] + s.executables << 'sisugem' << 'sisu' +end -- cgit v1.2.3