diff options
author | Ralph Amissah <ralph@amissah.com> | 2012-12-12 14:58:58 -0500 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2012-12-12 14:58:58 -0500 |
commit | 1beb5aa3c376dbef89bc33024216650529ef7262 (patch) | |
tree | 1682500089c14fd49bcf52a3a001e291fadd5f75 | |
parent | debian/changelog (3.3.2-1) (diff) | |
parent | v3: 3.3.3 version & changelog, dates touched (diff) |
Merge tag 'sisu_3.3.3' into debian/sid
125 files changed, 2409 insertions, 2996 deletions
@@ -45,21 +45,24 @@ WOK $KCODE='u' if RUBY_VERSION < '1.9' argv=$* SiSU_version_dir=case argv.inspect - when /--v2/ + when /"(?:--v2)"/ check_sisu_legacy_ruby_version? 'v2' - when /--v3/ + when /"(?:--v3)"/ check_sisu_stable_ruby_version? 'v3' - when /--dev/ + when /"(?:--dev)"/ check_sisu_dev_ruby_version? - 'v3' #'v3dv' + 'v3' else check_sisu_stable_ruby_version? 'v3' end SiSU_lib="sisu/#{SiSU_version_dir}" require "#{SiSU_lib}/hub" + unless SiSU_version_dir == 'v2' + SiSU::HubMaster.new(argv) + end rescue STDERR.puts 'ERROR' STDERR.puts $! @@ -1,6 +1,6 @@ #!/usr/bin/env ruby # encoding: utf-8 -#SiSU: copyright (C) 1997 - 2011 Ralph Amissah; License GPL, see appended program information +#SiSU: copyright (C) 1997 - 2012 Ralph Amissah; License GPL, see appended program information begin def ruby_version_ok?(base_version) @v ||=RUBY_VERSION.scan(/\d+/) @@ -45,21 +45,24 @@ WOK $KCODE='u' if RUBY_VERSION < '1.9' argv=$* SiSU_version_dir=case argv.inspect - when /--v2/ + when /"(?:--v2)"/ check_sisu_legacy_ruby_version? 'v2' - when /--v3/ + when /"(?:--v3)"/ check_sisu_stable_ruby_version? 'v3' - when /--dev/ + when /"(?:--dev)"/ check_sisu_dev_ruby_version? - 'v3' #'v3dv' + 'v3' else check_sisu_legacy_ruby_version? 'v2' end SiSU_lib="sisu/#{SiSU_version_dir}" require "#{SiSU_lib}/hub" + unless SiSU_version_dir == 'v2' + SiSU::HubMaster.new(argv) + end rescue STDERR.puts 'ERROR' STDERR.puts $! @@ -45,21 +45,24 @@ WOK $KCODE='u' if RUBY_VERSION < '1.9' argv=$* SiSU_version_dir=case argv.inspect - when /--v2/ + when /"(?:--v2)"/ check_sisu_legacy_ruby_version? 'v2' - when /--v3/ + when /"(?:--v3)"/ check_sisu_stable_ruby_version? 'v3' - when /--dev/ + when /"(?:--dev)"/ check_sisu_dev_ruby_version? - 'v3' #'v3dv' + 'v3' else check_sisu_stable_ruby_version? 'v3' end SiSU_lib="sisu/#{SiSU_version_dir}" require "#{SiSU_lib}/hub" + unless SiSU_version_dir == 'v2' + SiSU::HubMaster.new(argv) + end rescue STDERR.puts 'ERROR' STDERR.puts $! diff --git a/data/doc/sisu/CHANGELOG_v3 b/data/doc/sisu/CHANGELOG_v3 index f36f16b1..261c1042 100644 --- a/data/doc/sisu/CHANGELOG_v3 +++ b/data/doc/sisu/CHANGELOG_v3 @@ -8,18 +8,100 @@ * data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_download.ssi * CHANGELOG CHANGELOG_v2 CHANGELOG_v3 README data/doc/sisu/ -Reverse Chronological: + Version 3 introduced output directory structures nad filenames more + compatible with mobile devices and other non-web use and more + internationalisation possibilities. -%% Development branch UNSTABLE -v3 branch once stable will supersede & replace current stable v2 branch + In v3 SiSU markup files may be organised in language directories that are + given their language code. There are alternative output directory structures + depending on whether you want: the v2 layout (mostly in a directory of the + given filename/a generic filetype name); a monolingual version 3 layout, + which organises files by filetype/given file name; multilingual v3 layout, + which organises files by language code/filetype/given + + (see notes at bottom of file, near EOF) + +%% Reverse Chronological: + +%% 3.3.3.orig.tar.xz (2012-10-03:40/3) +http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_3.3.3 +http://www.jus.uio.no/sisu/pkg/src/sisu_3.3.3.orig.tar.xz + sisu_3.3.3.orig.tar.xz + sisu_3.3.3-1.dsc + sisu_3.3.3-1.debian.tar.gz + +* v3: cosmetic, code + * true ? x : y + * if, else, remove some semicolons (;) replace with newlines + * if true ; x, remove semicolons replace with "then" + * .is_a?(X) replaces .class==X (& for some defined? and nil? tests) + * remove javascript holders js_ (not used) + +* v3: some fixes, cleaning, removing + +* v3: sisu -v, provide version information, fix + +* v3: options, opt_act, limit calls + ruby profiler indicates much time spent here, reduce + +* v3: constants, year static (current): YEAR=2012 + +* v3: bin/sisu, hub, reorganize call + +* v3: dbi, pgsql, report need for instructions when none given, rather than + fail silently + +* v3: some pre-unicode meddling sorted + (covers bug reported as middle dot changed to asterisk by chals) + +* v3: sisupod source, paths fix + +* v3: odf, internal links/bookmarks, toc, book index + +* v3: pdflatex, fixes + * landscape cover page was botched, came out as portrait + +* v3: pdf, fix + * group text, bullet + * group text, hardspaces at start of line (indent) + * group text, pass through special characters safe + * poem, bold etc. + +* v3: html, epub, fix + * group text, bullet + +* v3: header @classify: :topic_register: provide greater classification "depth" + * param, manifest + * harvest_topics + +* v3: dal, sysenv + * markup file processing, change to sourcefile readlines & split of sourcefile array + * removal of RUBY_VERSION references to older versions of ruby + +* v3: dal_syntax, new syntax: =\\= page new & -\\- page break + alias for <:pn> and <:pb> respectively + +* v3: db + * introduce book_idx + * minor re-arranging + +* v3: cgi search script, minor + +* v3: vim syntax sisu.vim, =\\= page new & -\\- page break + +* v3: markup samples, and help, minor updates + +* v3: vim ftplugin sisu.vim + * linenumbering: on; relative; off, <leader>nn + * cursor line & column: on; off, <leader>cu (existing cu+ & cu-) %% 3.3.2.orig.tar.xz (2012-06-30:26/6) http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/sisu_3.3.2 http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_3.3.2-1 http://www.jus.uio.no/sisu/pkg/src/sisu_3.3.2.orig.tar.xz - sisu_3.3.2.orig.tar.xz - sisu_3.3.2-1.dsc - sisu_3.3.2-1.debian.tar.gz + 13c0a50bd8f0c305d5ea46d9168029c45c26533805b04d6d7fa719e37d9d9111 1690808 sisu_3.3.2.orig.tar.xz + 921119f0a9da087883e2ecd978ecba03cdd6be66d66885af24c0c63c7d13053e 1382 sisu_3.3.2-1.dsc + 0a33ee349bf73a67c1df01909c5836cc0e392168e4803b74f3a6f078dca1f34f 297792 sisu_3.3.2-1.debian.tar.gz * v3: texpdf, xetex screen reporting of warnings off unless sisu -pV used diff --git a/data/doc/sisu/markup-samples/README b/data/doc/sisu/markup-samples/README index 0b78f4ab..ac71cc50 100644 --- a/data/doc/sisu/markup-samples/README +++ b/data/doc/sisu/markup-samples/README @@ -1,64 +1,121 @@ -A few sample books prepared as sisu markup samples, output formats to be -generated using SiSU are contained in a separate package sisu_markup_samples +The package sisu contains a few documents published under the GPL or that are +Debian Free Software Guideline license compatible, noteably: + + Text: Free as in Freedom - Richard Stallman's Crusade for Free Software + URL: <http://faifzilla.org/> + Author: Sam Williams + Copyright: Sam Williams 2002 + License: Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Document License, Version 1.1 or + any later version published by the Free Software Foundation; with the + Invariant Sections being no invariant sections, with the Front-Cover Texts + being no invariant sections, and with the Back-Cover Texts being no + invariant sections URL: <http://www.gnu.org/copyleft/fdl.html> + Markup: free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst + + Text: Free as in Freedom 2.0 - Richard Stallman and the Free Software Revolution + URL: <http://faifzilla.org/> + Author: Sam Williams, Richard M. Stallman + Copyright: Sam Williams, Richard Stallman 2010 + License: Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Document License, Version 1.1 or + any later version published by the Free Software Foundation; with the + Invariant Sections being no invariant sections, with the Front-Cover Texts + being no invariant sections, and with the Back-Cover Texts being no + invariant sections URL: <http://www.gnu.org/copyleft/fdl.html> + Markup: free_as_in_freedom_2.richard_stallman_and_the_free_software_revolution.sam_williams.richard_stallman.sst + +Output in multiple formats can be generated running SiSU against the markup +samples, e.g.: + +sisu --html filename.sst +sisu --html --epub --pdf filename.sst Online a few sample marked up documents, and their resulting outputs, can be found at: <http://www.jus.uio.no/sisu> <http://www.jus.uio.no/sisu/SiSU/examples.html> -The package sisu contains fewer sample documents, that are published under the -GPL or that are Debian Free Software Guideline license compatible, notably: +A few additional sample books prepared as sisu markup samples, output formats +to be generated using SiSU are contained in a separate package +sisu-markup-samples - Text: Free as in Freedom - Richard Stallman's Crusade for Free Software - URL: <http://faifzilla.org/> - Author: Sam Williams - Copyright: Sam Williams 2002 - License: Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Document License, Version 1.1 or any - later version published by the Free Software Foundation; with the Invariant - Sections being no invariant sections, with the Front-Cover Texts being no - invariant sections, and with the Back-Cover Texts being no invariant sections - URL: <http://www.gnu.org/copyleft/fdl.html> +sisu-markup-samples contains books (prepared using sisu markup), that were +released by their authors various licenses mostly different Creative Commons +licences that do not permit inclusion in the Debian Project as they have +requirements that do not meet the Debian Free Software Guidelines for various +reasons, most commonly that they require that the original substantive text +remain unchanged, and sometimes that the works be used only non-commercially. -sisu_markup_samples contains gpl content and additional material released under -various licenses mostly different Creative Commons licences that do not permit -inclusion in the Debian Project as they do not meet the DFSG for various -reasons, most commonly in that they require the original substantive text me -maintained and often that the works be used only non-commercially + Free as in Freedom - Richard Stallman's Crusade for Free Software, Sam + Williams, [as above] - Free as in Freedom - Richard Stallman's Crusade for Free Software, Sam Williams, [as above] + Free as in Freedom 2.0 - Richard Stallman and the Free Software Revolution, + Sam Williams, Richard M. Stallman [as above] Text: Free Culture - How Big Media Uses Technology and the Law to Lock Down Culture and Control Creativity URL: <http://www.free-culture.cc> Author: Lawrence Lessig URL: <http://www.lessig.org/> Copyright: Lawrence Lessig, 2004 - License: + License: Attribution-Noncommercial (CC-BY-NC) 1.0 URL: <http://creativecommons.org/licenses/by-nc/1.0/> + Markup: free_culture.lawrence_lessig.sst Text: The Wealth of Networks - How Social Production Transforms Markets and Freedom URL: <http://cyber.law.harvard.edu/wealth_of_networks/Main_Page> Author: Yochai Benkler URL: <http://www.benkler.org/> Copyright: 2006 Yochai Benkler - License: + License: Attribution-Noncommercial-Share Alike (CC-BY-NC-SA) 2.5 URL: <http://creativecommons.org/licenses/by-nc-sa/2.5/> + Markup: the_wealth_of_networks.yochai_benkler.sst + + Text: Democratizing Innovation + URL: <http://web.mit.edu/evhippel/www/democ1.htm> + Author: Eric von Hippel + URL: <http://web.mit.edu/evhippel/www/> + Copyright: 2005 Eric von Hippel + License: Attribution-Noncommercial-No Derivative Works (CC-BY-NC-ND) 2.0 + URL: <http://creativecommons.org/licenses/by-nc-nd/2.0/> + Markup: democratizing_innovation.eric_von_hippel.sst + + Text: Viral Spiral + URL: <http://viralspiral.cc/> + Author: David Bollier + URL: <http://www.bollier.org/> + Copyright: 2008 David Bollier + License: Attribution-Noncommercial (CC-BY-NC) 3.0 + URL: <http://creativecommons.org/licenses/by-nc/3.0/> + Markup: viral_spiral.david_bollier.sst Text: Two Bits - The Cultural Significance of Free Software URL: <http://twobits.net/> Author: Christopher Kelty URL: <http://kelty.org/> Copyright: Duke University Press, 2008 - License: + License: Attribution-Noncommercial-Share Alike (CC-BY-NC-SA) 3.0 URL: <http://creativecommons.org/licenses/by-nc-sa/3.0/> + Markup: two_bits.christopher_kelty.sst + + Text: The Public Domain - Enclosing the Commons of the Mind + URL: <http://www.thepublicdomain.org/> + Author: James Boyle + URL: <http://james-boyle.com/> + Copyright: James Boyle, 2008 + License: Attribution-Noncommercial-Share Alike (CC-BY-NC-SA) 3.0 + URL: <http://creativecommons.org/licenses/by-nc-sa/3.0/> + Markup: the_public_domain.james_boyle.sst + Note: the book index has not yet been included Text: Free For All - How Linux and the Free Software Movement Undercut the High Tech Titans URL: <http://www.wayner.org/books/ffa> Author: Peter Wayner URL: <http://www.wayner.org> Copyright: Peter Wayner, 2000 - License: + License: Attribution-Noncommercial (CC-BY-NC) 1.0 URL: <http://creativecommons.org/licenses/by-nc/1.0/> + Markup: free_for_all.peter_wayner.sst Text: The Cathederal and the Bazaar URL: <http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/> @@ -67,35 +124,72 @@ maintained and often that the works be used only non-commercially Copyright: Eric S Raymond, 2000 License: Open Publication License, v 2.0 URL: + Markup: the_cathedral_and_the_bazaar.eric_s_raymond.sst + + Text: CONTENT - Selected Essays on Technology, Creativity, Copyright and the Future of the Future + URL: <http://craphound.com/content> + Author: Cory Doctorow + URL: <http://craphound.com> + Copyright: Cory Doctorow, 2008 + License: Attribution-Noncommercial-Share Alike (CC-BY-NC-SA) 3.0 + URL: <http://creativecommons.org/licenses/by-nc-sa/3.0/> + Markup: content.cory_doctorow.sst + + Text: Down and Out in the Magic Kingdom + URL: <http://craphound.com/down> + Author: Cory Doctorow + URL: <http://craphound.com> + Copyright: Cory Doctorow, 2003 + License: Attribution-NonCommercial-ShareAlike (CC-BY-NC-SA) 1.0 + URL: <http://creativecommons.org/licenses/by-nc-sa/1.0/> + Markup: down_and_out_in_the_magic_kingdom.cory_doctorow.sst Text: Little Brother URL: <http://craphound.com/littlebrother> Author: Cory Doctorow URL: <http://craphound.com> Copyright: Cory Doctorow, 2008 - License: + License: Attribution-Noncommercial-Share Alike (CC-BY-NC-SA) 3.0 URL: <http://creativecommons.org/licenses/by-nc-sa/3.0/> + Markup: little_brother.cory_doctorow.sst + Illustration: little_brother_doctorow.png + URL: <http://commons.wikimedia.org/wiki/File:Little_Brother_illustration_by_Richard_Wilkinson_04.jpg> + Copyright: Richard Wilkinson + License: Attribution United States (CC BY) 3.0 + URL: <http://creativecommons.org/licenses/by/3.0/us/> + + Text: For the Win + URL: <http://craphound.com/ftw> + Author: Cory Doctorow + URL: <http://craphound.com> + Copyright: Cory Doctorow, 2010 + License: Attribution-Noncommercial-Share Alike (CC-BY-NC-SA) 3.0 + URL: <http://creativecommons.org/licenses/by-nc-sa/3.0/> + Markup: for_the_win.cory_doctorow.sst Text: Accelerando URL: <http://www.accelerando.org/> Author: Charles Stross URL: <http://www.antipope.org/charlie/> Copyright: Charles Stross, 2005 - License: + License: Attribution-Noncommercial-No Derivative Works (CC-BY-NC-ND) 2.0 URL: <http://creativecommons.org/licenses/by-nc-nd/2.0/> - Note: The SiSU preparation (presentations) of Accelerando are done with the kind permission of the author Charles Stross + Markup: accelerando.charles_stross.sst + Note: The SiSU preparation (presentations) of Accelerando are done with the kind permission of the author Charles Stross Text: UN Contracts for International Sale of Goods Author: UN, UNCITRAL URL: <http://www.un.org/> Copyright: License: + Markup: un_contracts_international_sale_of_goods_convention_1980.sst -Most additional material contained in sisu_markup_samples were published under +Most additional material contained in sisu-markup-samples were published under various Creative Commons licenses, check the rights section of each document for the copyright and license, or the COPYRIGHT file associated with the package for a listing of material and their associated licenses. A few document more markup samples can be found at + <http://www.sisudoc.org> <http://www.jus.uio.no/sisu> <http://www.jus.uio.no/sisu/SiSU/examples.html> diff --git a/data/doc/sisu/markup-samples/samples/free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst b/data/doc/sisu/markup-samples/samples/free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst index 213c76e7..d19efafa 100644 --- a/data/doc/sisu/markup-samples/samples/free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst +++ b/data/doc/sisu/markup-samples/samples/free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst @@ -3,7 +3,11 @@ @title: Free as in Freedom :subtitle: Richard Stallman's Crusade for Free Software -@creator: Williams, Sam +@creator: + :author: Williams, Sam + +@date: + :published: 2002 @rights: :copyright: Copyright (C) Sam Williams 2002. @@ -14,26 +18,13 @@ :oclc: 49044520 :isbn: 9780596002879 -@date: - :published: 2002 - -@notes: March 2002 - @links: - { Home and Source }http://faifzilla.org/ - {Free as in Freedom (on Richard Stallman), Sam Williams @ SiSU}http://www.jus.uio.no/sisu/free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams + {Home and Source}http://faifzilla.org/ {@ Wikipedia}http://en.wikipedia.org/wiki/Free_as_in_Freedom:_Richard_Stallman%27s_Crusade_for_Free_Software {@ Amazon.com}http://www.amazon.com/gp/product/0596002874 {@ Barnes & Noble}http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?isbn=0596002874 - {Viral Spiral, David Bollier@ SiSU}http://www.jus.uio.no/sisu/viral_spiral.david_bollier - {Democratizing Innovation, Eric von Hippel @ SiSU}http://www.jus.uio.no/sisu/democratizing_innovation.eric_von_hippel - {The Wealth of Networks, Yochai Benkler @ SiSU}http://www.jus.uio.no/sisu/the_wealth_of_networks.yochai_benkler - {Two Bits, Christopher Kelty @ SiSU}http://www.jus.uio.no/sisu/two_bits.christopher_kelty - {Free For All, Peter Wayner @ SiSU}http://www.jus.uio.no/sisu/free_for_all.peter_wayner - {The Cathedral and the Bazaar, Eric S. Raymond @ SiSU }http://www.jus.uio.no/sisu/the_cathedral_and_the_bazaar.eric_s_raymond - {Free Culture, Lawrence Lessig @ SiSU}http://www.jus.uio.no/sisu/free_culture.lawrence_lessig - {CONTENT, Cory Doctorow @ SiSU}http://www.jus.uio.no/sisu/content.cory_doctorow - {Little Brother, Cory Doctorow @ SiSU}http://www.jus.uio.no/sisu/little_brother.cory_doctorow + {SiSU}http://sisudoc.org/ + {sources / git}http://sources.sisudoc.org/ @make: :skin: skin_rms diff --git a/data/doc/sisu/markup-samples/samples/free_as_in_freedom_2.richard_stallman_and_the_free_software_revolution.sam_williams.richard_stallman.sst b/data/doc/sisu/markup-samples/samples/free_as_in_freedom_2.richard_stallman_and_the_free_software_revolution.sam_williams.richard_stallman.sst index 0ad90382..43d64ab4 100644 --- a/data/doc/sisu/markup-samples/samples/free_as_in_freedom_2.richard_stallman_and_the_free_software_revolution.sam_williams.richard_stallman.sst +++ b/data/doc/sisu/markup-samples/samples/free_as_in_freedom_2.richard_stallman_and_the_free_software_revolution.sam_williams.richard_stallman.sst @@ -6,6 +6,9 @@ @creator: :author: Williams, Sam; Stallman, Richard M. +@date: + :published: 2010 + @rights: :copyright: Copyright (C) Sam Williams 2002; Copyright 2010 Richard M. Stallman :license: Published under the GNU Free Documentation License. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License." @@ -13,28 +16,17 @@ @classify: :topic_register: SiSU:markup sample:book;copyright;GNU/Linux:GPL|copyleft|free software;free software;Software:Software Libré;GPL;Linux:GNU|Software Libré;book:biography;programming -@date: - :published: 2010 - -@make: - :skin: skin_rms2 - :breaks: new=:A,:B,:C,1 - @links: - { Home and Source }http://faifzilla.org/ - {Free as in Freedom (on Richard Stallman), Sam Williams @ SiSU}http://www.jus.uio.no/sisu/free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams + {Home and Source}http://faifzilla.org/ {@ Wikipedia}http://en.wikipedia.org/wiki/Free_as_in_Freedom:_Richard_Stallman%27s_Crusade_for_Free_Software {@ Amazon.com}http://www.amazon.com/gp/product/0596002874 {@ Barnes & Noble}http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?isbn=0596002874 - {Viral Spiral, David Bollier@ SiSU}http://www.jus.uio.no/sisu/viral_spiral.david_bollier - {Democratizing Innovation, Eric von Hippel @ SiSU}http://www.jus.uio.no/sisu/democratizing_innovation.eric_von_hippel - {The Wealth of Networks, Yochai Benkler @ SiSU}http://www.jus.uio.no/sisu/the_wealth_of_networks.yochai_benkler - {Two Bits, Christopher Kelty @ SiSU}http://www.jus.uio.no/sisu/two_bits.christopher_kelty - {Free For All, Peter Wayner @ SiSU}http://www.jus.uio.no/sisu/free_for_all.peter_wayner - {The Cathedral and the Bazaar, Eric S. Raymond @ SiSU }http://www.jus.uio.no/sisu/the_cathedral_and_the_bazaar.eric_s_raymond - {Free Culture, Lawrence Lessig @ SiSU}http://www.jus.uio.no/sisu/free_culture.lawrence_lessig - {CONTENT, Cory Doctorow @ SiSU}http://www.jus.uio.no/sisu/content.cory_doctorow - {Little Brother, Cory Doctorow @ SiSU}http://www.jus.uio.no/sisu/little_brother.cory_doctorow + {SiSU}http://sisudoc.org/ + {sources / git}http://sources.sisudoc.org/ + +@make: + :skin: skin_rms2 + :breaks: new=:A,:B,:C,1 % http://static.fsf.org/nosvn/faif-2.0.pdf % http://www.scribd.com/doc/55232810/Free-as-in-Freedom-Richard-Stallman diff --git a/data/doc/sisu/markup-samples/sisu_manual/_sisu/image/ruby_logo.png b/data/doc/sisu/markup-samples/sisu_manual/_sisu/image/ruby_logo.png Binary files differnew file mode 100644 index 00000000..829e2458 --- /dev/null +++ b/data/doc/sisu/markup-samples/sisu_manual/_sisu/image/ruby_logo.png diff --git a/data/doc/sisu/markup-samples/sisu_manual/_sisu/v3/sisurc.yml b/data/doc/sisu/markup-samples/sisu_manual/_sisu/v3/sisurc.yml index 3ef1a6db..6d11656d 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/_sisu/v3/sisurc.yml +++ b/data/doc/sisu/markup-samples/sisu_manual/_sisu/v3/sisurc.yml @@ -83,11 +83,9 @@ default: db: postgresql: port: '5432' # '5432' - #user: 'tst' # '[provide username]' - #host: 'sisudoc.org' - #user: 'ralph' - ##port: '5433' - #port: '5432' + #host: # '[if not localhost, provide host tcp/ip address or domain name]'' + #user: # '[(if different from user) provide username]' + #password: # '[password if required]' sqlite: user: 'ralph' path: ~ # './sisu_sqlite.db' @@ -133,5 +131,4 @@ program_set: # action: http://search.sisudoc.org # db: sisu # title: sample search form - #promo: sisu_search_libre, sisu_icon, sisu, open_society, fsf, ruby diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu.ssm b/data/doc/sisu/markup-samples/sisu_manual/sisu.ssm index aed55649..666b2575 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu.ssm +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu.ssm @@ -3,16 +3,8 @@ @title: SiSU :subtitle: Manual -@creator: :author: Amissah, Ralph - -@rights: Copyright (C) Ralph Amissah 2011, part of SiSU documentation, License GPL 3 - -@classify: - :type: information - :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 +@creator: + :author: Amissah, Ralph @date: :published: 2008-05-22 @@ -21,12 +13,14 @@ :available: 2002-08-28 :modified: 2011-09-18 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/ - :manpage: name=sisu - documents: markup, structuring, publishing in multiple standard formats, and search; synopsis=sisu [-abCcDdeFGghIikLMmNnoPpQqRrSsTtUuVvWwXxYyZ_0-9] [filename/wildcard] . sisu [-Ddcv] [instruction] [filename/wildcard] . sisu [-CcFLSVvW] . sisu [operations] . sisu --v3 [operations] . sisu --v2 [operations] . sisu2 [operations] +@rights: + :copyright: Copyright (C) Ralph Amissah 2012 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: SiSU:manual;electronic documents:SiSU:manual + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -40,6 +34,13 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual + :bold: /Gnu|Debian|Ruby|SiSU/ + :manpage: name=sisu - documents: markup, structuring, publishing in multiple standard formats, and search; synopsis=sisu [-abCcDdeFGghIikLMmNnoPpQqRrSsTtUuVvWwXxYyZ_0-9] [filename/wildcard] . sisu [-Ddcv] [instruction] [filename/wildcard] . sisu [-CcFLSVvW] . sisu [operations] . sisu --v3 [operations] . sisu --v2 [operations] . sisu2 [operations] + :A~ @title @creator :B~ What is SiSU? diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_commands.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_commands.sst index ff3b6a41..6a86aabb 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_commands.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_commands.sst @@ -6,16 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -@classify: - :type: information - :topic_register: electronic documents:SiSU:document:commands;SiSU:manual:commands;electronic documents:SiSU:manual:commands;SiSU:document:commands;SiSU:document:commands - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% used_by: sisu_manual SiSU.ssm - @date: :created: 2002-08-28 :issued: 2002-08-28 @@ -23,11 +13,14 @@ :published: 2007-09-16 :modified: 2012-05-25 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/ +@rights: + :copyright: Copyright (C) Ralph Amissah 2012 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: electronic documents:SiSU:document:commands;SiSU:manual:commands;electronic documents:SiSU:manual:commands;SiSU:document:commands;SiSU:document:commands + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -41,6 +34,12 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual + :bold: /Gnu|Debian|Ruby|SiSU/ + :A~? @title @creator :B~? SiSU Commands diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_config.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_config.ssi index 5fe582cd..853580b3 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_config.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_config.ssi @@ -6,9 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - @date: :published: 2007-09-16 :created: 2002-08-28 @@ -16,6 +13,10 @@ :available: 2002-08-28 :modified: 2011-02-07 +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + :A~? Configuration :B~? Configure Environment diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_content_directories.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_content_directories.ssi index 5784c03d..514e0439 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_content_directories.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_content_directories.ssi @@ -6,11 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -% used_by: sisu_manual - @date: :created: 2002-08-28 :issued: 2002-08-28 @@ -18,6 +13,10 @@ :published: 2007-09-16 :modified: 2011-02-07 +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + :A~? Organisation of Content :B~? Content Directories diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_css.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_css.ssi index 05f940dd..9eb680ed 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_css.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_css.ssi @@ -6,11 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -% used_by: sisu_manual - @date: :created: 2007-08-28 :issued: 2007-08-28 @@ -18,6 +13,10 @@ :published: 2007-09-16 :modified: 2011-02-07 +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + :A~? CSS 1~css CSS - Cascading Style Sheets (for html, XHTML and XML) diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_description.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_description.sst index 9f8c1691..840d6338 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_description.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_description.sst @@ -6,16 +6,6 @@ @creator: :author: Amissah, Ralph -@classify: - :type: information - :topic_register: electronic documents;SiSU:document:description;sisu:document:description - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% SiSU.ssm - -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - @date: :created: 2002-11-12 :issued: 2002-11-12 @@ -23,12 +13,14 @@ :published: 2007-08-30 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu - :bold: /Debian|Ruby|SiSU|ocn|object citation numbering|granular search|rant|utf-?8|WARNING/ - :italics: /Linux|FreeBSD|Dragonfly|Perl|LaTeX|Postgresql|PostgreSQL|Postgres|sqlite|SQL|Reiserfs|PHP|xml|XML|Ion|g?vim|ascii|pdf|xhtml|pdflatex|pgsql|Postscript|texinfo|metadata|metatags|metaverse|rant|rake|YAML|object citation system|ocn|object citation numbering|granular search|Dublin Core|Lex Mercatoria|Project Gutenberg|Slashdot/i +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: electronic documents;SiSU:document:description;sisu:document:description + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -42,6 +34,13 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu + :bold: /Debian|Ruby|SiSU|ocn|object citation numbering|granular search|rant|utf-?8|WARNING/ + :italics: /Linux|FreeBSD|Dragonfly|Perl|LaTeX|Postgresql|PostgreSQL|Postgres|sqlite|SQL|Reiserfs|PHP|xml|XML|Ion|g?vim|ascii|pdf|xhtml|pdflatex|pgsql|Postscript|texinfo|metadata|metatags|metaverse|rant|rake|YAML|object citation system|ocn|object citation numbering|granular search|Dublin Core|Lex Mercatoria|Project Gutenberg|Slashdot/i + :A~? @title @creator :B~? SiSU an attempt to describe diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_download.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_download.ssi index 98000627..25bcd93b 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_download.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_download.ssi @@ -15,6 +15,10 @@ :published: 2009-01-18 :modified: 2011-03-11 +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + :A~? @title @creator :B~? SiSU Downloads, Stable and Development Branches diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_examples.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_examples.ssi index 72939421..ebe4c1ea 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_examples.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_examples.ssi @@ -6,16 +6,16 @@ @creator: :author: Amissah, Ralph -% used_by: SiSU.ssm - -@rights: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - @date: :created: 2002-11-12 :issued: 2002-11-12 :available: 2002-11-12 :published: 2007-09-16 - :modified: 2011-02-07 + :modified: 2012-10-03 + +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) :A~? @title @creator @@ -25,6 +25,6 @@ 2~ Markup examples *~markup -Current markup examples and document output samples are provided at http://www.jus.uio.no/sisu/SiSU/examples.html +Current markup examples and document output samples are provided off http://sisudoc.org or http://www.jus.uio.no/sisu and in the sisu-markup-sample package available off http://sources.sisudoc.org For some documents hardly any markup at all is required at all, other than a header, and an indication that the levels to be taken into account by the program in generating its output are. diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_examples.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_examples.sst deleted file mode 100644 index 2fe64318..00000000 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_examples.sst +++ /dev/null @@ -1,238 +0,0 @@ -% SiSU 2.0 - -@title: SiSU - :subtitle: Markup Samples, Output Examples - -@creator: - :author: Amissah, Ralph - -@classify: - :type: information - :topic_register: electronic documents;SiSU:document:examples;sisu:document:examples - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% used_by: SiSU.ssm - -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -@date: - :created: 2002-11-12 - :issued: 2002-11-12 - :available: 2002-11-12 - :published: 2007-09-16 - :modified: 2011-02-07 - -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual -% :bold: /Gnu|Debian|Ruby|SiSU/ - -@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/?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 - -:A~? @title @creator - -:B~? SiSU Markup and Output Examples - -1~examples Markup and Output Examples - -2~ Markup examples *~markup - -Current markup examples and document output samples are provided at http://www.jus.uio.no/sisu/SiSU/examples.html - -For some documents hardly any markup at all is required at all, other than a header, and an indication that the levels to be taken into account by the program in generating its output are. - -<:pb> - -2~ A few book (and other) examples *~books *~sample *~example *~output - -3~viral_spiral /{"Viral Spiral"}/, David Bollier - -{ "Viral Spiral", David Bollier [3sS]}viral_spiral.david_bollier.sst - -3~wealth_of_networks- /{"The Wealth of Networks"}/, Yochai Benkler - -{ "The Wealth of Networks", Yochai Benkler [3sS]}the_wealth_of_networks.yochai_benkler.sst - -3~two_bits- /{"Two Bits"}/, Christopher Kelty - -{ "Two Bits", Christopher Kelty [3sS]}two_bits.christopher_kelty.sst - -3~freeculture- /{"Free Culture"}/, Lawrence Lessig - -{ "Free Culture", Lawrence Lessig [3sS]}free_culture.lawrence_lessig.sst - -3~content- /{"CONTENT"}/, Cory Doctorow *~doctorow - -{ "CONTENT", Cory Doctorow [3sS]}content.cory_doctorow.sst *~content - -3~democratizing_innovation- /{"Democratizing Innovation"}/, by Eric von Hippel - -{ "Democratizing Innovation", by Eric von Hippel [3sS]}democratizing_innovation.eric_von_hippel.sst - -3~free_as_in_freedom- /{"Free as in Freedom: Richard Stallman's Crusade for Free Software"}/, by Sam Williams - -{ "Free as in Freedom: Richard Stallman's Crusade for Free Software", by Sam Williams [3sS]}free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst - -3~free_for_all- /{"Free For All: How Linux and the Free Software Movement Undercut the High Tech Titans"}/, by Peter Wayner - -{ "Free For All: How Linux and the Free Software Movement Undercut the High Tech Titans", by Peter Wayner [3sS]}free_for_all.peter_wayner.sst - -3~catb- /{"The Cathedral and the Bazaar"}/, by Eric S. Raymond - -{ "The Cathedral and the Bazaar", by Eric S. Raymond [3sS]}the_cathedral_and_the_bazaar.eric_s_raymond.sst - -3~magickingdom- /{"Down and out in the Magic Kingdom"}/, Cory Doctorow *~doctorow - -{ "Down and out in the Magic Kingdom", Cory Doctorow [3sS]}down_and_out_in_the_magic_kingdom.cory_doctorow.sst *~magickingdom - -3~littlebrother- /{"Little Brother"}/, Cory Doctorow - -{ "Little Brother", Cory Doctorow [3sS]}little_brother.cory_doctorow.sst *~littlebrother - -3~ftw- /{"For the Win"}/, Cory Doctorow - -{ "For the Win", Cory Doctorow [3sS]}for_the_win.cory_doctorow.sst *~ftw - -3~accelerando- /{"Accelerando"}/, Charles Stross *~stross - -{ "Accelerando", Charles Stross [3sS]}accelerando.charles_stross.sst *~accelerando - -3~tainaron- /{"Tainaron"}/, Leena Krohn *~krohn - -{ "Tainaron", Leena Krohn [3sS]}tainaron.leena_krohn.1998.sst *~tainaron - -3~sphinx- /{"Sphinx or Robot"}/, Leena Krohn *~sor - -{ "Sphinx or Robot", Leena Krohn [3sS]}sphinx_or_robot.leena_krohn.1996.sst - -3~war_and_peace- /{"War and Peace"}/, Leo Tolstoy, PG Etext 2600 *~wap *~gutenberg - -{ "War and Peace", Leo Tolstoy [3sS]}war_and_peace.leo_tolstoy.sst ~{ http://www.jus.uio.no/sisu/war_and_peace.leo_tolstoy/toc.html <br> The ascii text was taken from Project Gutenberg. The markup transforms required are trivial. Of interest, in this instance I am saved by having alternative syntaxes/(structural modes) for marking up endnotes... as it was possible to do a simple search and replace to make the Project Gutenberg ascii presentation suitable for SiSU, using the older endnote markup style. This example instructs the program to use regular expressions, in this example the words: none; none; BOOK|FIRST|SECOND; CHAPTER; occurring at the beginning of a line, to identify what should be treated as different levels of heading in a document (and used to make the table of contents). Note that there was _{very little markup required}_ after the document headers and Project Gutenberg legal notices. As I presume the legal notices are similar in Project Gutenberg documents, (and I could not bear to think of preparing the same legal notices twice), I moved those to the "skin" for the Project, and these are now represented in the markup by \<:insert1\> and \<:insert2\> and the legal notices are available for similar insertion into the next Project Gutenberg text prepared for SiSU, should there be one. <br> I did a stylesheet/skin for the Gutenberg Project, ... I may have to remove. }~ - -3~quixote- /{"Don Quixote"}/, Miguel de Cervantes [Saavedra], translated by John Ormsby, PG Etext 996 - -{ "Don Quixote", Miguel de Cervantes [Saavedra] [3sS]}don_quixote.miguel_de_cervantes.sst - -3~gulliver- /{"Gulliver's Travels"}/, Jonathan Swift, transcribed from the 1892 George Bell and Sons edition by David Price, PG Etext 829 *~swift - -{ "Gulliver's Travels", Jonathan Swift [3sS]}gullivers_travels.jonathan_swift.sst - -3~alice- /{"Alice's Adventures in Wonderland"}/, Lewis Carroll, PG Etext 11 - -{ "Alice's Adventures in Wonderland", Lewis Carroll [3sS]}alices_adventures_in_wonderland.lewis_carroll.sst - -3~glass- /{"Through The Looking-Glass"}/, Lewis Carroll, PG Etext 12 - -{ "Through The Looking-Glass", Lewis Carroll [3sS]}through_the_looking_glass.lewis_carroll.sst - -3~alice- /{"Alice's Adventures in Wonderland"}/ and /{"Through The Looking-Glass"}/, Lewis Carroll, PG Etexts 11 and 12 - -{ "Alice's Adventures in Wonderland" and "Through The Looking-Glass", Lewis Carroll [3sS]}alices_adventures_in_wonderland_and_through_the_looking_glass.lewis_carroll.ssm - -3~gpl- /{"Gnu Public License 2"}/, (GPL 2) Free Software Foundation - -{ "Gnu Public License 2", (GPL 2) Free Software Foundation [3sS]}gpl2.fsf.sst - -3~gpl- /{"Gnu Public License v3 - Third discussion draft"}/, (GPLv3) Free Software Foundation - -{ "Gnu Public License 3 - Third discussion draft", (GPL v3 draft3) Free Software Foundation [3sS]}gpl3_draft3.fsf.sst - -3~dsc- /{"Debian Social Contract"}/ - -{ "Debian Social Contract" [3sS]}debian_social_contract_v1.1.sst - -3~dc- /{"Debian Constitution v1.3"}/, (simple/default markup) - -{ "Debian Constitution v1.3" [3sS]}debian_constitution_v1.3.sst - -3~dc- /{"Debian Constitution v1.3"}/, (markup adjusted for output to more closely match the original) - -{ "Debian Constitution v1.3", (markup adjusted for output to more closely match the original) [3sS]}debian_constitution_v1.3.adjusted.sst - -3~dc- /{"Debian Constitution v1.2"}/, (simple/default markup) - -{ "Debian Constitution v1.2 (more translations)" [3sS]}debian_constitution_v1.2.sst - -3~dc- /{"Debian Constitution v1.2"}/, (markup adjusted for output to more closely match the original) - -{ "Debian Constitution (more translations)", (markup adjusted for output to more closely match the original) [3sS]}debian_constitution_v1.2.adjusted.sst - -3~terminology- /{"A Uniform Sales Terminology"}/, Vikki Rogers and Albert Kritzer - -{ "A Uniform Sales Terminology", Vikki Rogers and Albert Kritzer [3sS]}a_uniform_international_sales_terminology.vikki_rogers.and.albert_kritzer.sst - -3~autonomous- /{"The Autonomous Contract" 1997 }/ - markup sample - -{ "The Autonomous Contract" 1997 - markup sample [3sS]}the_autonomous_contract.amissah.19970710.sst - -3~autonomous- /{"The Autonomous Contract Revisited"}/ - markup sample - -{ "The Autonomous Contract Revisited" - markup sample [3sS]}autonomy_markup0.sst ~{ http://www.jus.uio.no/sisu/autonomy_markup0/toc.html <br> alternative markup variations revolving around endnotes<br> (i) as above, markup with embedded endnotes, and header list of words/phrases to emphasise<br> http://www.jus.uio.no/sisu/sample/syntax/autonomy_markup0.sst.html <br> http://www.jus.uio.no/sisu/sample/markup/autonomy_markup0.sst <br>(ii) Again markup with embedded endnotes, but font faces changed within paragraphs rather than in header as in i <br> http://www.jus.uio.no/sisu/sample/syntax/autonomy_markup1.sst.html <br> http://www.jus.uio.no/sisu/sample/markup/autonomy_markup1.sst <br> (iii) Markup with endnote placemarks within paragraphs, the endnotes following the paragraph that contains them http://www.jus.uio.no/sisu/sample/syntax/autonomy_markup2.sst.html <br> http://www.jus.uio.no/sisu/sample/markup/autonomy_markup2.sst <br>(iv) Another alternative is to place the marked up endnotes sequentially and at the end of the text. This also works. The paragraph variant iii is perhaps easier to visually check should there be missing endnotes; but this variant iv may better suit the conversion of alternatively pre-prepared documents. }~ - -3~cisg- /{"United Nations Convention on Contracts for the International Sale of Goods"}/ - -{ "United Nations Convention on Contracts for the International Sale of Goods" [3sS]}un_contracts_international_sale_of_goods_convention_1980.sst ~{ http://www.jus.uio.no/sisu/un_contracts_international_sale_of_goods_convention_1980/toc.html <br>This example instructs the program to use regular expressions, in this example the words: Part, Chapter, Section, Article occurring at the beginning of a line, to identify what should be treated as different levels of heading in a document (and used to make the table of contents). <br>This example instructs the program to use regular expressions, in this example the words: Part, Chapter, Section, Article occurring at the beginning of a line, to identify what should be treated as different levels of heading in a document (and used to make the table of contents). }~ - -3~pecl- /PECL/ the "Principles of European Contract Law" - -{ "Principles of European Contract Law" [3sS]}eu_contract_principles_parts_1_to_3_2002.sst - -2~sql SQL - PostgreSQL, SQLite - -A Sample search form is available at http://search.sisudoc.org - -A few canned searches, showing object numbers. Search for: - -_1 { English documents matching Linux OR Debian }http://search.sisudoc.org/cgi-bin/sisu_pgsql.cgi?s1=Linux%2BOR%2BDebian&db=SiSUv2c_sisu&view=index - -_1 { GPL OR Stallman }http://search.sisudoc.org/cgi-bin/sisu_pgsql.cgi?s1=GPL%2BOR%2BStallman&db=SiSUv2c_sisu&view=index - -_1 { invention OR innovation }http://search.sisudoc.org/cgi-bin/sisu_pgsql.cgi?s1=invention%2BOR%2Binnovation&db=SiSUv2c_sisu&view=index - -_1 { copyright in English language documents }http://search.sisudoc.org/cgi-bin/sisu_pgsql.cgi?s1=copyright&db=SiSUv2c_sisu&view=index - -Note that the searches done in this form are case sensitive. - -Expand those same searches, showing the matching text in each document: - -_1 { Linux OR Debian }http://search.sisudoc.org/cgi-bin/sisu_pgsql.cgi?s1=Linux%2BOR%2BDebian&db=SiSUv2c_sisu&view=text - -_1 { GPL OR Stallman }http://search.sisudoc.org/cgi-bin/sisu_pgsql.cgi?s1=GPL%2BOR%2BStallman&db=SiSUv2c_sisu&view=text - -_1 { invention OR innovation in English language }http://search.sisudoc.org/cgi-bin/sisu_pgsql.cgi?s1=invention%2BOR%2Binnovation&db=SiSUv2c_sisu&view=text - -_1 { copyright in English language documents }http://search.sisudoc.org/cgi-bin/sisu_pgsql.cgi?s1=copyright&db=SiSUv2c_sisu&view=text - -Note you may set results either for documents matched and object number locations within each matched document meeting the search criteria; or display the names of the documents matched along with the objects (paragraphs) that meet the search criteria.~{ of this feature when demonstrated to an IBM software innovations evaluator in 2004 he said to paraphrase: this could be of interest to us. We have large document management systems, you can search hundreds of thousands of documents and we can tell you which documents meet your search criteria, but there is no way we can tell you without opening each document where within each your matches are found. }~ - -2~ Lex Mercatoria as an example - -There is quite a bit to peruse if you explore the site Lex Mercatoria: - -http://www.lexmercatoria.org/ ~{ http://www.jus.uio.no/lm/index }~ - -or perhaps: - -http://lexmercatoria.org/treaties.and.organisations/lm.chronological ~{ http://www.jus.uio.no/lm/treaties.and.organisations/lm.chronological }~ - -2~ For good measure the markup for a document with lots of (simple) tables - -SiSU is not optimised for table making, but does handle simple tables. - -_* {~^ Output of table file example }http://www.jus.uio.no/lm/un.conventions.membership.status/toc.html - -2~ And a link to the output of a reported case - -http://www.jus.uio.no/lm/england.fothergill.v.monarch.airlines.hl.1980/toc.html diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_faq.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_faq.sst index 76a594ac..bfc6023c 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_faq.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_faq.sst @@ -6,16 +6,6 @@ @creator: :author: Amissah, Ralph -@classify: - :type: information - :topic_register: electronic documents;SiSU:document:FAQ;sisu:document:FAQ;SiSU:manual:FAQ;electronic documents:SiSU:manual:FAQ - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% used_by: manual SiSU.ssm - -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - @date: :published: 2008-03-12 :created: 2006-09-06 @@ -23,11 +13,14 @@ :issued: 2006-09-06 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/ +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: electronic documents;SiSU:document:FAQ;sisu:document:FAQ;SiSU:manual:FAQ;electronic documents:SiSU:manual:FAQ + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -41,6 +34,12 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual + :bold: /Gnu|Debian|Ruby|SiSU/ + :A~? @title @creator 1~faq FAQ - Frequently Asked/Answered Questions diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_filetypes.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_filetypes.sst index acf09499..f8378e9d 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_filetypes.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_filetypes.sst @@ -6,16 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -@classify: - :type: information - :topic_register: SiSU:manual:filetypes;electronic documents:SiSU:manual:filetypes - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% used_by: sisu_manual - @date: :published: 2007-09-16 :created: 2002-08-28 @@ -23,11 +13,14 @@ :available: 2002-08-28 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/ +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: SiSU:manual:filetypes;electronic documents:SiSU:manual:filetypes + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -41,6 +34,12 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual + :bold: /Gnu|Debian|Ruby|SiSU/ + :A~? @title @creator 1~filetypes SiSU filetypes diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_help.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_help.sst index 6c824da8..b2938efb 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_help.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_help.sst @@ -6,16 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -@classify: - :type: information - :topic_register: SiSU:manual:help;electronic documents:manual:SiSU:help - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% used_by: sisu_manual - @date: :created: 2002-08-28 :issued: 2002-08-28 @@ -23,11 +13,14 @@ :published: 2007-08-30 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/ +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: SiSU:manual:help;electronic documents:manual:SiSU:help + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -41,6 +34,12 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual + :bold: /Gnu|Debian|Ruby|SiSU/ + :A~? @title @creator :B~? SiSU Help diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_help_sources.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_help_sources.sst index 69a905f2..cf94b763 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_help_sources.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_help_sources.sst @@ -6,16 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -@classify: - :type: information - :topic_register: SiSU:manual:help sources;electronic documents:SiSU:manual:help sources - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% used_by: sisu_manual - @date: :created: 2002-11-12 :issued: 2002-11-12 @@ -23,11 +13,14 @@ :published: 2007-09-16 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/ +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: SiSU:manual:help sources;electronic documents:SiSU:manual:help sources + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -41,6 +34,12 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual + :bold: /Gnu|Debian|Ruby|SiSU/ + :A~? @title @creator :B~? SiSU Help Sources diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_homepages.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_homepages.ssi index c7bb119a..58dc0937 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_homepages.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_homepages.ssi @@ -6,11 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -% used_by: sisu_manual.ssm sisu.ssm - @date: :published: 2007-09-16 :created: 2007-08-28 @@ -18,6 +13,10 @@ :available: 2007-08-28 :modified: 2011-02-07 +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + :A~? @title @creator :B~? Setting up of homepages diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_how.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_how.ssi index d59a8bc5..3372bcd4 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_how.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_how.ssi @@ -6,11 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -% used_by: manual - @date: :published: 2007-09-16 :created: 2002-08-28 @@ -18,6 +13,10 @@ :available: 2002-08-28 :modified: 2011-02-07 +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + :A~? @title @creator :B~? Description diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_howto.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_howto.sst index 9464ce64..ef6cc674 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_howto.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_howto.sst @@ -6,16 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -@classify: - :type: information - :topic_register: SiSU:manual:howto;electronic documents:SiSU:manual:howto;SiSU:document:howto;sisu:document:howto - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% used_by: sisu_manual SiSU.ssm document - @date: :published: 2007-09-16 :created: 2002-11-12 @@ -23,11 +13,14 @@ :available: 2002-11-12 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/ +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: SiSU:manual:howto;electronic documents:SiSU:manual:howto;SiSU:document:howto;sisu:document:howto + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -41,6 +34,12 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual + :bold: /Gnu|Debian|Ruby|SiSU/ + :A~? @title @creator :B~? SiSU some technical information diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_installation.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_installation.ssi index acffb07e..f908bb6e 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_installation.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_installation.ssi @@ -6,11 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -% used_by: sisu_manual.ssm SiSU.ssm - @date: :published: 2007-09-16 :created: 2002-11-12 @@ -18,6 +13,10 @@ :available: 2002-11-12 :modified: 2011-02-07 +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + :A~? SiSU Installation notes :C~ Installation diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_interesting_to_whom.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_interesting_to_whom.ssi index 304046f8..750c46ea 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_interesting_to_whom.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_interesting_to_whom.ssi @@ -6,11 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -% used_by: manual - @date: :created: 2002-08-28 :issued: 2002-08-28 @@ -18,6 +13,10 @@ :published: 2007-09-16 :modified: 2011-02-07 +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + :A~? @title @creator :B~? Who might SiSU interest? diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_introduction.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_introduction.sst index 4908b68f..28fc83c3 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_introduction.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_introduction.sst @@ -6,15 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2011, part of SiSU documentation, License GPL 3 - -% used_by: manual - -@classify: - :type: information - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - @date: :published: 2007-09-16 :created: 2002-08-28 @@ -22,11 +13,13 @@ :available: 2002-08-28 :modified: 2011-09-18 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/ +@rights: + :copyright: Copyright (C) Ralph Amissah 2011 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -40,6 +33,12 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual + :bold: /Gnu|Debian|Ruby|SiSU/ + :A~? @title @creator :B~? What is SiSU? diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_manual.ssm b/data/doc/sisu/markup-samples/sisu_manual/sisu_manual.ssm index ca96daa1..a1879767 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_manual.ssm +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_manual.ssm @@ -6,16 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -@classify: - :type: information - :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-07-21 :created: 2002-08-28 @@ -23,11 +13,14 @@ :available: 2002-08-28 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/ +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: SiSU:manual;electronic documents:SiSU:manual + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -41,6 +34,12 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual + :bold: /Gnu|Debian|Ruby|SiSU/ + :A~ @title @creator :B~ What is SiSU? @@ -77,7 +76,7 @@ % :B~? SiSU Output and Markup Examples -<< sisu_examples.sst +<< sisu_examples.ssi << sisu_output_overview.sst diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_markup.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_markup.sst index 000d3e4c..b99ccaa6 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_markup.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_markup.sst @@ -6,17 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation - :license: GPL 3 or later - -@classify: - :type: information - :topic_register: electronic documents:SiSU:document:markup;SiSU:document:markup;SiSU:document:markup;SiSU:manual:markup;electronic documents:SiSU:manual:markup - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% used_by: SiSU.ssm sisu.ssm - @date: :created: 2002-08-28 :issued: 2002-08-28 @@ -24,11 +13,14 @@ :published: 2008-05-22 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/i +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: electronic documents:SiSU:document:markup;SiSU:document:markup;SiSU:document:markup;SiSU:manual:markup;electronic documents:SiSU:manual:markup + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -42,6 +34,12 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual + :bold: /Gnu|Debian|Ruby|SiSU/i + :A~? @title @creator :B~? SiSU Markup diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_output_overview.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_output_overview.sst index 0ecbd692..2fc6cb3f 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_output_overview.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_output_overview.sst @@ -6,16 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -@classify: - :type: information - :topic_register: electronic documents:SiSU:document:markup table;SiSU:manual:output overview;electronic documents:SiSU:manual:output overview;SiSU:document:output overview;SiSU:document:output overview - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% used_by: manual, document - @date: :published: 2007-09-16 :created: 2005-10-31 @@ -23,11 +13,14 @@ :issued: 2006-10-31 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual -% :bold: /Gnu|Debian|Ruby|SiSU/ +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: electronic documents:SiSU:document:markup table;SiSU:manual:output overview;electronic documents:SiSU:manual:output overview;SiSU:document:output overview;SiSU:document:output overview + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -41,6 +34,12 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual +% :bold: /Gnu|Debian|Ruby|SiSU/ + :A~? @title @creator :B~? SiSU overview of status of features available in various outputs diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_postgresql.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_postgresql.sst index 9b3f075f..7987296d 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_postgresql.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_postgresql.sst @@ -6,16 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -@classify: - :topic_register: electronic documents:SiSU:document:postgresql;SiSU:manual:postgresql;electronic documents:SiSU:manual:postgresql;SiSU:document:postgresql;SiSU:document:postgresql; - :type: information - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% used_by: sisu_manual.ssm SiSU.ssm - @date: :published: 2007-09-16 :created: 2002-08-28 @@ -23,12 +13,14 @@ :available: 2002-08-28 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/ - :manpage: section=7; name=sisu - package to install what sisu needs to to populate a postgresql database (postgresql dependency component); synopsis=sisu -Dv [filename/wildcard ]\n sisu -Dv [instruction] +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :topic_register: electronic documents:SiSU:document:postgresql;SiSU:manual:postgresql;electronic documents:SiSU:manual:postgresql;SiSU:document:postgresql;SiSU:document:postgresql; + :type: information + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -42,6 +34,13 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual + :bold: /Gnu|Debian|Ruby|SiSU/ + :manpage: section=7; name=sisu - package to install what sisu needs to to populate a postgresql database (postgresql dependency component); synopsis=sisu -Dv [filename/wildcard ]\n sisu -Dv [instruction] + :A~? @title @creator % :B~? SiSU Postgresql diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_quickstart.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_quickstart.sst index 1d4b2ce1..7f78e645 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_quickstart.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_quickstart.sst @@ -6,16 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -@classify: - :type: information - :topic_register: electronic documents:SiSU:document:quickstart;SiSU:manual:quickstart;electronic documents:SiSU:manual:quickstart;SiSU:document:quickstart;SiSU:document:quickstart - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% used_by: SiSU.ssm sisu_manual.ssm - @date: :created: 2006-09-06 :available: 2006-09-06 @@ -23,11 +13,14 @@ :published: 2007-09-16 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/ +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: electronic documents:SiSU:document:quickstart;SiSU:manual:quickstart;electronic documents:SiSU:manual:quickstart;SiSU:document:quickstart;SiSU:document:quickstart + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -41,6 +34,12 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual + :bold: /Gnu|Debian|Ruby|SiSU/ + :A~? @title @creator :B~? Quickstart - SiSU installation and use diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_remote.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_remote.sst index b9f1b1a8..042fd506 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_remote.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_remote.sst @@ -6,16 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -@classify: - :type: information - :topic_register: electronic documents:SiSU:document:remote;SiSU:manual:remote;electronic documents:SiSU:manual:remote;SiSU:document:remote;SiSU:document:remote - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% used_by: sisu_manual.ssm SiSU.ssm - @date: :published: 2007-09-16 :created: 2002-08-28 @@ -23,11 +13,14 @@ :available: 2002-08-28 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/ +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: electronic documents:SiSU:document:remote;SiSU:manual:remote;electronic documents:SiSU:manual:remote;SiSU:document:remote;SiSU:document:remote + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -41,6 +34,12 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual + :bold: /Gnu|Debian|Ruby|SiSU/ + :A~? @title @creator :B~? SiSU Remote Operations diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_search.ssm b/data/doc/sisu/markup-samples/sisu_manual/sisu_search.ssm index 406c8c1d..4c764f5b 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_search.ssm +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_search.ssm @@ -6,13 +6,6 @@ @creator: :author: Ralph Amissah -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -@classify: - :type: information - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - @date: :created: 2002-08-28 :issued: 2002-08-28 @@ -20,11 +13,13 @@ :published: 2007-09-16 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/ +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -38,6 +33,12 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :bold: /Gnu|Debian|Ruby|SiSU/ + :skin: skin_sisu_manual + :A~? @title @creator :B~? SiSU Search diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_search_cgi.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_search_cgi.ssi index fde97254..49a87ade 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_search_cgi.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_search_cgi.ssi @@ -6,11 +6,6 @@ @creator: :author: Ralph Amissah -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -% used_by: sisu_manual.ssm sisu.ssm - @date: :published: 2007-09-16 :created: 2002-08-28 @@ -18,6 +13,10 @@ :available: 2002-08-28 :modified: 2011-02-07 +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + :A~? @title @creator :B~? SiSU Search diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_search_intro.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_search_intro.ssi index cd9e241c..7cb096f5 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_search_intro.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_search_intro.ssi @@ -6,11 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -% used_by: sisu_manual.ssm - @date: :published: 2007-09-16 :created: 2002-08-28 @@ -18,6 +13,10 @@ :available: 2002-08-28 :modified: 2011-02-07 +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + @make: :num_top: 1 :breaks: new=C; break=1 diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_short_feature_summary.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_short_feature_summary.ssi index 063d5caa..c8099fb0 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_short_feature_summary.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_short_feature_summary.ssi @@ -6,11 +6,6 @@ @creator: :author: Ralph Amissah -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -% used_by: manual - @date: :created: 2002-08-28 :issued: 2002-08-28 @@ -18,6 +13,10 @@ :published: 2007-09-16 :modified: 2011-02-07 +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + :A~? @title @creator :B~? What is SiSU? diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_sql.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_sql.ssi index 818ed871..902a4a3b 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_sql.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_sql.ssi @@ -6,15 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -% used_by: sisu_manual.ssm - -@classify: - :type: information - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - @date: :created: 2002-08-28 :issued: 2002-08-28 @@ -22,6 +13,14 @@ :published: 2007-09-16 :modified: 2011-02-07 +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search + :A~? @title @creator :B~? SiSU Search diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_sqlite.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_sqlite.sst index 45d51f06..3bb2e278 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_sqlite.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_sqlite.sst @@ -6,16 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -@classify: - :type: information - :topic_register: electronic documents:SiSU:document:sqlite;SiSU:manual:sqlite;electronic documents:SiSU:manual:sqlite;SiSU:document:sqlite;SiSU:document:sqlite - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% used_by: sisu_manual.ssm SiSU.ssm - @date: :published: 2007-09-16 :created: 2002-08-28 @@ -23,12 +13,14 @@ :available: 2002-08-28 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/ - :manpage: section=7; name=sisu - package to install what sisu needs to to populate a postgresql database (postgresql dependency component); synopsis=sisu -dv [filename/wildcard ]\n sisu -dv [instruction] +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: electronic documents:SiSU:document:sqlite;SiSU:manual:sqlite;electronic documents:SiSU:manual:sqlite;SiSU:document:sqlite;SiSU:document:sqlite + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -42,6 +34,13 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual + :bold: /Gnu|Debian|Ruby|SiSU/ + :manpage: section=7; name=sisu - package to install what sisu needs to to populate a postgresql database (postgresql dependency component); synopsis=sisu -dv [filename/wildcard ]\n sisu -dv [instruction] + :A~? @title @creator % :B~? SiSU Sqlite diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_synopsis.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_synopsis.ssi index fda4dc22..0c165f72 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_synopsis.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_synopsis.ssi @@ -3,11 +3,8 @@ @title: SiSU :subtitle: Commands -@creator: :author: Amissah, Ralph - -@rights: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -% used_by: sisu_manual SiSU.ssm +@creator: + :author: Amissah, Ralph @date: :created: 2002-08-28 @@ -16,6 +13,10 @@ :published: 2007-09-16 :modified: 2011-02-07 +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + :A~? @title @creator :B~? SiSU Commands diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_syntax_highlighting.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_syntax_highlighting.sst index 2cbd26f4..ddca75ee 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_syntax_highlighting.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_syntax_highlighting.sst @@ -6,16 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -@classify: - :type: information - :topic_register: electronic documents:SiSU:document:syntax highlighting;SiSU:manual:syntax highlighting;electronic documents:SiSU:manual:syntax highlighting;SiSU:document:syntax highlighting;SiSU:document:syntax highlighting - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% used_by: sisu_manual.ssm SiSU.ssm - @date: :published: 2007-09-16 :created: 2002-11-12 @@ -23,11 +13,14 @@ :available: 2002-11-12 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu_manual - :bold: /Gnu|Debian|Ruby|SiSU/ +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: electronic documents:SiSU:document:syntax highlighting;SiSU:manual:syntax highlighting;electronic documents:SiSU:manual:syntax highlighting;SiSU:document:syntax highlighting;SiSU:document:syntax highlighting + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -41,6 +34,12 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu_manual + :bold: /Gnu|Debian|Ruby|SiSU/ + :A~? @title @creator :B~? SiSU Syntax Highlighting diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_webrick.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_webrick.sst index e6239d02..81401189 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_webrick.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_webrick.sst @@ -6,16 +6,6 @@ @creator: :author: Amissah, Ralph -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - -@classify: - :type: information - :topic_register: electronic documents:SiSU:document:webrick;SiSU:manual:webrick;electronic documents:SiSU:manual:webrick;SiSU:document:webrick;SiSU:document:webrick - :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search - -% used_by: sisu_manual.ssm SiSU.ssm - @date: :created: 2002-08-28 :issued: 2002-08-28 @@ -23,12 +13,14 @@ :published: 2007-09-16 :modified: 2011-02-07 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :skin: skin_sisu - :bold: /Gnu|Debian|Ruby|SiSU/ - :manpage: section=7; name=sisu - documents: structuring, publishing in multiple formats, and search; synopsis=sisu -W +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + +@classify: + :type: information + :topic_register: electronic documents:SiSU:document:webrick;SiSU:manual:webrick;electronic documents:SiSU:manual:webrick;SiSU:document:webrick;SiSU:document:webrick + :subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search @links: { SiSU Homepage }http://www.sisudoc.org/ @@ -42,6 +34,13 @@ { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU +@make: + :num_top: 1 + :breaks: new=C; break=1 + :skin: skin_sisu + :bold: /Gnu|Debian|Ruby|SiSU/ + :manpage: section=7; name=sisu - documents: structuring, publishing in multiple formats, and search; synopsis=sisu -W + :A~? @title @creator :B~? SiSU Webrick diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_work_needed_and_wishlist.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_work_needed_and_wishlist.ssi index 4ef78580..20e774ac 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_work_needed_and_wishlist.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_work_needed_and_wishlist.ssi @@ -6,9 +6,6 @@ @creator: :author: Ralph Amissah -@rights: - :copyright: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 - @date: :created: 2002-08-28 :issued: 2002-08-28 @@ -16,6 +13,10 @@ :published: 2007-09-16 :modified: 2011-02-07 +@rights: + :copyright: Copyright (C) Ralph Amissah 2007 + :license: GPL 3 (part of SiSU documentation) + :A~? @title @creator :B~? Work Needed and Wishlist diff --git a/data/sisu/v3/conf/editor-syntax-etc/vim/ftplugin/sisu.vim b/data/sisu/v3/conf/editor-syntax-etc/vim/ftplugin/sisu.vim index 160444fd..be3ff18f 100644 --- a/data/sisu/v3/conf/editor-syntax-etc/vim/ftplugin/sisu.vim +++ b/data/sisu/v3/conf/editor-syntax-etc/vim/ftplugin/sisu.vim @@ -1,6 +1,6 @@ "%% SiSU Vim ftplugin " SiSU Maintainer: Ralph Amissah <ralph@amissah.com> -" SiSU Markup: SiSU (sisu-2.0) 2010-06-05 +" SiSU Markup: SiSU (sisu-3.3) 2012-08-18 " an ftplugin setting defaults for editing sisu markup files :syntax on :filetype on @@ -175,8 +175,15 @@ ":command! Fp FMake ^\s*[A-Za-z0-9#] :command! Fp FMake ^\s*\S :command! Fo FMake ^[%\"]\s*[{>] +"% linenumbering, on, relative, off +:map <Leader>nn :set <c-r>={'00':'','01':'r','10':'nor'}[&rnu.&nu]<CR>nu<CR> "% cursorline :highlight CursorLine guibg=black ctermbg=black :highlight CursorColumn guibg=black ctermbg=black +:map <leader>cu :if &cursorcolumn <Bar> + \set nocursorline nocursorcolumn <Bar> + \else <Bar> + \set cursorline cursorcolumn <Bar> + \endif<cr> :map <leader>cu- :set nocursorline nocursorcolumn<cr> :map <leader>cu+ :set cursorline cursorcolumn<cr> diff --git a/data/sisu/v3/conf/editor-syntax-etc/vim/syntax/sisu.vim b/data/sisu/v3/conf/editor-syntax-etc/vim/syntax/sisu.vim index 5176d79d..49c70986 100644 --- a/data/sisu/v3/conf/editor-syntax-etc/vim/syntax/sisu.vim +++ b/data/sisu/v3/conf/editor-syntax-etc/vim/syntax/sisu.vim @@ -1,7 +1,7 @@ " SiSU Vim syntax file " SiSU Maintainer: Ralph Amissah <ralph@amissah.com> -" SiSU Markup: SiSU (sisu-3.2.3) -" Last Change: 2012-04-15 +" SiSU Markup: SiSU (sisu-3.3.3) +" Last Change: 2012-08-08 " URL: <http://git.sisudoc.org/?p=code/sisu.git;a=blob;f=data/sisu/v3/conf/editor-syntax-etc/vim/syntax/sisu.vim;hb=HEAD> "(originally looked at Ruby Vim by Mirko Nasato) @@ -20,14 +20,9 @@ syn match sisu_error contains=sisu_link,sisu_error_wspace "<![^ei]\S\+!>" "% "Markers Identifiers: if !exists("sisu_no_identifiers") syn match sisu_mark_endnote "\~^" - syn match sisu_break contains=@NoSpell " \\\\\( \|$\)" - syn match sisu_break contains=@NoSpell "<br>\|<br />" - syn match sisu_control contains=@NoSpell "^<:p[bn]>\s*$" - "syn match sisu_control contains=@NoSpell "^<\(br\)\?:\(pg\|pgn\|pn\)>\s*$" - "syn match sisu_control contains=@NoSpell "^\[\(br\)\?:\(pg\|pgn\|pn\)\]\s*$" + syn match sisu_break contains=@NoSpell " \\\\\( \|$\)\|<br>\|<br />" + syn match sisu_control contains=@NoSpell "^\(-\\\\-\|=\\\\=\|<:p[bn]>\)\s*$" syn match sisu_control contains=@NoSpell "^<:\(bo\|---\)>\s*$" - "syn match sisu_control contains=@NoSpell "^<\(br\)\?:\(pr\|o\)>\s*$" - "syn match sisu_control contains=@NoSpell "^\[\(br\)\?:\(pr\|o\)\]\s*$" syn match sisu_marktail "[~-]#" syn match sisu_control "\"" syn match sisu_underline "\(^\| \)_[a-zA-Z0-9]\+_\([ .,]\|$\)" diff --git a/data/sisu/v3/v/version.yml b/data/sisu/v3/v/version.yml index 19d0ec65..59cbbcef 100644 --- a/data/sisu/v3/v/version.yml +++ b/data/sisu/v3/v/version.yml @@ -1,5 +1,5 @@ --- -:version: 3.3.2 -:date_stamp: 2012w26/6 -:date: "2012-06-30" +:version: 3.3.3 +:date_stamp: 2012w40/3 +:date: "2012-10-03" :project: SiSU diff --git a/lib/sisu/v3/cgi_pgsql.rb b/lib/sisu/v3/cgi_pgsql.rb index f78f65f5..1264d922 100644 --- a/lib/sisu/v3/cgi_pgsql.rb +++ b/lib/sisu/v3/cgi_pgsql.rb @@ -75,7 +75,7 @@ module SiSU_CGI_PgSQL 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.class==Array + and available_db.is_a?(Array) available_db.flatten.each do |x| serve << x.gsub(/#{Db[:name_prefix]}(\S+)/,'\1') end @@ -144,10 +144,10 @@ module SiSU_CGI_PgSQL @l,@t,@q,@c=l,t,q,cse end def string - search={ :search => [], :flag => false } + search={ search: [], flag: false } if @t =~/\S+/ or @q =~/\S+/ - if @t =~/\S+/; unescaped_search=CGI.unescape(@t) - elsif @q =~/\S+/; unescaped_search=CGI.unescape(@q) + 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 @@ -171,12 +171,10 @@ module SiSU_CGI_PgSQL def search_query1 <<-'WOK_SQL' @search_text,@search_endnotes='','' - search[:text].flatten.each {|x| @search_text << "#{x} AND " } - @search_text=@search_text.gsub(/AND\s+$/m,''). #watch - gsub(/(doc_objects\.clean~[*]?\(\s*'[^']+'\s*\)\s+(?:(?:AND|OR)\s+doc_objects\.clean~[*]?\(\s*'[^']+'\s*\))+)/,'(\1)') - search[:endnotes].flatten.each {|x| @search_endnotes << "#{x} AND " } - @search_endnotes=@search_endnotes.gsub(/AND\s+$/m,''). #watch - gsub(/(endnotes\.clean~\(\s*'[^']+'\s*\)\s+(?:(?:AND|OR)\s+endnotes\.clean~\(\s*'[^']+'\s*\))+)/,'(\1)') + @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)') + @search_endnotes=search[:endnotes].flatten.join(' AND ') + @search_endnotes=@search_endnotes.gsub(/(endnotes\.clean~\(\s*'[^']+'\s*\)\s+(?:(?:AND|OR)\s+endnotes\.clean~\(\s*'[^']+'\s*\))+)/,'(\1)') end WOK_SQL end diff --git a/lib/sisu/v3/cgi_sql_common.rb b/lib/sisu/v3/cgi_sql_common.rb index 401b67f6..18e1ab1e 100644 --- a/lib/sisu/v3/cgi_sql_common.rb +++ b/lib/sisu/v3/cgi_sql_common.rb @@ -292,8 +292,8 @@ module SiSU_CGI_SQL @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/; q['doc'] - elsif q['fns']=~/\S/; q['fns'] + @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 @@ -301,19 +301,19 @@ module SiSU_CGI_SQL end def text_to_match(identifier='') m={ - :string => /#{identifier}\s*(.+?)/, - :string => /#{identifier}\s*(.+?)(?:;|\n|\r|$)/, - :word => /#{identifier}[\s(]*(\S+)/ + 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]; m[:braces].match(@search_field)[1] - elsif @search_field =~m[:string]; m[:string].match(@search_field)[1] + 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.search_string.gsub(/\s+/,'+') + search_string=search_string.strip.gsub(/\s+/,'+') #else # "__" end @@ -328,10 +328,10 @@ module SiSU_CGI_SQL def initialize(conn,search_for,q,c) @conn=conn @text_search_flag=false - @sql_statement={ :body => '', :endnotes => '', :range => '' } + @sql_statement={ body: '', endnotes: '', range: '' } #@offset||=@@offset #@offset+=@@limit - search={ :text => [], :endnotes => [] } + 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 @@ -512,7 +512,7 @@ module SiSU_CGI_SQL </center>} end else - if page.to_s =~ /^1$/; '' + if page.to_s =~ /^1$/ then '' elsif page.to_s =~ /^2$/ %{<br /><center> <a href="#{can.previous}"> @@ -650,9 +650,9 @@ module SiSU_CGI_SQL @counters_txt,@counters_endn,@sql_select_body,@sql_select_endnotes='','','','' FCGI.each_cgi do |cgi| begin # all code goes in begin section - @search={ :text => [], :endnotes => [] } + @search={ text: [], endnotes: [] } q=CGI.new - @db=if cgi['db'] =~/\S+/; + @db=if cgi['db'] =~/\S+/ @stub=/#{@db_name_prefix}(\S+)/.match(cgi['db'])[1] cgi['db'] else @@ -661,13 +661,13 @@ module SiSU_CGI_SQL 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 => ''} + ? 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'} + checked_sql_limit={ l1000: '', l2500: 'checked'} '2500' else - checked_sql_limit={ :l1000 => 'checked', :l2500 => ''} + checked_sql_limit={ l1000: 'checked', l2500: ''} '1000' end checked_echo='checked' if cgi['echo'] =~/\S/ @@ -1024,8 +1024,9 @@ module SiSU_CGI_SQL if cgi['view']=~/text/ \ or (cgi['view']!~/index/ and cgi['search'] !~/search db/) #% txt endnotes @counter_endn_ocn+=1 - matched_endnote=(@search_regx.to_s.class==String && @search_regx.to_s=~/\S\S+/) \ - ? matched=e['body'].gsub(/(<a\s+href="https?:\/\/[^><\s]+#{@search_regx}[^>]+?>|#{@search_regx})/mi,%{<span style="background-color: #{@color_match}">\\1</span>}) + matched_endnote=(@search_regx.to_s.is_a?(String) \ + && @search_regx.to_s=~/\S\S+/) \ + ? (matched=e['body'].gsub(/(<a\s+href="https?:\/\/[^><\s]+#{@search_regx}[^>]+?>|#{@search_regx})/mi,%{<span style="background-color: #{@color_match}">\\1</span>})) : e['body'] output=%{#{title}<hr><font size="2">note <b><a href="#{path_endnotes(location,@ln)}#_#{e['nr']}">#{e['nr']}</a></b> referred to from ocn <a href="#{path_html_doc(location,@ln)}##{e['ocn']}">#{e['ocn']}</a>:</font> #{matched_endnote}} else #elsif cgi['view']=~/index/ #doc #FIX #% idx endnotes diff --git a/lib/sisu/v3/cgi_sqlite.rb b/lib/sisu/v3/cgi_sqlite.rb index ccb1fb50..78ae0f9a 100644 --- a/lib/sisu/v3/cgi_sqlite.rb +++ b/lib/sisu/v3/cgi_sqlite.rb @@ -141,10 +141,10 @@ module SiSU_CGI_SQLite @l,@t,@q=l,t,q end def string - search={ :search => [], :flag => false } + search={ search: [], flag: false } if @t =~/\S+/ or @q =~/\S+/ - if @t =~/\S+/; unescaped_search=CGI.unescape(@t) - elsif @q =~/\S+/; unescaped_search=CGI.unescape(@q) + 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 \( '%"). @@ -163,12 +163,10 @@ module SiSU_CGI_SQLite def search_query1 <<-'WOK_SQL' @search_text,@search_endnotes='','' - search[:text].flatten.each {|x| @search_text << "#{x} AND " } - @search_text=@search_text.gsub(/AND\s+$/m,''). - gsub(/(doc_objects\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\)\s+(?:(?:AND|OR)\s+doc_objects\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\))+)/,'(\1)') - search[:endnotes].flatten.each {|x| @search_endnotes << "#{x} AND " } - @search_endnotes=@search_endnotes.gsub(/AND\s+$/m,''). - gsub(/(endnotes\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\)\s+(?:(?:AND|OR)\s+endnotes\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\))+)/,'(\1)') + @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)') + @search_endnotes=search[:endnotes].flatten.join(' AND ') + @search_endnotes=@search_endnotes.gsub(/(endnotes\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\)\s+(?:(?:AND|OR)\s+endnotes\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\))+)/,'(\1)') end WOK_SQL end diff --git a/lib/sisu/v3/character_encoding.rb b/lib/sisu/v3/character_encoding.rb deleted file mode 100644 index 17bf336b..00000000 --- a/lib/sisu/v3/character_encoding.rb +++ /dev/null @@ -1,378 +0,0 @@ -# encoding: utf-8 -=begin - - * Name: SiSU - - * Description: a framework for document structuring, publishing and search - - * Author: Ralph Amissah - - * Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012 Ralph Amissah, All Rights Reserved. - - * License: GPL 3 or later: - - SiSU, a framework for document structuring, publishing and search - - Copyright (C) Ralph Amissah - - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation, either version 3 of the License, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. - - You should have received a copy of the GNU General Public License along with - this program. If not, see <http://www.gnu.org/licenses/>. - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - <http://www.fsf.org/licensing/licenses/gpl.html> - <http://www.gnu.org/licenses/gpl.html> - - <http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html> - - * SiSU uses: - * Standard SiSU markup syntax, - * Standard SiSU meta-markup syntax, and the - * Standard SiSU object citation numbering and system - - * Hompages: - <http://www.jus.uio.no/sisu> - <http://www.sisudoc.org> - - * Download: - <http://www.sisudoc.org/sisu/en/SiSU/download.html> - - * Ralph Amissah - <ralph@amissah.com> - <ralph.amissah@gmail.com> - - ** Description: modules related to locales, character encoding for different - output generators [requires kirbybase] - -=end -module SiSU_CharacterEncode - require 'kirbybase' - require_relative 'sysenv' # sysenv.rb - class Characters - attr_accessor(:character_encoding,:glyph,:dec,:hex,:rb,:html,:html_name,:tex,:tex_licr,:tex_alt,:name) - def initialize(&block) - instance_eval(&block) - end - end - class Create <Characters - def initialize - #NOTE places character_encoding.tbl in correct subdirectory ./_sisu_processing/encoding - @db=KirbyBase.new #default database location, pwd - @ce_tbl=@db.create_table.documents(:character_encoding, :glyph,:String, :dec,:Integer, :hex,:String, :rb,:String, :html,:String, :html_name,:String, :tex,:String, :tex_licr,:String, :tex_alt,:String, :name,:String) - end - def db - x=CharacterEncoding.new.table - #x.each {|y| puts y[2].inspect} - x.each do |c| - #puts "#{c[0]}, #{c[1]}, #{c[2]}, #{c[3]}, #{c[4]}, #{c[5]}, #{c[6]}, #{c[7]}, #{c[8]}, #{c[9]}" - @ce_tbl.insert(c[0], c[1], c[2], c[3], c[4], c[5], c[6], c[7], c[8], c[9]) - end - end - end - class Query - def initialize(find='',show='') - #NOTE character_encoding.tbl not read from subdirectory ./_sisu_processing/encoding - @db=KirbyBase.new #default database location, pwd - @ce_tbl=@db.get_table(:character_encoding) - @find=find - end - def selected(selected,show) - @y=[] - selected.each do |x| - @y<<case show - when 'glyph'; x.glyph - when 'dec'; x.dec - when 'hex'; x.hex - when 'rb'; x.rb - when 'html'; x.html - when 'html_name'; x.html_name - when 'tex'; x.tex - when 'ot1'; x.ot1 - when 'ts1'; x.ts1 - when 'name'; x.name - else x.hex - end - end - #@ce_tbl.select(:glyph,:name) { |r| r.hex==hex }.each do |r| - # puts '%s %s' % [r.glyph, r.name] - #end - #:glyph,:dec,:hex,:rb,:html,:html_name,:tex,:tex_licr,:tex_alt,:name - #list=['number','glyph','html','hex','rb','tex','ot1','ts1','name'] - end - def hex(hex,show) - select=@ce_tbl.select(:glyph,:dec,:hex,:rb,:html,:html_name,:tex,:tex_licr,:tex_alt,:name) { |r| r.hex==hex } - selected(select,show) - @y - end - def dec(dec,show) - select=@ce_tbl.select(:glyph,:dec,:hex,:rb,:html,:html_name,:tex,:tex_licr,:tex_alt,:name) { |r| r.dec==dec } - selected(select,show) - @y - end - def name(name,show) - select=@ce_tbl.select(:glyph,:dec,:hex,:rb,:html,:html_name,:tex,:tex_licr,:tex_alt,:name) { |r| r.name =~ /#{name}/ } - selected(select,show) - @y - end - def report - puts @ce_tbl.select(:glyph,:dec,:hex,:rb,:html,:html_name,:tex,:tex_licr,:tex_alt,:name).to_report - end - def table - selected=@ce_tbl.select - #selected=@ce_tbl.select(:glyph,:dec,:hex,:rb,:html,:html_name,:tex,:tex_licr,:tex_alt,:name) - selected.each do |c| - puts '%s %s %s %s %s %s %s %s %s %s' % [c.glyph,c.dec,c.hex,c.rb,c.html,c.html_name,c.tex,c.tex_licr,c.tex_alt,c.name] - #puts "#{c.glyph}, #{c.dec}, #{c.hex}, #{c.rb}, #{c.html}, #{c.name}, #{c.tex}, #{c.tec_licr}, #{c.tex_alt}, #{c.c_name}" - end - end - end - class CharacterEncoding - def table - x=[] -#:glyph, :dec,:hex, :rb, :xml , :html_name, :tex, :tex_licr, :tex_alt, :name - x=[ - ['', 9, '', '', '	', nil, '', '', '', 'Horizontal tab' ], - ['', 15, '', '', '', nil, '', '', '', 'Line feed' ], - ['', 17, '', '', '', nil, '', '', '', 'Carriage return' ], - [' ', 32, '40', '\40', ' ', nil, '', '', '', 'Space' ], - ['!', 33, '41', '\41', '!', nil, '!', '!', '!', 'Punctuation Exclamation !' ], - ['', 34, '42', '\42', '"', '"', '', '', '', 'Punctuation Quotation mark' ], - ['#', 35, '43', '\43', '#', nil, '{\#}', '\#', '', 'Hash mark #' ], - ['$', 36, '44', '\44', '$', nil, '{\$}', '\textdollar', '', 'Dollar sign $' ], - ['%', 37, '45', '\45', '%', nil, '{\%}', '\%', '', 'Percent sign %' ], - ['&', 38, '46', '\46', '&', '&', '{\&}', '\&', '', 'Ampersand &' ], - ['\'', 39, '47', '\47', ''', nil, '', '', '', 'Apostrophe \''], - ['(', 40, '50', '\50', '(', nil, '', '', '', 'Left parenthesis (' ], - [')', 41, '51', '\51', ')', nil, '', '', '', 'Right parenthesis )' ], - ['*', 42, '52', '\52', '*', nil, '', '', '', 'Asterisk *' ], - ['+', 43, '53', '\53', '+', nil, '', '', '', 'Plus sign +' ], - [',', 44, '54', '\54', ',', nil, ',', ',', ',', 'Puncutation Comma ,' ], - ['-', 45, '55', '\55', '-', nil, '-', '-', '-', 'Puncutation Hyphen -' ], - ['.', 46, '56', '\56', '.', nil, '.', '.', '.', 'Puncutation Period .' ], - ['/', 47, '57', '\57', '/', nil, '/', '/', '/', 'Puncutation Slash /' ], - ['0', 48, '60', '\60', '0', nil, '0', '0', '0', 'Digit zero 0' ], - ['1', 49, '61', '\61', '1', nil, '1', '1', '1', 'Digit one 1' ], - ['2', 50, '62', '\62', '2', nil, '2', '2', '2', 'Digit two 2' ], - ['3', 51, '63', '\63', '3', nil, '3', '3', '3', 'Digit three 3' ], - ['4', 52, '64', '\64', '4', nil, '4', '4', '4', 'Digit four 4' ], - ['5', 53, '65', '\65', '5', nil, '5', '5', '5', 'Digit five 5' ], - ['6', 54, '66', '\66', '6', nil, '6', '6', '6', 'Digit six 6' ], - ['7', 55, '67', '\67', '7', nil, '7', '7', '7', 'Digit seven 7' ], - ['8', 56, '70', '\70', '8', nil, '8', '8', '8', 'Digit eight 8' ], - ['9', 57, '71', '\71', '9', nil, '9', '9', '9', 'Digit nine 9' ], - [':', 58, '72', '\72', ':', nil, '', '', '', 'Punctuation Colon :' ], - [';', 59, '73', '\73', ';', nil, '', '', '', 'Punctuation Semicolon ;' ], - ['<', 60, '74', '\74', '<', '<', '', '', '', 'Less than <' ], - ['=', 61, '75', '\75', '=', nil, '', '', '', 'Equals sign =' ], - ['>', 62, '76', '\76', '>', '>', '', '', '', 'Greater than >' ], - ['?', 63, '77', '\77', '?', nil, '?', '?', '?', 'Punctuation Question mark ?' ], - ['@', 64, '100', '\100', '@', nil, '', '', '', 'Commercial at sign @' ], - ['A', 65, '101', '\101', 'A', nil, 'A', 'A', 'A', 'Captial A' ], - ['B', 66, '102', '\102', 'B', nil, 'B', 'B', 'B', 'Captial B' ], - ['C', 67, '103', '\103', 'C', nil, 'C', 'C', 'C', 'Captial C' ], - ['D', 68, '104', '\104', 'D', nil, 'D', 'D', 'D', 'Captial D' ], - ['E', 69, '105', '\105', 'E', nil, 'E', 'E', 'E', 'Captial E' ], - ['F', 70, '106', '\106', 'F', nil, 'F', 'F', 'F', 'Captial F' ], - ['G', 71, '107', '\107', 'G', nil, 'G', 'G', 'G', 'Captial G' ], - ['H', 72, '110', '\110', 'H', nil, 'H', 'H', 'H', 'Captial H' ], - ['I', 73, '111', '\111', 'I', nil, 'I', 'I', 'I', 'Captial I' ], - ['J', 74, '112', '\112', 'J', nil, 'J', 'J', 'J', 'Captial J' ], - ['K', 75, '113', '\113', 'K', nil, 'K', 'K', 'K', 'Captial K' ], - ['L', 76, '114', '\114', 'L', nil, 'L', 'L', 'L', 'Captial L' ], - ['M', 77, '115', '\115', 'M', nil, 'M', 'M', 'M', 'Captial M' ], - ['N', 78, '116', '\116', 'N', nil, 'N', 'N', 'N', 'Captial N' ], - ['O', 79, '117', '\117', 'O', nil, 'O', 'O', 'O', 'Captial O' ], - ['P', 80, '120', '\120', 'P', nil, 'P', 'P', 'P', 'Captial P' ], - ['Q', 81, '121', '\121', 'Q', nil, 'Q', 'Q', 'Q', 'Captial Q' ], - ['R', 82, '122', '\122', 'R', nil, 'R', 'R', 'R', 'Captial R' ], - ['S', 83, '123', '\123', 'S', nil, 'S', 'S', 'S', 'Captial S' ], - ['T', 84, '124', '\124', 'T', nil, 'T', 'T', 'T', 'Captial T' ], - ['U', 85, '125', '\125', 'U', nil, 'U', 'U', 'U', 'Captial U' ], - ['V', 86, '126', '\126', 'V', nil, 'V', 'V', 'V', 'Captial V' ], - ['W', 87, '127', '\127', 'W', nil, 'W', 'W', 'W', 'Captial W' ], - ['X', 88, '130', '\130', 'X', nil, 'X', 'X', 'X', 'Captial X' ], - ['Y', 89, '131', '\131', 'Y', nil, 'Y', 'Y', 'Y', 'Captial Y' ], - ['Z', 90, '132', '\132', 'Z', nil, 'Z', 'Z', 'Z', 'Captial Z' ], - ['[', 91, '133', '\133', '[', nil, '', '', '', 'Left square bracket [' ], - ['\\', 92, '134', '\134', '\', nil, '', '\textbackslash', '', 'Backslash \\'], - [']', 93, '135', '\135', ']', nil, '', '', '', 'Right square bracket ]' ], - ['^', 94, '136', '\136', '^', nil, '', '', '', 'Caret ^' ], - ['_', 95, '137', '\137', '_', nil, '{\_}', '\textunderscore', '', 'Underscore _' ], - ['`', 96, '140', '\140', '`', nil, '', '', '', 'Grave accent `' ], - ['a', 97, '141', '\141', 'a', nil, 'a', 'a', 'a', 'Small a' ], - ['b', 98, '142', '\142', 'b', nil, 'b', 'b', 'b', 'Small b' ], - ['c', 99, '143', '\143', 'c', nil, 'c', 'c', 'c', 'Small c' ], - ['d', 100, '144', '\144', 'd', nil, 'd', 'd', 'd', 'Small d' ], - ['e', 101, '145', '\145', 'e', nil, 'e', 'e', 'e', 'Small e' ], - ['f', 102, '146', '\146', 'f', nil, 'f', 'f', 'f', 'Small f' ], - ['g', 103, '147', '\147', 'g', nil, 'g', 'g', 'g', 'Small g' ], - ['h', 104, '150', '\150', 'h', nil, 'h', 'h', 'h', 'Small h' ], - ['i', 105, '151', '\151', 'i', nil, 'i', 'i', 'i', 'Small i' ], - ['j', 106, '152', '\152', 'j', nil, 'j', 'j', 'j', 'Small j' ], - ['k', 107, '153', '\153', 'k', nil, 'k', 'k', 'k', 'Small k' ], - ['l', 108, '154', '\154', 'l', nil, 'l', 'l', 'l', 'Small l' ], - ['m', 109, '155', '\155', 'm', nil, 'm', 'm', 'm', 'Small m' ], - ['n', 110, '156', '\156', 'n', nil, 'n', 'n', 'n', 'Small n' ], - ['o', 111, '157', '\157', 'o', nil, 'o', 'o', 'o', 'Small o' ], - ['p', 112, '160', '\160', 'p', nil, 'p', 'p', 'p', 'Small p' ], - ['q', 113, '161', '\161', 'q', nil, 'q', 'q', 'q', 'Small q' ], - ['r', 114, '162', '\162', 'r', nil, 'r', 'r', 'r', 'Small r' ], - ['s', 115, '163', '\163', 's', nil, 's', 's', 's', 'Small s' ], - ['t', 116, '164', '\164', 't', nil, 't', 't', 't', 'Small t' ], - ['u', 117, '165', '\165', 'u', nil, 'u', 'u', 'u', 'Small u' ], - ['v', 118, '166', '\166', 'v', nil, 'v', 'v', 'v', 'Small v' ], - ['w', 119, '167', '\167', 'w', nil, 'w', 'w', 'w', 'Small w' ], - ['x', 120, '170', '\170', 'x', nil, 'x', 'x', 'x', 'Small x' ], - ['y', 121, '171', '\171', 'y', nil, 'y', 'y', 'y', 'Small y' ], - ['z', 122, '172', '\172', 'z', nil, 'z', 'z', 'z', 'Small z' ], - ['{', 123, '173', '\173', '{', nil, '{\{}', '\{', '', 'Left curly brace {' ], - ['|', 124, '174', '\174', '|', nil, '', '', '', 'Vertical bar / pipe |' ], - ['}', 125, '175', '\175', '}', nil, '{\}}', '\}', '', 'Right curly brace }' ], - ['~', 126, '176', '\176', '~', nil, '', '', '', 'Tilde ~' ], - ['', 127, '177', '', '', nil, '', '', '', ' ' ], - ['', 128, '200', '', '€', nil, '', '', '', ' ' ], - ['', 129, '201', '', '', nil, '', '', '', ' ' ], - ['\'', 130, '202', '', '‚', nil, '', '', '', 'Low left single quote \''], - [' ', 131, '203', '', 'ƒ', nil, '', '', '', 'Florin ' ], - ['"', 132, '204', '', '„', nil, '', '', '', 'Low left double quote "' ], - ['…', 133, '205', '\342\200\246', '…', nil, '…', '\textellipsis', '', 'Ellipsis …' ], - ['†', 134, '206', '\342\200\240', '†', nil, '†', '\textdagger', '', 'Dagger †' ], - ['‡', 135, '207', '\342\200\241', '‡', nil, '‡', '\textdaggerbl', '', 'Double dagger ‡' ], - ['^', 136, '210', '', 'ˆ', nil, '', '', '', 'Circumflex ^' ], - ['', 137, '211', '', '‰', nil, '', '', '', 'Permil ' ], - ['', 138, '212', '', 'Š', nil, '', '', '', 'Capital S, caron ' ], - ['<', 139, '213', '', '‹', nil, '', '', '', 'Less than sign (see &060;) <' ], - ['', 140, '214', '', 'Œ', nil, '', '', '', 'Capital OE ligature ' ], - ['', 141, '215', '', '', nil, '', '', '', ' ' ], - ['', 142, '216', '', 'Ž', nil, '', '', '', 'Capital Z, caron ' ], - ['', 143, '217', '', '', nil, '', '', '', ' ' ], - ['', 144, '220', '', '', nil, '', '', '', ' ' ], - ['', 145, '221', '', '‘', nil, '', '', '', 'Left single quote ' ], - ['', 146, '222', '', '’', nil, '', '', '', 'Right single quote ' ], - ['', 147, '223', '', '“', nil, '', '', '', 'Left double quote ' ], - ['', 148, '224', '', '”', nil, '', '', '', 'Right double quote ' ], - ['', 149, '225', '', '•', nil, '', '', '', 'Bullet ' ], - ['-', 150, '226', '', '–', nil, '', '', '', 'En dash -' ], - ['', 151, '227', '', '—', nil, '', '', '', 'Em dash -' ], - ['~', 152, '230', '', '˜', nil, '', '', '', 'Tilde (see &126;) ~' ], - ['t', 153, '231', '', '™', nil, '', '', '', 'Trademark t' ], - ['', 154, '232', '', 'š', nil, '', '', '', 'small s, caron ' ], - ['', 155, '233', '', '›', nil, '', '', '', 'Greater than sign (see &062;) ' ], - ['', 156, '234', '', 'œ', nil, '', '', '', 'Small oe ligature ' ], - ['', 157, '235', '', '', nil, '', '', '', ' ' ], - ['', 158, '236', '', 'ž', nil, '', '', '', 'Small z, caron ' ], - ['', 159, '237', '', 'Ÿ', nil, '', '', '', 'Capital Y, umlaut ' ], - ['', 160, '240', '', ' ', ' ', '', '', '', 'Non-breaking space ' ], - ['¡', 161, '241', '\302\241', '¡', '¡', '¡', '', '', 'Inverted exclamation ' ], - ['¢', 162, '242', '\302\242', '¢', '¢', '¢', '', '', 'Cent sign ¢' ], - ['£', 163, '243', '\302\243', '£', '£', '£', '\textsterling', '', 'Pound sign £' ], - ['¤', 164, '244', '\302\244', '¤', '¤', '¤', '\textcurrency', '', 'General currency sign ' ], - ['¥', 165, '245', '\302\245', '¥', '¥', '¥', '', '', 'Yen sign ¥' ], - ['¦', 166, '246', '\302\246', '¦', '¦', '¦', '', '', 'Broken vertical bar ' ], - ['§', 167, '247', '\302\247', '§', '§', '§', '\textsection', '', 'Section sign §' ], - ['¨', 168, '250', '\302\250', '¨', '¨', '¨', '\"', '', 'Umlaut ' ], - ['©', 169, '251', '\302\251', '©', '©', '©', '\copyright', '\textcopyright', 'Copyright ©' ], - ['ª', 170, '252', '\302\252', 'ª', 'ª', 'ª', '', '', 'Feminine ordinal ª' ], - ['«', 171, '253', '\302\253', '«', '«', '«', '', '', 'Left angle quote «' ], - ['¬', 172, '254', '\302\254', '¬', '¬', '¬', '', '', 'Not sign ' ], - ['', 173, '255', '\302\255', '­', '­', '', '', '', 'Soft hyphen ' ], - ['®', 174, '256', '\302\256', '®', '®', '®', '', '', 'Registered trademark ®' ], - ['¯', 175, '257', '\302\257', '¯', '¯', '¯', '', '', 'Macron accent ' ], - ['°', 176, '260', '\302\260', '°', '°', '°', '', '', 'Degree sign °' ], - ['±', 177, '261', '\302\261', '±', '&plusmin;', '±', '', '', 'Plus or minus ±' ], - ['²', 178, '262', '\302\262', '²', '²', '²', '', '', 'Superscript 2 ²' ], - ['³', 179, '263', '\302\263', '³', '³', '³', '', '', 'Superscript 3 ³' ], - ['', 180, '264', '\302\264', '´', '´', ''', '', '', 'Acute accent ' ], - ['µ', 181, '265', '\302\265', 'µ', 'µ', 'µ', '', '', 'Micro sign (Greek mu) µ' ], - ['¶', 182, '266', '\302\266', '¶', '¶', '¶', '\textparagraph', '', 'Paragraph sign ¶' ], - ['·', 183, '267', '\302\267', '·', '·', %q{·}, '', %q{}, 'Middle dot ' ], - ['¸', 184, '270', '\302\270', '¸', '¸', '¸', '', '', 'Cedilla ' ], - ['¹', 185, '271', '\302\271', '¹', '¹', '¹', '', '', 'Superscript 1 ¹' ], - ['º', 186, '272', '\302\272', 'º', 'º', 'º', '', '', 'Masculine ordinal º' ], - ['»', 187, '273', '\302\273', '»', '»', '»', '', '', 'Right angle quote ' ], - ['¼', 188, '274', '\302\274', '¼', '¼', '¼', '', '', 'Fraction one quarter ¼' ], - ['½', 189, '275', '\302\275', '½', '½', '½', '', '', 'Fraction on half ½' ], - ['¾', 190, '276', '\302\276', '¾', '¾', '¾', '', '', 'Fraction three quarters ¾' ], - ['¿', 191, '277', '\302\277', '¿', '¿', '¿', '', '', 'Inverted question mark ¿' ], - ['À', 192, '300', '\303\200', 'À', 'À', 'À', '\`{A}', '', 'Capital A, grave accent À' ], - ['Á', 193, '301', '\303\201', 'Á', 'Á', 'Á', %q{\'{A}}, '', 'Capital A, acute accent Á' ], - ['Â', 194, '302', '\303\202', 'Â', 'Â', 'Â', '^{A}', '', 'Capital A, circumflex accent Â' ], - ['Ã', 195, '303', '\303\203', 'Ã', 'Ã', 'Ã', '~{A}', '', 'Capital A, tilde Ã' ], - ['Ä', 196, '304', '\303\204', 'Ä', 'Ä', 'Ä', '"{A}', '', 'Capital A, umlaut Ä' ], - ['Å', 197, '305', '\303\205', 'Å', 'Å', 'Å', 'r{A}', '', 'Capital A, ring Å' ], - ['Æ', 198, '306', '\303\206', 'Æ', 'Æ', 'Æ', 'AE', '', 'Capital AE ligature Æ' ], - ['Ç', 199, '307', '\303\207', 'Ç', 'Ç', 'Ç', '', '', 'Capital C, cedilla Ç' ], - ['È', 200, '310', '\303\210', 'È', 'È', 'È', '`{E}', '', 'Capital E, grave accent È' ], - ['É', 201, '311', '\303\211', 'É', 'É', 'É', ''{E}', '', 'Capital E, acute accent É' ], - ['Ê', 202, '312', '\303\212', 'Ê', 'Ê', 'Ê', '^{E}', '', 'Capital E, circumflex accent Ê' ], - ['Ë', 203, '313', '\303\213', 'Ë', 'Ë', 'Ë', '"{E}', '', 'Capital E, umlaut Ë' ], - ['Ì', 204, '314', '\303\214', 'Ì', 'Ì', 'Ì', '`{I}', '', 'Capital I, grave accent Ì' ], - ['Í', 205, '315', '\303\215', 'Í', 'Í', 'Í', ''{I}', '', 'Capital I, acute accent Í' ], - ['Î', 206, '316', '\303\216', 'Î', 'Î', 'Î', '^{I}', '', 'Capital I, circumflex accent Î' ], - ['Ï', 207, '317', '\303\217', 'Ï', 'Ï', 'Ï', '"{I}', '', 'Capital I, umlaut Ï' ], - ['Ð', 208, '320', '\303\220', 'Ð', 'Ð', 'Ð', '', '', 'Capital eth, Icelandic ' ], - ['Ñ', 209, '321', '\303\221', 'Ñ', 'Ñ', 'Ñ', '', '', 'Capital N, tilde Ñ' ], - ['Ò', 210, '322', '\303\222', 'Ò', 'Ò', 'Ò', '`{O}', '', 'Capital O, grave accent Ò' ], - ['Ó', 211, '323', '\303\223', 'Ó', 'Ó', 'Ó', ''{O}', '', 'Capital O, acute accent Ó' ], - ['Ô', 212, '324', '\303\224', 'Ô', 'Ô', 'Ô', '^{O}', '', 'Capital O, circumflex accent Ô' ], - ['Õ', 213, '325', '\303\225', 'Õ', 'Õ', 'Õ', '~{O}', '', 'Capital O, tilde Õ' ], - ['Ö', 214, '326', '\303\226', 'Ö', 'Ö', 'Ö', '"{O}', '', 'Capital O, umlaut Ö' ], - ['×', 215, '327', '\303\227', '×', '×', '×', '', '', 'Multiply sign ×' ], - ['Ø', 216, '330', '\303\230', 'Ø', 'Ø', 'Ø', 'O', '', 'Capital O, slash Ø' ], - ['Ù', 217, '331', '\303\231', 'Ù', 'Ù', 'Ù', '', '', 'Capital U, grave accent Ù' ], - ['Ú', 218, '332', '\303\232', 'Ú', 'Ú', 'Ú', '', '', 'Capital U, acute accent Ú' ], - ['Û', 219, '333', '\303\233', 'Û', 'Û', 'Û', '', '', 'Capital U, circumflex accent Û' ], - ['Ü', 220, '334', '\303\234', 'Ü', 'Ü', 'Ü', '', '', 'Capital U, umlaut Ü' ], - ['Ý', 221, '335', '\303\235', 'Ý', 'Ý', 'Ý', '', '', 'Capital Y, acute accent Ý' ], - ['Þ', 222, '336', '\303\236', 'Þ', 'Þ', 'Þ', '', '', 'Capital thorn, Icelandic Þ' ], - ['ß', 223, '337', '\303\237', 'ß', 'ß', 'ß', '', '', 'Small sz ligature, German ß' ], - ['à', 224, '340', '\303\240', 'à', 'à', 'à', '\`{a}', '', 'Small a, grave accent à' ], - ['á', 225, '341', '\303\241', 'á', 'á', 'á', %q{\'{a}}, '', 'Small a, acute accent á' ], - ['â', 226, '342', '\303\242', 'â', 'â', 'â', '\^{a}', '', 'Small a, circumflex accent â' ], - ['ã', 227, '343', '\303\243', 'ã', 'ã', 'ã', '\~{a}', '', 'Small a, tilde ã' ], - ['ä', 228, '344', '\303\244', 'ä', 'ä', 'ä', '\"{a}', '', 'Small a, umlaut ä' ], - ['å', 229, '345', '\303\245', 'å', 'å', 'å', '\r{a}', '', 'Small a, ring å' ], - ['æ', 230, '346', '\303\246', 'æ', 'æ', 'æ', '\ae', '', 'Small ae ligature æ' ], - ['ç', 231, '347', '\303\257', 'ç', 'ç', 'ç', '', '', 'Small c, cedilla ç' ], - ['è', 232, '350', '\303\250', 'è', 'è', 'è', '\`{e}', '', 'Small e, grave accent è' ], - ['é', 233, '351', '\303\251', 'é', 'é', 'é', %q{\'{e}}, '', 'Small e, acute accent é' ], - ['ê', 234, '352', '\303\252', 'ê', 'ê', 'ê', '\^{e}', '', 'Small e, circumflex accent ê' ], - ['ë', 235, '353', '\303\253', 'ë', 'ë', 'ë', '\"{e}', '', 'Small e, umlaut ë' ], - ['ì', 236, '354', '\303\254', 'ì', 'ì', 'ì', '\`{i}', '', 'Small i, grave accent ì' ], - ['í', 237, '355', '\303\255', 'í', 'í', 'í', '\'{i}', '', 'Small i, acute accent í' ], - ['î', 238, '356', '\303\256', 'î', 'î', 'î', '\^{i}', '', 'Small i, circumflex accent î' ], - ['ï', 239, '357', '\303\257', 'ï', 'ï', 'ï', '\"{i}', '', 'Small i, umlaut ï' ], - ['ð', 240, '360', '\303\260', 'ð', 'ð', 'ð', '', '', 'Small eth, Icelandic ð' ], - ['ñ', 241, '361', '\303\261', 'ñ', 'ñ', 'ñ', '', '', 'Small n, tilde ñ' ], - ['ò', 242, '362', '\303\262', 'ò', 'ò', 'ò', '\`{o}', '', 'Small o, grave accent ò' ], - ['ó', 243, '363', '\303\263', 'ó', 'ó', 'ó', %q{\'{o}}, '', 'Small o, acute accent ó' ], - ['ô', 244, '364', '\303\264', 'ô', 'ô', 'ô', '\^{o}', '', 'Small o, circumflex accent ô' ], - ['õ', 245, '365', '\303\265', 'õ', 'õ', 'õ', '\^{o}', '', 'Small o, tilde õ' ], - ['ö', 246, '366', '\303\266', 'ö', 'ö', 'ö', '\"{o}', '', 'Small o, umlaut ö' ], - ['÷', 247, '367', '\303\267', '÷', '÷', '÷', '', '', 'Divide sign ÷' ], - ['ø', 248, '370', '\303\270', 'ø', 'ø', 'ø', '', '', 'Small o, slash ø' ], - ['ù', 249, '371', '\303\271', 'ù', 'ù', 'ù', '\`{u}', '', 'Small u, grave accent ù' ], - ['ú', 250, '372', '\303\272', 'ú', 'ú', 'ú', %q{\'{u}}, '', 'Small u, acute accent ú' ], - ['û', 251, '373', '\303\273', 'û', 'û', 'û', '\^{u}', '', 'Small u, circumflex accent û' ], - ['ü', 252, '374', '\303\274', 'ü', 'ü', 'ü', '\"{u}', '', 'Small u, umlaut ü' ], - ['ý', 253, '375', '\303\275', 'ý', 'ý', 'ý', '', '', 'Small y, acute accent ý' ], - ['þ', 254, '376', '\303\276', 'þ', 'þ', 'þ', '', '', 'Small thorn, Icelandic þ' ], - ['ÿ', 255, '377', '\303\277', 'ÿ', 'ÿ', 'ÿ', '', '', 'Smally y, umlaut ÿ' ], - ['∝', , '', '', '∝', '∝', '∝', '', '', 'proportional to U+221D (8733) ∝' ], - ['∞', , '', '', '∞', '∞', '∞', '', '', 'infinity U+221E (8734) ∞' ], -] - end - end -end -__END__ diff --git a/lib/sisu/v3/composite.rb b/lib/sisu/v3/composite.rb index 90ec28dc..d73b0c73 100644 --- a/lib/sisu/v3/composite.rb +++ b/lib/sisu/v3/composite.rb @@ -160,8 +160,8 @@ module SiSU_Assemble file[:prepared] << "\n% |#{fni}|@|^|>>ok\n" @code_flag=false insert_array.each do |i| - @code_flag=if i =~/^code\{/; true - elsif i =~/^\}code/; false + @code_flag=if i =~/^code\{/ then true + elsif i =~/^\}code/ then false else @code_flag end if not @code_flag \ diff --git a/lib/sisu/v3/concordance.rb b/lib/sisu/v3/concordance.rb index 2a3b585a..84245643 100644 --- a/lib/sisu/v3/concordance.rb +++ b/lib/sisu/v3/concordance.rb @@ -118,7 +118,7 @@ module SiSU_Concordance @fnb=@md.fnb @lex_button=%{<a href="http://www.jus.uio.no/sisu/" target="_top"><img border="0" height="44" width="144" valign="center" src="#{@file.path_rel_links.html_seg_2}_sisu/image/sisu.png" alt="SiSU home -->"></a>} @doc_details =<<WOK -<table summary="links to text related to this rudimentary index" width="96%" border="0" bgcolor="white" cellpadding="0" align="center"><tr><td width="2%" align="right"> </td><td width="94%" valign="top" align="justify"><h1 class="small"><a href="#{@md.file.base_filename.html_segtoc}" #{@vz.js_toc}><b>#{@md.title.full}</b></a></h1><p class="bold">#{@md.author}</p></td></tr></table> +<table summary="links to text related to this rudimentary index" width="96%" border="0" bgcolor="white" cellpadding="0" align="center"><tr><td width="2%" align="right"> </td><td width="94%" valign="top" align="justify"><h1 class="small"><a href="#{@md.file.base_filename.html_segtoc}"><b>#{@md.title.full}</b></a></h1><p class="bold">#{@md.author}</p></td></tr></table> WOK end def create @@ -134,7 +134,7 @@ WOK div_class='content0' end top_band=if make.build.html_top_band? - head_banner.concordance_navigation_band('pdf') + head_banner.concordance_navigation_band else '' end <<WOK @@ -151,10 +151,8 @@ WOK <link rel="generator" href="http://www.jus.uio.no/sisu" /> <link rel="shortcut icon" href="../_sisu/image/rb7.ico" /> #{stylesheet.css_head_seg} - #{@vz.js_head} </head> <body> - #{@vz.js_top} #{top_band} #{toc} <div class="#{div_class}"> diff --git a/lib/sisu/v3/constants.rb b/lib/sisu/v3/constants.rb index 2921b670..b38e3313 100644 --- a/lib/sisu/v3/constants.rb +++ b/lib/sisu/v3/constants.rb @@ -57,6 +57,7 @@ =end #Ax,Xx,Mx,Rx,Hx,Dx,Px,Ep,Db,Gt,Tex=Array.new(11){{}} +YEAR='2012' Sfx={ txt: '.txt', html: '.html', xhtml: '.xhtml', xml: '.xml', epub: '.epub', epub_xhtml: '.xhtml', odt: '.odt', pdf: '.pdf'} Ax={ tab: "\t", @@ -97,8 +98,8 @@ Mx={ br_nl: '╲', #lB ▌ 』 ┘ br_paragraph: '█', #FB █ 9608 # PP ∥ 8741 #▐ #'┘' #'¶' #FB █ 9608 lB ▌ 9612 RB ▐ 9616 br_obj: 'break_obj', - br_page: 'break_page', - br_page_new: 'break_page_new', + br_page: '┼', + br_page_new: '╋', lnk_o: '⌠', lnk_c: '⌡', #'⌈' '⌋' '⌠' '⌡' #Mx[:lnk_o: '◁'; Mx[:lnk_c: '▷' #‹ › url_o: '「', url_c: '」', rel_o: '⌈', rel_c: '⌋', @@ -202,25 +203,25 @@ Ep={ f_opf: 'content.opf', } Db={ - name_prefix: "SiSU#{SiSU_version_dir}e_", - name_prefix_db: "sisu_#{SiSU_version_dir}e_", - 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_classify_txt_long: 600, - col_classify_txt_short: 600, - col_classify_short: 200, - col_classify_identify: 256, - col_classify_library: 30, - col_classify_small: 16, - col_filename: 256, - col_digest: 64, - col_filesize: 10, + name_prefix: "SiSU#{SiSU_version_dir}f_", + name_prefix_db: "sisu_#{SiSU_version_dir}f_", + 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_classify_txt_long: 600, + col_classify_txt_short: 600, + col_classify_short: 200, + col_classify_identify: 256, + col_classify_library: 30, + col_classify_small: 16, + col_filename: 256, + col_digest: 64, + col_filesize: 10, col_info_note: 2500, } Gt={ diff --git a/lib/sisu/v3/dal.rb b/lib/sisu/v3/dal.rb index 6c7fef79..0e816091 100644 --- a/lib/sisu/v3/dal.rb +++ b/lib/sisu/v3/dal.rb @@ -100,7 +100,7 @@ module SiSU_DAL @fnm=@make_fns.marshal.dal_metadata @fnc=@make_fns.marshal.dal_content @idx_sst=@make_fns.marshal.dal_idx_sst_rel_html_seg - @idx_tex=@make_fns.marshal.dal_idx_sst_rel + @idx_raw=@make_fns.marshal.dal_idx_sst_rel @idx_html=@make_fns.marshal.dal_idx_html @idx_xhtml=@make_fns.marshal.dal_idx_xhtml @map_nametags=@make_fns.marshal.dal_map_nametags @@ -163,7 +163,7 @@ module SiSU_DAL SiSU_DAL::Instantiate.new end end - def get_idx_tex #reads dal idx.tex, #unless does not exist then creates first + def get_idx_raw begin dal=[] unless @@fns==@opt.fns \ @@ -173,7 +173,7 @@ module SiSU_DAL : @opt.fns @@idx_arr[:tex]=[] end - dal=(@@idx_arr[:tex].empty?) ? read_idx_tex : @@idx_arr[:tex].dup #check + dal=(@@idx_arr[:tex].empty?) ? read_idx_raw : @@idx_arr[:tex].dup #check rescue SiSU_Errors::InfoError.new($!,$@,@opt.cmd,@opt.fns).error do __LINE__.to_s + ':' + __FILE__ @@ -273,13 +273,7 @@ module SiSU_DAL if @opt.fno =~/\.txz$/ Dir.chdir(@opt.f_pth[:pth]) end - file_array=@env.read_source_file(fn) - file_array.each do |l| - if l =~/\r\n/; l.gsub!(/\r\n/,"\n") - end - end - meta=file_array.dup - meta=meta.join.split("\n\n") #check whether can be eliminated, some of these are large objects to have twice + meta=file_array=@env.source_file_processing_array(fn) @md=SiSU_Param::Parameters::Instructions.new(meta,@opt).extract meta=nil dal=SiSU_DAL::Make.new(fn,@md,file_array).song @@ -294,72 +288,56 @@ module SiSU_DAL def read_fnm dal=[] dal=if FileTest.file?(@fnm) - (RUBY_VERSION < '1.9') \ - ? (File.open(@fnm){ |f| dal=Marshal.load(f)}) - : (File.open(@fnm,'r:utf-8'){ |f| dal=Marshal.load(f)}) + File.open(@fnm,'r:utf-8'){ |f| dal=Marshal.load(f)} else SiSU_DAL::Source.new(@opt).create_dal end end def read_fnc dal=[] dal=if FileTest.file?(@fnc) - (RUBY_VERSION < '1.9') \ - ? (File.open(@fnc){ |f| dal=Marshal.load(f)}) - : (File.open(@fnc,'r:utf-8'){ |f| dal=Marshal.load(f)}) + File.open(@fnc,'r:utf-8'){ |f| dal=Marshal.load(f)} else SiSU_DAL::Source.new(@opt).create_dal end end def read_idx_sst m=[] m=if FileTest.file?(@idx_sst) - (RUBY_VERSION < '1.9') \ - ? (File.open(@idx_sst){ |f| m=Marshal.load(f)}) - : (File.open(@idx_sst,'r:utf-8'){ |f| m=Marshal.load(f)}) + File.open(@idx_sst,'r:utf-8'){ |f| m=Marshal.load(f)} else nil end end - def read_idx_tex + def read_idx_raw m=[] - m=if FileTest.file?(@idx_tex) - (RUBY_VERSION < '1.9') \ - ? (File.open(@idx_tex){ |f| m=Marshal.load(f)}) - : (File.open(@idx_tex,'r:utf-8'){ |f| m=Marshal.load(f)}) + m=if FileTest.file?(@idx_raw) + File.open(@idx_raw,'r:utf-8'){ |f| m=Marshal.load(f)} else nil end end def read_idx_html m=[] m=if FileTest.file?(@idx_html) - (RUBY_VERSION < '1.9') \ - ? (File.open(@idx_html){ |f| m=Marshal.load(f)}) - : (File.open(@idx_html,'r:utf-8'){ |f| m=Marshal.load(f)}) + File.open(@idx_html,'r:utf-8'){ |f| m=Marshal.load(f)} else nil end end def read_idx_xhtml m=[] m=if FileTest.file?(@idx_xhtml) - (RUBY_VERSION < '1.9') \ - ? (File.open(@idx_xhtml){ |f| m=Marshal.load(f)}) - : (File.open(@idx_xhtml,'r:utf-8'){ |f| m=Marshal.load(f)}) + File.open(@idx_xhtml,'r:utf-8'){ |f| m=Marshal.load(f)} else nil end end def read_map_nametags m=[] m=if FileTest.file?(@map_nametags) - (RUBY_VERSION < '1.9') \ - ? (File.open(@map_nametags){ |f| m=Marshal.load(f)}) - : (File.open(@map_nametags,'r:utf-8'){ |f| m=Marshal.load(f)}) + File.open(@map_nametags,'r:utf-8'){ |f| m=Marshal.load(f)} else nil end end def read_map_ocn_htmlseg m=[] m=if FileTest.file?(@map_ocn_htmlseg) - (RUBY_VERSION < '1.9') \ - ? (File.open(@map_ocn_htmlseg){ |f| m=Marshal.load(f)}) - : (File.open(@map_ocn_htmlseg,'r:utf-8'){ |f| m=Marshal.load(f)}) + File.open(@map_ocn_htmlseg,'r:utf-8'){ |f| m=Marshal.load(f)} else nil end end @@ -445,18 +423,18 @@ module SiSU_DAL end def make_marshal_content marshal_dal=@make.marshal.dal_content - File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.class==Array + File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.is_a?(Array) end def make_marshal_metadata marshal_dal=@make.marshal.dal_metadata - File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.class==Array + File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.is_a?(Array) end def idx_html_hard_output if @md.book_idx \ and @md.opt.cmd =~/M/ filename_meta=@cf.file_meta_idx_html - unless @data.nil? #REMOVE earliest possible - @data.each {|s| p s.inspect + "\n" unless s.class==String} + 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 @@ -466,27 +444,27 @@ module SiSU_DAL end def make_marshal_idx_sst_html_seg marshal_dal=@make.marshal.dal_idx_sst_rel_html_seg - File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.class==Array + File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.is_a?(Array) end def make_marshal_idx_sst_rel marshal_dal=@make.marshal.dal_idx_sst_rel - File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.class==Array + File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.is_a?(Array) end def make_marshal_idx_html marshal_dal=@make.marshal.dal_idx_html - File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.class==Array + File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.is_a?(Array) end def make_marshal_idx_xhtml marshal_dal=@make.marshal.dal_idx_xhtml - File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.class==Array + File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.is_a?(Array) end def make_marshal_map_nametags marshal_dal=@make.marshal.dal_map_nametags - File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.class==Hash + File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.is_a?(Hash) end def make_marshal_map_name_ocn_htmlseg marshal_dal=@make.marshal.dal_map_ocn_htmlseg - File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.class==Hash + File.open(marshal_dal,'w'){|f| Marshal.dump(@data,f)} if @data.is_a?(Hash) end end class Make @@ -501,7 +479,6 @@ module SiSU_DAL def song reset data=@data - data=data.join.split("\n\n") data=SiSU_DAL_Insertions::Insertions.new(@md,data).expand_insertions? # dal_expand_insertions.rb data=SiSU_DAL_SubstituteAndInsert::SI.new(@md,data).substitutions_and_insertions? # dal_substitutions_and_insertions.rb data,metadata=SiSU_DAL_DocumentStructureExtract::Build.new(@md,data).identify_parts # dal_doc_str.rb diff --git a/lib/sisu/v3/dal_character_check.rb b/lib/sisu/v3/dal_character_check.rb index fdba5086..f20d4106 100644 --- a/lib/sisu/v3/dal_character_check.rb +++ b/lib/sisu/v3/dal_character_check.rb @@ -78,8 +78,6 @@ module SiSU_DAL_CharacterCheck gsub(/<br>/,"#{Mx[:br_line]}"). #needed by xml, xhtml etc. gsub(/\t/,' '). gsub(/\342\200\231/u,"'"). #if dob =~/’/ #Avoid #‘ ’ #“ ” - gsub(/�/u,' '). #watch, replace with char code - gsub(/·/u,'*'). gsub(/\\copy(?:right)?\b/,'©'). gsub(/\\trademark\b|\\tm\b/,'®') dob.obj=dob.obj + "\n" @@ -87,13 +85,15 @@ module SiSU_DAL_CharacterCheck 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_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 - @tuned_file << dob unless dob.nil? + @tuned_file << dob if dob.is_a?(Object) end @tuned_file=@tuned_file.flatten.compact [@tuned_file,@endnote_array] diff --git a/lib/sisu/v3/dal_doc_objects.rb b/lib/sisu/v3/dal_doc_objects.rb index dd2c9cf0..f77348ec 100644 --- a/lib/sisu/v3/dal_doc_objects.rb +++ b/lib/sisu/v3/dal_doc_objects.rb @@ -71,7 +71,7 @@ module SiSU_DAL_DocumentStructure def metadata(tags) of= @of #String, classification - group is= :meta #String, classification - specific type - tags= tags || ((defined? o.tags) ? o.tags : {}) #String, metadata type/tag + tags= tags || ((defined? o.tags) ? o.tags : {}) #String, metadata type/tag obj= nil @of,@is,@tags,@obj=of,is,tags,obj self @@ -86,10 +86,10 @@ module SiSU_DAL_DocumentStructure def metadata(h,o=nil) of= @of #String, classification - group is= :meta #String, 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, either sha256 or md5 + 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, either sha256 or md5 @of,@is,@tag,@obj,@digest,@tmp=of,is,tag,obj,digest,tmp self end @@ -135,27 +135,27 @@ module SiSU_DAL_DocumentStructure end of= @of #String, classification - group is= :heading #String, 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-C then 1-6 - ln= h[:ln] || ((defined? o.ln) ? o.ln : nil) #Integer, document structure level, for convenience in processing 1-9 - toc_= h[:toc_] || ((defined? o.toc_) ? o.toc_ : false) #Bool, do not include in toc, (relevant to headings) - ocn_=if h[:ocn_].nil?; ((defined? o.ocn_) ? o.ocn_ : true) #Bool? no ocn, non-substantive content, do not include in toc #consider + 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-C then 1-6 + ln= h[:ln] || ((defined? o.ln) ? o.ln : nil) #Integer, document structure level, for convenience in processing 1-9 + toc_= h[:toc_] || ((defined? o.toc_) ? o.toc_ : false) #Bool, do not include in toc, (relevant to headings) + ocn_=if h[:ocn_].nil? then ((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 + autonum_= if h[:autonum_].nil? then ((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, either sha256 or md5 - tmp= h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + 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, either sha256 or md5 + tmp= h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use @of,@is,@lv,@ln,@name,@tags,@obj,@idx,@ocn,@odv,@osp,@node,@parent,@toc_,@ocn_,@note_,@autonum_,@digest,@tmp=of,is,lv,ln,name,tags,obj,idx,ocn,odv,osp,node,parent,toc_,ocn_,note_,autonum_,digest,tmp self end @@ -175,48 +175,48 @@ module SiSU_DAL_DocumentStructure def paragraph(h,o=nil) of= @of #String, classification - group is= :para #String, 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] + 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? - 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 + 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? + 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? then ((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, either sha256 or md5 - 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, either 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 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 + 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] + 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 + 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 + image_= h[:image_] || ((defined? o.image_) ? o.image_ : false) #Bool, images? (processing optimization) + ocn_=if h[:ocn_].nil? then ((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, either sha256 or md5 - 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, either 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 @@ -231,95 +231,95 @@ module SiSU_DAL_DocumentStructure def code(h,o=nil) of= @of #String, classification - group #alt 'code' is= :code #String, 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] - 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 + 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] + 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? then ((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, either sha256 or md5 - 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, either 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,@number_,@note_,@ocn_,@digest,@tmp=of,is,tags,obj,idx,ocn,odv,osp,parent,number_,note_,ocn_,digest,tmp self end def block(h,o=nil) of= @of #String, classification - group is= :block #String, 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 + 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? then ((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, either sha256 or md5 - 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, either 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_,@digest,@tmp=of,is,tags,obj,idx,ocn,odv,osp,parent,note_,ocn_,digest,tmp self end def group(h,o=nil) of= @of #String, classification - group is= :group #String, 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 + 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? then ((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, either sha256 or md5 - 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, either 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_,@digest,@tmp=of,is,tags,obj,idx,ocn,odv,osp,parent,note_,ocn_,digest,tmp self end def alt(h,o=nil) #see block of= @of #String, classification - group is= :alt #String, 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 + 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? then ((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, either sha256 or md5 - 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, either 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_,@digest,@tmp=of,is,tags,obj,idx,ocn,odv,osp,parent,note_,ocn_,digest,tmp self end def verse(h,o=nil) #part of poem decide how you deal with this of= @of #String, classification - group is= :verse #String, 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 + 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? then ((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, either sha256 or md5 - 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, either 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_,@digest,@tmp=of,is,tags,obj,idx,ocn,odv,osp,parent,note_,ocn_,digest,tmp @h=nil self @@ -335,22 +335,22 @@ module SiSU_DAL_DocumentStructure def table(h,o=nil) of= @of #String, classification - group is= :table #String, 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 + 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? then ((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, either sha256 or md5 - 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, either 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_,@digest,@tmp=of,is,tags,cols,widths,obj,idx,ocn,odv,osp,parent,head_,note_,ocn_,digest,tmp self end @@ -365,20 +365,20 @@ module SiSU_DAL_DocumentStructure def image(h,o=nil) #not yet used, and what of a paragraph containing several images, consider of= @of #String, classification - group is= :image #String, 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 + 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? then ((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, either sha256 or md5 - 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, either 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 @@ -392,12 +392,12 @@ module SiSU_DAL_DocumentStructure def xml_dom(h,o=nil) of= @of #String, classification - group is= :xml_dom #String, 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-C then 1-6 - ln= h[:ln] || ((defined? o.ln) ? o.ln : nil) #Integer, document structure level, for convenience in processing 1-9 - 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 open or close - tmp= h[:tmp] || ((defined? o.tmp) ? o.tmp : nil) #available for processing, empty after use + 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-C then 1-6 + ln= h[:ln] || ((defined? o.ln) ? o.ln : nil) #Integer, document structure level, for convenience in processing 1-9 + 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 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,@tmp=of,is,obj,status,node,lv,ln,tmp self end @@ -411,8 +411,8 @@ module SiSU_DAL_DocumentStructure def comment(h,o=nil) of= @of #String, classification - group is= :comment #String, 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 + 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 @@ -426,16 +426,16 @@ module SiSU_DAL_DocumentStructure def break(h,o=nil) #decide how to deal with, perhaps no obj? of= @of #String, classification - group is= :break #String, 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 + 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 insert(h,o=nil) #decide how to deal with, could mimic paragraph? of= @of #String, classification - group is= :insert #String, 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 + 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 diff --git a/lib/sisu/v3/dal_doc_str.rb b/lib/sisu/v3/dal_doc_str.rb index ab5f9199..012e7a33 100644 --- a/lib/sisu/v3/dal_doc_str.rb +++ b/lib/sisu/v3/dal_doc_str.rb @@ -233,11 +233,11 @@ module SiSU_DAL_DocumentStructureExtract end else nil end - when /^[<\[](?:br)?:(?:pa?r|o(?:bj|---)?)[>\]]\s*$/ #[br:par] #[br:obj] + when /^<(?:br)?:(?:pa?r|o(?:bj|---)?)>\s*$/ #[br:par] #[br:obj] SiSU_DAL_DocumentStructure::ObjectLayout.new.break(Hx[:br_obj]) - when /^(?:[<\[](?:br)?:pg[>\]]|<?:pb>?)\s*$/ #[br:pg] + when /^(?:-\\\\-|<:pb>)\s*$/ #[br:pg] SiSU_DAL_DocumentStructure::ObjectLayout.new.break(Hx[:br_page]) - when /^[<\[](?:br)?:pg?n[>\]]\s*$/ #[br:pgn] + when /^(?:=\\\\=|<:pn>)\s*$/ #[br:pgn] SiSU_DAL_DocumentStructure::ObjectLayout.new.break(Hx[:br_page_new]) else #paragraph image=image_test(t_o) @@ -363,8 +363,8 @@ module SiSU_DAL_DocumentStructureExtract t_o=SiSU_DAL_DocumentStructure::ObjectComment.new.comment(h) #t_o=SiSU_DAL_DocumentStructure::ObjectLayout.new.insert(h) t_o else - if t_o !~/^table\{/ \ - and not t_o.nil? + if t_o.is_a?(String) \ + and t_o !~/^table\{/ t_o=t_o.gsub(/^\n+/m,''). #check added for ruby 1.9.2 not needed in 1.8 series (tested in v2) gsub(/\n+/m,"#{Mx[:tc_p]}") @rows += t_o + Mx[:tc_c] @@ -385,8 +385,7 @@ module SiSU_DAL_DocumentStructureExtract t_o=SiSU_DAL_DocumentStructure::ObjectComment.new.comment(h) #t_o=SiSU_DAL_DocumentStructure::ObjectLayout.new.insert(h) end if @@flag['code'] \ - and t_o.class==String \ - and not t_o.nil? #you may need to introduce t_o.class==String test more widely + and t_o.is_a?(String) sub_array=t_o.dup + "#{Mx[:br_nl]}" @line_mode=sub_array.scan(/.+/) @line_mode=[] @@ -461,7 +460,7 @@ module SiSU_DAL_DocumentStructureExtract if @@flag['poem'] \ or @@flag['group'] \ or @@flag['alt'] - if t_o.class==String + 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}") @@ -527,7 +526,7 @@ module SiSU_DAL_DocumentStructureExtract lines.each do |line| line=if line =~/\S/ \ and line !~/^code\{|^\}code/ \ - and line.class != Hash + and not line.is_a?(Hash) @@counter+=1 if @@flag['code'] line=line.gsub(/\s\s/,"#{Mx[:nbsp]*2}"). gsub(/#{Mx[:nbsp]}\s/,"#{Mx[:nbsp]*2}") @@ -858,10 +857,9 @@ module SiSU_DAL_DocumentStructureExtract tuned_file=tuned_file.flatten end def tags(o) - tag=if o[:status]=='open' - %{<#{o[:lv]} id="#{o[:node]}">} - else "</#{o[:lv]}>" - end + tag=(o[:status]=='open') \ + ? %{<#{o[:lv]} id="#{o[:node]}">} + : "</#{o[:lv]}>" ln=case o[:lv] when 'A'; 1 when 'B'; 2 diff --git a/lib/sisu/v3/dal_expand_insertions.rb b/lib/sisu/v3/dal_expand_insertions.rb index 5903d242..2ec4945f 100644 --- a/lib/sisu/v3/dal_expand_insertions.rb +++ b/lib/sisu/v3/dal_expand_insertions.rb @@ -72,33 +72,33 @@ module SiSU_DAL_Insertions end file_type_names={} file_type_names[:gen],file_type_names[:src]=[],[] - file_type_names[:gen] <<= if cmd_list =~ /y/; "~^ { document manifest }#{lnk[:manifest]}" + file_type_names[:gen] <<= if cmd_list =~ /y/ then "~^ { document manifest }#{lnk[:manifest]}" end - file_type_names[:gen] <<= if cmd_list =~ /h/; [" { html, segmented text }#{lnk[:html_toc]}"," { html, scroll, document in one }#{lnk[:html_doc]}"] + file_type_names[:gen] <<= if cmd_list =~ /h/ then [" { html, segmented text }#{lnk[:html_toc]}"," { html, scroll, document in one }#{lnk[:html_doc]}"] end - file_type_names[:gen] <<= if cmd_list =~ /e/; [" { epub }#{lnk[:epub]}"] + file_type_names[:gen] <<= if cmd_list =~ /e/ then [" { epub }#{lnk[:epub]}"] end - file_type_names[:gen] <<= if cmd_list =~ /p/; [" { pdf, landscape }#{lnk[:pdf_landscape]}"," { pdf, portrait }#{lnk[:pdf_portrait]}"] + file_type_names[:gen] <<= if cmd_list =~ /p/ then [" { pdf, landscape }#{lnk[:pdf_landscape]}"," { pdf, portrait }#{lnk[:pdf_portrait]}"] end - file_type_names[:gen] <<= if cmd_list =~ /o/; " { odf:odt, open document text }#{lnk[:odt]}" + file_type_names[:gen] <<= if cmd_list =~ /o/ then " { odf:odt, open document text }#{lnk[:odt]}" end - file_type_names[:gen] <<= if cmd_list =~ /b/; " { xhtml scroll }#{lnk[:xhtml]}" + file_type_names[:gen] <<= if cmd_list =~ /b/ then " { xhtml scroll }#{lnk[:xhtml]}" end - file_type_names[:gen] <<= if cmd_list =~ /x/; " { xml, sax }#{lnk[:xml_sax]}" + file_type_names[:gen] <<= if cmd_list =~ /x/ then " { xml, sax }#{lnk[:xml_sax]}" end - file_type_names[:gen] <<= if cmd_list =~ /X/; " { xml, dom }#{lnk[:xml_dom]}" + file_type_names[:gen] <<= if cmd_list =~ /X/ then " { xml, dom }#{lnk[:xml_dom]}" end - file_type_names[:gen] <<= if cmd_list =~ /a/; " { plain text utf-8 }#{lnk[:txt]}" + file_type_names[:gen] <<= if cmd_list =~ /a/ then " { plain text utf-8 }#{lnk[:txt]}" end - file_type_names[:gen] <<= if cmd_list =~ /g/; 'wiki.txt' + file_type_names[:gen] <<= if cmd_list =~ /g/ then 'wiki.txt' end - file_type_names[:gen] <<= if cmd_list =~ /w/; " { concordance }#{lnk[:html_concordance]}" + file_type_names[:gen] <<= if cmd_list =~ /w/ then " { concordance }#{lnk[:html_concordance]}" end - file_type_names[:gen] <<= if cmd_list =~ /N/; " { dcc, document content certificate (digests) }#{lnk[:digest]}" + file_type_names[:gen] <<= if cmd_list =~ /N/ then " { dcc, document content certificate (digests) }#{lnk[:digest]}" end - file_type_names[:src] <<= if source and cmd_shortcut =~ /s/; " { markup source text }#{lnk[:source]}" + file_type_names[:src] <<= if source and cmd_shortcut =~ /s/ then " { markup source text }#{lnk[:source]}" end - file_type_names[:src] <<= if cmd_shortcut =~ /S/; " { markup source (zipped) pod }#{lnk[:sisupod]}" + file_type_names[:src] <<= if cmd_shortcut =~ /S/ then " { 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 diff --git a/lib/sisu/v3/dal_hash_digest.rb b/lib/sisu/v3/dal_hash_digest.rb index c30048db..8718c461 100644 --- a/lib/sisu/v3/dal_hash_digest.rb +++ b/lib/sisu/v3/dal_hash_digest.rb @@ -72,13 +72,13 @@ module SiSU_DAL_Hash sha_ =(@env.digest.type=='sha256' ? true : false) sha_ ? (require 'digest/sha2') : (require 'digest/md5') data.each do |t_o| - unless t_o.obj.class==Array + 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.class==Fixnum + && t_o.ocn.is_a?(Fixnum) if sha_ for hash_class in [ Digest::SHA256 ] @tuned_file << stamped(t_o,hash_class) diff --git a/lib/sisu/v3/dal_idx.rb b/lib/sisu/v3/dal_idx.rb index 63735bde..db4ba9c1 100644 --- a/lib/sisu/v3/dal_idx.rb +++ b/lib/sisu/v3/dal_idx.rb @@ -79,7 +79,11 @@ module SiSU_DAL_BookIndex && dob.ln==4 @seg=dob.name end - idx_array << "#{dob.idx}~#{dob.ocn}~#{@seg}" if defined? dob.idx and not (dob.idx.nil? or dob.idx.empty?) + if defined? dob.idx \ + and dob.idx.is_a?(String) \ + and not dob.idx.empty? + idx_array << "#{dob.idx}~#{dob.ocn}~#{@seg}" + end tuned_file << dob if dob end idx_array=construct_idx_array(idx_array) if idx_array.length > 0 @@ -113,35 +117,42 @@ module SiSU_DAL_BookIndex def construct_book_index(idx_array) the_idx={} idx_array.each do |idx| - idx_lst=idx[:rough_idx].scan(/[^|:]+/) - idx_lst[0]=idx_lst[0].strip - if idx_lst[0] =~/.+?\+\d+/ - use,plus=/(.+?)\+(\d+)/.match(idx_lst[0])[1,2] - else use=idx_lst[0] - end - use=use[0].chr.capitalize + use[1,use.length] - the_idx[use]={} unless the_idx[use] and defined? the_idx[use] - idx_lst.each do |i| - i=i.strip - i,r=/(.+?)\+(\d+)/.match(i)[1,2] if i =~/.+?\+\d+/ - x=if idx_lst.length==1 or idx_lst[0].gsub(/\+\d+/,'')==i - the_idx[use]['term_node_lev1']=[] unless the_idx[use]['term_node_lev1'] and defined? the_idx[use]['term_node_lev1'] - x=if r - the_idx[use]['term_node_lev1'] << { ocn: idx[:ocn], range: "#{idx[:ocn]}-#{idx[:ocn].to_i+r.to_i}", seg: idx[:seg] } - "#{i} #{idx[:ocn]}-#{idx[:ocn].to_i+r.to_i}" - else - the_idx[use]['term_node_lev1'] << { ocn: idx[:ocn], seg: idx[:seg] } - "#{i} #{idx[:ocn]}" - end - else - the_idx[use]['term_node_lev2']={} unless the_idx[use]['term_node_lev2'] and defined? the_idx[use]['term_node_lev2'] - the_idx[use]['term_node_lev2'][i]=[] unless the_idx[use]['term_node_lev2'][i] and defined? the_idx[use]['term_node_lev2'][i] - x=if r - the_idx[use]['term_node_lev2'][i] << { ocn: idx[:ocn], range: "#{idx[:ocn]}-#{idx[:ocn].to_i+r.to_i}", seg: idx[:seg] } - "#{idx_lst[0]}:#{i} #{idx[:ocn]}-#{idx[:ocn].to_i+r.to_i}" + if idx[:rough_idx] =~/[|]/ \ + && idx[:rough_idx] !~/[:]/ + if @md.opt.cmd =~/[MVv]/ + p 'book index error? --> ' + idx[:rough_idx] + end + else + idx_lst=idx[:rough_idx].scan(/[^|:]+/) + idx_lst[0]=idx_lst[0].strip + if idx_lst[0] =~/.+?\+\d+/ + use,plus=/(.+?)\+(\d+)/.match(idx_lst[0])[1,2] + else use=idx_lst[0] + end + use=use[0].chr.capitalize + use[1,use.length] + the_idx[use]={} unless the_idx[use] and defined? the_idx[use] + idx_lst.each do |i| + i=i.strip + i,r=/(.+?)\+(\d+)/.match(i)[1,2] if i =~/.+?\+\d+/ + x=if idx_lst.length==1 or idx_lst[0].gsub(/\+\d+/,'')==i + the_idx[use]['term_node_lev1']=[] unless the_idx[use]['term_node_lev1'] and defined? the_idx[use]['term_node_lev1'] + x=if r + the_idx[use]['term_node_lev1'] << { ocn: idx[:ocn], range: "#{idx[:ocn]}-#{idx[:ocn].to_i+r.to_i}", seg: idx[:seg] } + "#{i} #{idx[:ocn]}-#{idx[:ocn].to_i+r.to_i}" + else + the_idx[use]['term_node_lev1'] << { ocn: idx[:ocn], seg: idx[:seg] } + "#{i} #{idx[:ocn]}" + end else - the_idx[use]['term_node_lev2'][i] << { ocn: idx[:ocn], seg: idx[:seg] } - "#{idx_lst[0]}:#{i} #{idx[:ocn]}" + the_idx[use]['term_node_lev2']={} unless the_idx[use]['term_node_lev2'] and defined? the_idx[use]['term_node_lev2'] + the_idx[use]['term_node_lev2'][i]=[] unless the_idx[use]['term_node_lev2'][i] and defined? the_idx[use]['term_node_lev2'][i] + x=if r + the_idx[use]['term_node_lev2'][i] << { ocn: idx[:ocn], range: "#{idx[:ocn]}-#{idx[:ocn].to_i+r.to_i}", seg: idx[:seg] } + "#{idx_lst[0]}:#{i} #{idx[:ocn]}-#{idx[:ocn].to_i+r.to_i}" + else + the_idx[use]['term_node_lev2'][i] << { ocn: idx[:ocn], seg: idx[:seg] } + "#{idx_lst[0]}:#{i} #{idx[:ocn]}" + end end end end @@ -193,7 +204,7 @@ module SiSU_DAL_BookIndex idx[:xhtml] << %{\n<p class="letter" id="numeral">0 - 9</p>} the_idx.each do |i| i.each do |x| - if x.class==String + if x.is_a?(String) f=/^(\S)/.match(x)[1] if letter < f while letter < f @@ -216,11 +227,11 @@ module SiSU_DAL_BookIndex @q=idx[:html].index(idx[:html].last) @r=idx[:xhtml].index(idx[:xhtml].last) print "\n" + x + ', ' if @md.opt.cmd =~/V/ - elsif x.class==Array + elsif x.is_a?(Array) p 'array error? -->' print x - elsif x.class==Hash - if x['term_node_lev1'].class==Array + elsif x.is_a?(Hash) + if x['term_node_lev1'].is_a?(Array) x['term_node_lev1'].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]}, } @@ -283,13 +294,13 @@ module SiSU_DAL_BookIndex def screen_print(the_idx) the_idx.each do |i| i.each do |x| - if x.class==String + if x.is_a?(String) print "\n" + x + ', ' - elsif x.class==Array + elsif x.is_a?(Array) p 'array error? -->' print x - elsif x.class==Hash - if x['term_node_lev1'].class==Array + elsif x.is_a?(Hash) + if x['term_node_lev1'].is_a?(Array) x['term_node_lev1'].each do |a| if a[:range] print a[:range] + ', ' diff --git a/lib/sisu/v3/dal_numbering.rb b/lib/sisu/v3/dal_numbering.rb index c0bb4cb1..f81563f3 100644 --- a/lib/sisu/v3/dal_numbering.rb +++ b/lib/sisu/v3/dal_numbering.rb @@ -82,7 +82,7 @@ module SiSU_DAL_Numbering && 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.class==Array + unless dob.obj.is_a?(Array) dob.obj=dob.obj.gsub(/^\s+/,''). gsub(/\s$/,"\n") end @@ -160,7 +160,7 @@ module SiSU_DAL_Numbering if dob.ln==no1 t_no1+=1; t_no2=0; t_no3=0 title_no="#{t_no1}" - if not @md.seg_names.nil? \ + 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 @@ -303,7 +303,7 @@ module SiSU_DAL_Numbering possible_seg_name=$1 possible_seg_name=possible_seg_name.gsub(/(?:[:,-]|\W)/,'.'). gsub(/\.$/,'') - if not @md.seg_names.nil? \ + if @md.seg_names.is_a?(Array) \ and not @md.seg_names.include?(possible_seg_name) dob.name=possible_seg_name dob.tags=[dob.name,dob.tags].flatten if dob.name !~/^\d+$/ @@ -313,7 +313,7 @@ module SiSU_DAL_Numbering end if dob.ln==4 \ and dob.name #extract segment name from embedded document structure info - if not @md.seg_names.nil? \ + if @md.seg_names.is_a?(Array) \ and not @md.seg_names.include?(dob.name) dob.tags=[dob.name,dob.tags].flatten if dob.name !~/^\d+$/ @md.seg_names << dob.name @@ -323,7 +323,7 @@ module SiSU_DAL_Numbering and not dob.name #if still no segment name, provide a numerical one pf='_' #pg='' #may use e.g. '' or '~' or '_' segn_auto="#{pf}#{art_filename_auto.to_s}" - if not @md.seg_names.nil? \ + if @md.seg_names.is_a?(Array) \ and not @md.seg_names.include?(segn_auto) dob.name=segn_auto dob.tags=[dob.name,dob.tags].flatten if dob.name !~/^\d+$/ #check whether will work across file types with stop signs @@ -435,9 +435,9 @@ module SiSU_DAL_Numbering and dob.obj !~/\A\s*\Z/m \ and dob.is !=:layout @md.set_heading_seg=true - head=if @md.title.main ; dob.ln,dob.name,dob.obj=4,'seg',@md.title.main - else dob.ln,dob.name,dob.obj=4,'seg','[segment]' - end + 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 diff --git a/lib/sisu/v3/dal_syntax.rb b/lib/sisu/v3/dal_syntax.rb index 5b308009..b21f94a5 100644 --- a/lib/sisu/v3/dal_syntax.rb +++ b/lib/sisu/v3/dal_syntax.rb @@ -141,7 +141,11 @@ module SiSU_DAL_Syntax && dob.is !=:comment \ && dob.is !=:code \ && dob.is !=:table - dob.obj=dob.obj.gsub(/ \\\\(?: |$)/,"#{Mx[:br_line]}"). + 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 end dob @@ -234,7 +238,7 @@ module SiSU_DAL_Syntax def substitutions(dob) dob=dob.dup dob=if defined? @md.make.substitute[:match_and_replace] \ - and @md.make.substitute[:match_and_replace].class == Array + and @md.make.substitute[:match_and_replace].is_a?(Array) dob=if dob.is !=:meta \ && dob.is !=:heading_insert \ && dob.is !=:code \ @@ -281,8 +285,10 @@ module SiSU_DAL_Syntax w=w.gsub(@vz.markup_make_bold,"#{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) + 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 @@ -453,8 +459,8 @@ module SiSU_DAL_Syntax dob=fontface(dob) dob.obj=dob.obj.gsub(/<[:e]\s+(.+?)!?>/, "#{Mx[:en_a_o]}\\1#{Mx[:en_a_c]}"). #not tested - gsub(/^\s*_\*\s*/, - "#{Mx[:gl_bullet]}"). #bullets, shortcut + 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*/, diff --git a/lib/sisu/v3/db_columns.rb b/lib/sisu/v3/db_columns.rb index 5ae17707..7c4fa9eb 100644 --- a/lib/sisu/v3/db_columns.rb +++ b/lib/sisu/v3/db_columns.rb @@ -295,7 +295,7 @@ module SiSU_DbColumns end def tuple t=if defined? @md.creator.author_detail \ - and @md.creator.author_detail.class==Array \ + and @md.creator.author_detail.is_a?(Array) \ and @md.creator.author_detail.length > 0 txt='' @md.creator.author_detail.each do |h| @@ -366,7 +366,7 @@ module SiSU_DbColumns end def tuple t=if defined? @md.creator.editor_detail \ - and @md.creator.editor_detail.class==Array \ + and @md.creator.editor_detail.is_a?(Array) \ and @md.creator.editor_detail.length > 0 txt=@md.creator.editor_detail #dc txt='' @@ -394,7 +394,7 @@ module SiSU_DbColumns end def tuple t=if defined? @md.creator.contributor_detail \ - and @md.creator.contributor_detail.class==Array \ + and @md.creator.contributor_detail.is_a?(Array) \ and @md.creator.contributor_detail.length > 0 txt=@md.creator.contributor_detail #dc txt='' @@ -422,7 +422,7 @@ module SiSU_DbColumns end def tuple t=if defined? @md.creator.illustrator_detail \ - and @md.creator.illustrator_detail.class==Array \ + and @md.creator.illustrator_detail.is_a?(Array) \ and @md.creator.illustrator_detail.length > 0 txt=@md.creator.illustrator_detail txt='' @@ -450,7 +450,7 @@ module SiSU_DbColumns end def tuple t=if defined? @md.creator.photographer_detail \ - and @md.creator.photographer_detail.class==Array \ + and @md.creator.photographer_detail.is_a?(Array) \ and @md.creator.photographer_detail.length > 0 txt=@md.creator.photographer_detail txt='' @@ -478,7 +478,7 @@ module SiSU_DbColumns end def tuple t=if defined? @md.creator.translator_detail \ - and @md.creator.translator_detail.class==Array \ + and @md.creator.translator_detail.is_a?(Array) \ and @md.creator.translator_detail.length > 0 txt='' @md.creator.translator_detail.each do |h| @@ -505,7 +505,7 @@ module SiSU_DbColumns end def tuple t=if defined? @md.creator.prepared_by_detail \ - and @md.creator.prepared_by_detail.class==Array \ + and @md.creator.prepared_by_detail.is_a?(Array) \ and @md.creator.prepared_by_detail.length > 0 txt=@md.creator.prepared_by_detail txt='' @@ -533,7 +533,7 @@ module SiSU_DbColumns end def tuple t=if defined? @md.creator.digitized_by_detail \ - and @md.creator.digitized_by_detail.class==Array \ + and @md.creator.digitized_by_detail.is_a?(Array) \ and @md.creator.digitized_by_detail.length > 0 txt=@md.creator.digitized_by_detail txt='' @@ -561,7 +561,7 @@ module SiSU_DbColumns end def tuple t=if defined? @md.creator.audio_detail \ - and @md.creator.audio_detail.class==Array \ + and @md.creator.audio_detail.is_a?(Array) \ and @md.creator.audio_detail.length > 0 txt=@md.creator.audio_detail txt='' @@ -589,7 +589,7 @@ module SiSU_DbColumns end def tuple t=if defined? @md.creator.video_detail \ - and @md.creator.video_detail.class==Array \ + and @md.creator.video_detail.is_a?(Array) \ and @md.creator.video_detail.length > 0 txt='' @md.creator.video_detail.each do |h| @@ -1891,7 +1891,7 @@ module SiSU_DbColumns end def tuple t=if defined? @md.dgst \ - and @md.dgst.class==Array \ + and @md.dgst.is_a?(Array) \ and @md.dgst[1]=~/\S+/ txt=@md.dgst[1] ["#{name}, ","'#{txt}', "] @@ -2025,7 +2025,7 @@ module SiSU_DbColumns end def tuple t=if defined? @md.dgst_skin \ - and @md.dgst_skin.class==Array \ + and @md.dgst_skin.is_a?(Array) \ and @md.dgst_skin[1]=~/\S+/ txt=@md.dgst_skin[1] txt=special_character_escape(txt) diff --git a/lib/sisu/v3/db_create.rb b/lib/sisu/v3/db_create.rb index 9fe35193..e302a94f 100644 --- a/lib/sisu/v3/db_create.rb +++ b/lib/sisu/v3/db_create.rb @@ -99,7 +99,7 @@ module SiSU_DbCreate create tables metadata_and_text data import through ruby transfer } if @opt.cmd =~/[VM]/ - @conn.execute(%{ + create_metadata_and_text=%{ CREATE TABLE metadata_and_text ( tid BIGINT PRIMARY KEY, /* title */ @@ -201,8 +201,9 @@ module SiSU_DbCreate /* types CHAR(1) NULL, */ /* writing_focus_nationality VARCHAR(100) NULL, */ ); - }) - @comment.psql.metadata_and_text if @comment + } + @conn.execute(create_metadata_and_text) + @comment.psql.metadata_and_text if @comment end def doc_objects # create doc_objects base print %{ @@ -210,7 +211,7 @@ module SiSU_DbCreate create tables doc_objects data import through ruby transfer } if @opt.cmd =~/[VM]/ - @conn.execute(%{ + create_doc_objects=%{ CREATE TABLE doc_objects ( lid BIGINT PRIMARY KEY, metadata_tid BIGINT REFERENCES metadata_and_text, @@ -219,6 +220,7 @@ module SiSU_DbCreate ocns VARCHAR(6), clean TEXT NULL, body TEXT NULL, + book_idx TEXT NULL, seg VARCHAR(256) NULL, lev_an VARCHAR(1), lev SMALLINT NULL, @@ -242,8 +244,9 @@ module SiSU_DbCreate digest_all CHAR(#{@@dl}), types CHAR(1) NULL ); - }) - @comment.psql.doc_objects if @comment + } + @conn.execute(create_doc_objects) + @comment.psql.doc_objects if @comment end def endnotes print %{ @@ -251,7 +254,7 @@ module SiSU_DbCreate create tables endnotes data import through ruby transfer } if @opt.cmd =~/[VM]/ - @conn.execute(%{ + create_endnotes=%{ CREATE TABLE endnotes ( nid BIGINT PRIMARY KEY, document_lid BIGINT REFERENCES doc_objects, @@ -264,8 +267,9 @@ module SiSU_DbCreate digest_clean CHAR(#{@@dl}), metadata_tid BIGINT REFERENCES metadata_and_text ); - }) - @comment.psql.endnotes if @comment + } + @conn.execute(create_endnotes) + @comment.psql.endnotes if @comment end def endnotes_asterisk print %{ @@ -273,7 +277,7 @@ module SiSU_DbCreate create tables endnotes_asterisk data import through ruby transfer } if @opt.cmd =~/[VM]/ - @conn.execute(%{ + create_endnotes_asterisk=%{ CREATE TABLE endnotes_asterisk ( nid BIGINT PRIMARY KEY, document_lid BIGINT REFERENCES doc_objects, @@ -286,8 +290,9 @@ module SiSU_DbCreate digest_clean CHAR(#{@@dl}), metadata_tid BIGINT REFERENCES metadata_and_text ); - }) - @comment.psql.endnotes_asterisk if @comment + } + @conn.execute(create_endnotes_asterisk) + @comment.psql.endnotes_asterisk if @comment end def endnotes_plus print %{ @@ -295,7 +300,7 @@ module SiSU_DbCreate create tables endnotes_plus data import through ruby transfer } if @opt.cmd =~/[VM]/ - @conn.execute(%{ + create_endnotes_plus=%{ CREATE TABLE endnotes_plus ( nid BIGINT PRIMARY KEY, document_lid BIGINT REFERENCES doc_objects, @@ -308,8 +313,9 @@ module SiSU_DbCreate digest_clean CHAR(#{@@dl}), metadata_tid BIGINT REFERENCES metadata_and_text ); - }) - @comment.psql.endnotes_plus if @comment + } + @conn.execute(create_endnotes_plus) + @comment.psql.endnotes_plus if @comment end def urls # create doc_objects file links mapping print %{ @@ -318,7 +324,7 @@ module SiSU_DbCreate create tables urls data import through ruby transfer } if @opt.cmd =~/[VM]/ - @conn.execute(%{ + create_urls=%{ CREATE TABLE urls ( metadata_tid BIGINT REFERENCES metadata_and_text, plaintext varchar(512), @@ -338,8 +344,9 @@ module SiSU_DbCreate markup varchar(512), sisupod varchar(512) ); - }) - @comment.psql.urls if @comment + } + @conn.execute(create_urls) + @comment.psql.urls if @comment end self end @@ -483,6 +490,8 @@ module SiSU_DbCreate 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.lev1 IS 'document structure, level number 1';}, %{COMMENT ON COLUMN doc_objects.lev2 diff --git a/lib/sisu/v3/db_import.rb b/lib/sisu/v3/db_import.rb index 03f5d221..ae808cf8 100644 --- a/lib/sisu/v3/db_import.rb +++ b/lib/sisu/v3/db_import.rb @@ -73,10 +73,12 @@ module SiSU_DbImport @cX=SiSU_Screen::Ansi.new(@opt.cmd).cX @env=SiSU_Env::InfoEnv.new(@opt.fns) @dal="#{@env.processing_path.dal}" - if @opt.fns.empty? or @opt.cmd.empty?; @fnb='' + @fnb=if @opt.fns.empty? \ + or @opt.cmd.empty? + '' else @md=SiSU_Param::Parameters.new(@opt).get - @fnb=@md.fnb + @md.fnb end @suffix=@opt.fns[/(?:.+?)(?:\.ssm\.sst|\.-?sst)/,1] @fnc="#{@dal}/#{@opt.fns}.content.rbm" @@ -276,16 +278,18 @@ module SiSU_DbImport @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 - @col[:body]=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_minus - @col[:body]=special_character_escape(@col[:body]) - @col[:plaintext]=@col[:body].dup - @col[:plaintext]=strip_markup(@col[:plaintext]) - @col[:plaintext]=clean_searchable_text(@col[:plaintext]) - if @en[0]; @en_a,@en_z=@en[0].first,@en[0].last + body=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_minus + @col[:body]=special_character_escape(body) + plaintext=@col[:body].dup + plaintext=strip_markup(plaintext) + @col[:plaintext]=clean_searchable_text(plaintext) + book_idx=data.idx ? data.idx : '' + @col[:book_idx]=clean_searchable_text(book_idx) + if @en[0] then @en_a,@en_z=@en[0].first,@en[0].last end - if @en_ast[0]; @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last + if @en_ast[0] then @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last end - if @en_pls[0]; @en_a_plus,@en_z_plus=@en_pls[0].first,@en_pls[0].last + 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 @@ -310,11 +314,13 @@ module SiSU_DbImport @env=SiSU_Env::InfoEnv.new(@md.fns) @base_url="#{@env.url.root}/#{@md.fnb}/#{@hname}.html" txt=endnotes(txt).extract_any - @col[:body]=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_plus - @col[:body]=special_character_escape(@col[:body]) - @col[:plaintext]=@col[:body].dup - @col[:plaintext]=strip_markup(@col[:plaintext]) - @col[:plaintext]=clean_searchable_text(@col[:plaintext]) + body=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_plus + @col[:body]=special_character_escape(body) + plaintext=@col[:body].dup + plaintext=strip_markup(plaintext) + @col[:plaintext]=clean_searchable_text(plaintext) + book_idx=data.idx ? data.idx : '' + @col[:book_idx]=clean_searchable_text(book_idx) @en_a,@en_z=@en[0].first,@en[0].last if @en[0] @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last if @en_ast[0] @en_a_plus,@en_z_plus=@en_pls[0].first,@en_pls[0].last if @en_pls[0] @@ -340,11 +346,13 @@ module SiSU_DbImport @env=SiSU_Env::InfoEnv.new(@md.fns) @base_url="#{@env.url.root}/#{@md.fnb}/#{@hname}.html" txt=endnotes(txt).extract_any - @col[:body]=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_plus - @col[:body]=special_character_escape(@col[:body]) - @col[:plaintext]=@col[:body].dup - @col[:plaintext]=strip_markup(@col[:plaintext]) - @col[:plaintext]=clean_searchable_text(@col[:plaintext]) + body=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_plus + @col[:body]=special_character_escape(body) + plaintext=@col[:body].dup + plaintext=strip_markup(plaintext) + @col[:plaintext]=clean_searchable_text(plaintext) + book_idx=data.idx ? data.idx : '' + @col[:book_idx]=clean_searchable_text(book_idx) @en_a,@en_z=@en[0].first,@en[0].last if @en[0] @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last if @en_ast[0] @en_a_plus,@en_z_plus=@en_pls[0].first,@en_pls[0].last if @en_pls[0] @@ -368,11 +376,13 @@ module SiSU_DbImport @env=SiSU_Env::InfoEnv.new(@md.fns) @base_url="#{@env.url.root}/#{@md.fnb}/#{@hname}.html" txt=endnotes(txt).extract_any - @col[:body]=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_plus - @col[:body]=special_character_escape(@col[:body]) - @col[:plaintext]=@col[:body].dup - @col[:plaintext]=strip_markup(@col[:plaintext]) - @col[:plaintext]=clean_searchable_text(@col[:plaintext]) + body=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_plus + @col[:body]=special_character_escape(body) + plaintext=@col[:body].dup + plaintext=strip_markup(plaintext) + @col[:plaintext]=clean_searchable_text(plaintext) + book_idx=data.idx ? data.idx : '' + @col[:book_idx]=clean_searchable_text(book_idx) @en_a,@en_z=@en[0].first,@en[0].last if @en[0] @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last if @en_ast[0] @en_a_plus,@en_z_plus=@en_pls[0].first,@en_pls[0].last if @en_pls[0] @@ -408,7 +418,7 @@ module SiSU_DbImport @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] - @col[:body]=if data.is==:table + 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 @@ -425,10 +435,12 @@ module SiSU_DbImport else SiSU_FormatShared::CSS_Format.new(@md,data).norm end - @col[:body]=special_character_escape(@col[:body]) - @col[:plaintext]=@col[:body].dup - @col[:plaintext]=strip_markup(@col[:plaintext]) - @col[:plaintext]=clean_searchable_text(@col[:plaintext]) + @col[:body]=special_character_escape(body) + plaintext=@col[:body].dup + plaintext=strip_markup(plaintext) + @col[:plaintext]=clean_searchable_text(plaintext) + book_idx=data.idx ? data.idx : '' + @col[:book_idx]=clean_searchable_text(book_idx) t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint) @tuple_array << t.tuple @en,@en_ast,@en_pls=[],[],[] diff --git a/lib/sisu/v3/db_load_tuple.rb b/lib/sisu/v3/db_load_tuple.rb index 39ea9022..f55ce66c 100644 --- a/lib/sisu/v3/db_load_tuple.rb +++ b/lib/sisu/v3/db_load_tuple.rb @@ -78,11 +78,11 @@ module SiSU_DbTuple end def tuple #% import line sql_entry=if @col[:en_a] - "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, ocn, ocnd, ocns, seg, lev1, lev2, lev3, lev4, lev5, lev6, en_a, en_z, t_of, t_is, node, parent, digest_clean, digest_all) " + - "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:en_a]}', '#{@col[:en_z]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');" + "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev1, lev2, lev3, lev4, lev5, lev6, en_a, en_z, t_of, t_is, node, parent, digest_clean, digest_all) " + + "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:en_a]}', '#{@col[:en_z]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');" else - "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, ocn, ocnd, ocns, seg, lev1, lev2, lev3, lev4, lev5, lev6, t_of, t_is, node, parent, digest_clean, digest_all) " + - "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');" + "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev1, lev2, lev3, lev4, lev5, lev6, t_of, t_is, node, parent, digest_clean, digest_all) " + + "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');" end if @opt.cmd =~/M/ if @opt.cmd =~/V/ diff --git a/lib/sisu/v3/db_remove.rb b/lib/sisu/v3/db_remove.rb index 6d481cb4..3371a9be 100644 --- a/lib/sisu/v3/db_remove.rb +++ b/lib/sisu/v3/db_remove.rb @@ -71,19 +71,21 @@ module SiSU_DbRemove : false end del_id=if driver_sqlite3 - @conn.get_first_value(%{ + remove_selected=%{ SELECT tid FROM metadata_and_text WHERE src_filename = '#{@opt.fns}' AND metadata_and_text.language_document_char = '#{@opt.lng}' - ;}).to_i + ;} + @conn.get_first_value(remove_selected).to_i else - x=@conn.select_one(%{ + remove_selected=%{ SELECT metadata_and_text.tid FROM metadata_and_text WHERE metadata_and_text.src_filename = '#{@opt.fns}' AND metadata_and_text.language_document_char = '#{@opt.lng}' - ;}) + ;} + x=@conn.select_one(remove_selected) x ? (x.join.to_i) : nil end if del_id diff --git a/lib/sisu/v3/db_select.rb b/lib/sisu/v3/db_select.rb index 932bc551..a013c00b 100644 --- a/lib/sisu/v3/db_select.rb +++ b/lib/sisu/v3/db_select.rb @@ -78,7 +78,7 @@ module SiSU_DbSelect puts %{no connection with #{@sql_type} database established, createdb "#{@db.sqlite.db}"?} exit end - if @conn.class==NilClass + if @conn.is_a?(NilClass) db=@sql_type=='sqlite' \ ? @db.sqlite.db : @db.psql.db @@ -94,7 +94,9 @@ module SiSU_DbSelect @db=SiSU_Env::InfoDb.new @job="sqlite3 #{@db.sqlite.db} < #{@env.processing_path.sqlite}/#{@opt.fns}.sql" File.new("#{@env.processing_path.sqlite}/#{@opt.fns}.sql",'w+') - elsif @opt.fns and @opt.fns.inspect =~/create/; nil #sort variations later + elsif @opt.fns \ + and @opt.fns.inspect =~/create/ + nil #sort variations later else nil end else nil @@ -181,14 +183,13 @@ module SiSU_DbSelect else '???' end tell.puts_grey if @opt.cmd =~/v/ - when /^--update$/ when /^--remove$/ db_exist? @sdb_remove_doc.remove when /^--index$/ db_exist? @sdb_index.create_indexes - when /^droptable(s)?$/ + when /^--droptable(s)?$/ db_exist? @sdb_no.drop.tables when /^--dropindex(es)?$/ @@ -209,6 +210,10 @@ module SiSU_DbSelect puts @job end end + if @opt.act[:psql][:set]==:on \ + and @opt.mod.inspect !~/--(?:createdb|init(?:ialize)?|create(?:all)?|createtables?|recreate|cr(eate)?lex|cr(eate)?metadata|import|update|remove|index|droptable(s)?|dropindex(es)?|dropall|drop)/ + SiSU_Screen::Ansi.new(@opt.cmd,"--pg requires further instruction").warn unless @opt.cmd =~/[q]/ + end begin rescue; @sdb.output_dir? end diff --git a/lib/sisu/v3/db_sqltxt.rb b/lib/sisu/v3/db_sqltxt.rb index f6651724..53c15ed3 100644 --- a/lib/sisu/v3/db_sqltxt.rb +++ b/lib/sisu/v3/db_sqltxt.rb @@ -68,7 +68,7 @@ module SiSU_DbText end def clean_searchable_text(arr) #produce clean, searchable, plaintext from document source txt_arr,en=[],[] - arr=arr.class==String ? arr.split(/\n+/m) : arr + 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,''). diff --git a/lib/sisu/v3/dbi.rb b/lib/sisu/v3/dbi.rb index 535ab0f2..cd44b808 100644 --- a/lib/sisu/v3/dbi.rb +++ b/lib/sisu/v3/dbi.rb @@ -107,8 +107,6 @@ module SiSU_DBI puts %{manually create the database: "#{@db.db}" if it does not yet exist} #sudo su -p postgres; createdb #{@db.db}; #[createuser?] end - SiSU_DbDBI::Case.new(@opt,@conn,@sql_type).cases - @conn=DBI.connect(@db.dbi,@db.user,@db.db) ensure end end diff --git a/lib/sisu/v3/dbi_discreet.rb b/lib/sisu/v3/dbi_discreet.rb index 49313a93..07814a1a 100644 --- a/lib/sisu/v3/dbi_discreet.rb +++ b/lib/sisu/v3/dbi_discreet.rb @@ -106,7 +106,7 @@ module SiSU_DBI_Discreet #% database building puts msg exit end - if conn.class==NilClass + if conn.is_a?(NilClass) puts msg exit end @@ -168,7 +168,9 @@ module SiSU_DBI_Discreet #% database building @db=SiSU_Env::InfoDb.new @job="sqlite3 #{@db.sqlite.db} < #{@env.processing_path.sqlite}/#{@opt.fns}.sql" File.new("#{@env.processing_path.sqlite}/#{@opt.fns}.sql",'w+') - elsif @opt.fns and @opt.fns.inspect =~/create/; nil #sort variations later + elsif @opt.fns \ + and @opt.fns.inspect =~/create/ + nil #sort variations later else nil end else nil diff --git a/lib/sisu/v3/defaults.rb b/lib/sisu/v3/defaults.rb index 0c45ecdd..0b1c4d6c 100644 --- a/lib/sisu/v3/defaults.rb +++ b/lib/sisu/v3/defaults.rb @@ -77,78 +77,6 @@ module SiSU_Viz def html_hardspace ' ' end - #% php - def php_persist - end - #% javascript #kxjs knxjs - def js_home - end - def js_infobox - end - def js_knxjs - end - def js_head - end - def js_top - end - def js_sisu - end - def js_home - end - def js_sponsor - end - def js_books - end - def js_journals - end - def js_conferences - end - def js_services - end - def js_catalogue - end - def js_doc - end - def js_toc - end - def js_seg - end - def js_mail - end - def js_manifest - end - def js_status - end - def js_next - end - def js_prev - end - def js_plaintext - end - def js_portrait - end - def js_landscape - end - def js_pdf - end - def js_epub - end - def js_odf - end - def js_concordance - end - def js_instruments - end - def js_external - end - def js_gopher - end - def js_ftp - end - def js_law - end - def js_disclaimer - end def semantic_tags def default { @@ -738,9 +666,9 @@ module SiSU_Viz gsub(/\(/,'(?:') # avoid need to escape use of brackets within regex provided m='\b(' + r + ')\b' make[:str] - make[:regx]=if x =~/i/; /#{m}/i - else /#{m}/ - end + make[:regx]=(x =~/i/) \ + ? (/#{m}/i) + : (/#{m}/) else nil end end @@ -759,9 +687,9 @@ module SiSU_Viz gsub(/\(/,'(?:') # avoid need to escape use of brackets within regex provided m='\b(' + r + ')\b' make[:str] - make[:regx]=if x =~/i/; /#{m}/i - else /#{m}/ - end + make[:regx]=(x =~/i/) \ + ? (/#{m}/i) + : (/#{m}/) else nil end make @@ -783,8 +711,6 @@ module SiSU_Viz def paragraph_table %{<p align="left"><font #{font_small} #{font_color} #{font_face}>} end - def paragraph_table_xml - end def paragraph_tiny %{<p class="tiny">} end @@ -1187,7 +1113,7 @@ module SiSU_Viz #% banner def banner_home %{ <center> - <a href="#{url_site}/" target="_top" #{js_home}> + <a href="#{url_site}/" target="_top"> #{png_site} </a> <br /> @@ -1202,23 +1128,23 @@ module SiSU_Viz end def banner_home_guide %{ <br /> - <a href="#{url_site}/" target="_top" #{js_home}> + <a href="#{url_site}/" target="_top"> #{png_doc} LM toc </a> - <a href="../treaties.and.organisations/lm.chronological" target="_top" #{js_instruments}> + <a href="../treaties.and.organisations/lm.chronological" target="_top"> #{png_doc} LM 20** </a> <br />} end def banner_home_button_only - %{<a href="#{url_site}/" #{js_home}> + %{<a href="#{url_site}/"> #{png_home_button} </a>} end def banner_home_button #yellow_dark now white %{<table summary="home button" width="100%" border="0" cellpadding="3" bgcolor= "#ffffff" align="center"> <tr><td align="left" valign="middle" bgcolor="#{color_white}" width="10%"> - <a href="#{url_site}/" #{js_home}> + <a href="#{url_site}/"> #{png_home_button} </a> </td> @@ -1230,7 +1156,7 @@ module SiSU_Viz <tr><td width="20%"> <table summary="home button" width="100%" border="0" cellpadding="3" align="center"> <tr><td align="center" valign="middle" bgcolor="#{color_white}"> - <a href="#{url_site}/" target="_top" #{js_home}> + <a href="#{url_site}/" target="_top"> #{png_home} </a> </td></tr> @@ -1240,7 +1166,7 @@ module SiSU_Viz <table summary="other contents buttons" border="0" cellpadding="3" cellspacing="0"> <tr><td align="center" bgcolor=#{color_band2}> <font face="arial" size="2"> - <a href="toc" target="_top" #{js_toc}> + <a href="toc" target="_top"> This text's sub- <br /> Table of Contents @@ -1254,12 +1180,12 @@ module SiSU_Viz #{table_close}} end def banner_url_txt_sisu - %{<a href="#{url_sisu}/sisu" target="_top" #{js_home}>SiSU</a>} + %{<a href="#{url_sisu}/sisu" target="_top">SiSU</a>} end def banner_band #yellow_dark now white %{<table summary="home button" width="100%" border="0" cellpadding="3" bgcolor= "#ffffff" align="center"> <tr><td align="left" valign="middle" bgcolor="#{color_white}"> - <a href="#{url_site}/" target="_top" #{js_home}> + <a href="#{url_site}/" target="_top"> #{png_home} </a> </td> @@ -1541,7 +1467,7 @@ WOK <<WOK <p class="tiny"><font color="#666666" size="2"> Output generated by - <a href="#{url_sisu}" #{js_sisu}> + <a href="#{url_sisu}"> #{@v[:project]} </a> #{@v[:version]} #{@v[:date]} (#{@v[:date_stamp]}) @@ -1562,7 +1488,7 @@ WOK <!-- widget sisu --> <tr><td valign="top" width="10%"> <p class="tiny_left"><font color="#666666" size="2"> - <a href="#{url_sisu}" #{js_sisu}> + <a href="#{url_sisu}"> <img border="0" src="../_sisu/image/sisu.png" alt="SiSU" width="120" height="39" /> </a> </font></p> @@ -1570,33 +1496,33 @@ WOK <!-- SiSU Rights --> <p class="tiny_left"><font color="#666666" size="2"> Output generated by - <a href="#{url_sisu}" #{js_sisu}> + <a href="#{url_sisu}"> #{@v[:project]} </a> #{@v[:version]} #{@v[:date]} (#{@v[:date_stamp]}) <br /> - <a href="#{url_sisu}" #{js_sisu}> + <a href="#{url_sisu}"> <b>#{@v[:project]}</b> </a> Copyright <sup>©</sup> Ralph Amissah 1997, current #{@date.year_static}. All Rights Reserved. <br /> - <a href="#{url_sisu}" #{js_sisu}> + <a href="#{url_sisu}"> #{@v[:project]} </a> is software for document structuring, publishing and search, <br /> - <a href="#{url_sisu}" #{js_sisu}> + <a href="#{url_sisu}"> www.sisudoc.org/ </a> and - <a href="#{url_sisudoc}" #{js_sisu}> + <a href="#{url_sisudoc}"> www.sisudoc.org </a> <br /> <i>w3 since October 3 1993</i> - <a href="mailto:ralph@amissah.com" #{js_mail}> + <a href="mailto:ralph@amissah.com"> ralph@amissah.com </a> </font></p> @@ -1624,7 +1550,7 @@ WOK </font></p> </td><td valign="top" width="45%"> <p class="tiny_left"><font color="#666666" size="2"> - <a href="#{url_sisu}" #{js_sisu}> + <a href="#{url_sisu}"> #{@v[:project]} </a> is released under diff --git a/lib/sisu/v3/digests.rb b/lib/sisu/v3/digests.rb index 5ffabb58..129b6b10 100644 --- a/lib/sisu/v3/digests.rb +++ b/lib/sisu/v3/digests.rb @@ -208,9 +208,9 @@ module SiSU_DigestView if image_source para_image = image_source + '/' + i @image_name << i - @image_dgst << if @dg =~/^sha(?:2|256)$/; sys.sha256(para_image) - else sys.md5(para_image) - end + @image_dgst << (@dg =~/^sha(?:2|256)$/) \ + ? sys.sha256(para_image) + : sys.md5(para_image) else @image_name << ' '*16 + i + ' [image missing]' @image_dgst << '' diff --git a/lib/sisu/v3/epub.rb b/lib/sisu/v3/epub.rb index 06021574..a4dce6ab 100644 --- a/lib/sisu/v3/epub.rb +++ b/lib/sisu/v3/epub.rb @@ -142,7 +142,6 @@ module SiSU_EPUB def tuned_file_instructions @tell=SiSU_Screen::Ansi.new(@md.opt.cmd) @md.opt.cmd=@md.opt.cmd.gsub(/H/,'h') - @md.file_type='html' if @md.opt.cmd =~/[hon]/ directories dal_array=@particulars.dal_array # dal file drawn here @tuned_file_array=SiSU_EPUB_Tune::Tune.new(dal_array,@md).songsheet @@ -336,7 +335,8 @@ module SiSU_EPUB and link !~/#/ #% keep eye on link p_num=SiSU_EPUB_Format::ParagraphNumber.new(@md,link) end - title=if dob.obj !~/Document Information/; linkname + title=if dob.obj !~/Document Information/ + linkname else link='metadata' %{<b><a href="#{link}#{Sfx[:epub_xhtml]}">#{linkname}</a></b>} @@ -357,9 +357,9 @@ module SiSU_EPUB end else @@toc[:scr] << '<br />' - link=if dob.ln; dob.ln - else '' - end + link=(dob.ln) \ + ? dob.ln + : '' %{<b><a href="##{link}">#{linkname}</a></b>} end txt_obj={ txt: title } @@ -489,10 +489,6 @@ module SiSU_EPUB dochead=dochead.gsub(/toc\.(html)/,'doc.\1') #kludge toc_shared << dochead #<< ads.div.major segtoc << format_head_toc.head #<< ads.div.major - if SiSU_EPUB_Format::HeadToc.method_defined? :toc_head_escript - toc_shared << format_head_toc.toc_head_escript - segtoc << format_head_toc.toc_head_escript - end if defined? @md.rights.all \ and @md.rights.all rights=format_head_toc.rights.all @@ -503,8 +499,6 @@ module SiSU_EPUB prefix_b=format_head_toc.prefix_b prefix_b=SiSU_EPUB_Tune::CleanXHTML.new(prefix_b).clean end - seg_toc_band=format_head_toc.seg_head_navigation_band - seg_toc_band_bottom=format_head_toc.seg_head_navigation_band_bottom tmp_head=nil doc_title_endnote=@md.title.full.gsub(/(\*+)/,'<sup><a href="#endnotes">\1</a></sup>') tmp_head=doc_title_endnote + "\n" @@ -521,7 +515,6 @@ module SiSU_EPUB toc_shared << format_txt_obj.center_bold segtoc << format_txt_obj.center_bold end - segtoc << seg_toc_band tmp_head=nil if defined? @md.prefix_a \ and @md.prefix_a @@ -552,7 +545,6 @@ module SiSU_EPUB segtoc << prefix_b end #Segtoc tail added here - segtoc << seg_toc_band_bottom segtoc << format_head_toc.xhtml_close segtoc=segtoc.flatten.compact #watch SiSU_EPUB::Source::Output.new(@md,segtoc).segtoc @@ -666,14 +658,14 @@ module SiSU_EPUB def segtoc begin if @make.build.toc? - filename_html_index=@make_file.epub.xhtml_index + filename_xhtml=@make_file.epub.xhtml_index @output.each do |para| para=para.strip unless para =~/\A\s*\Z/ - filename_html_index.puts para,"\n" + filename_xhtml.puts para,"\n" end end - filename_html_index.close + filename_xhtml.close end rescue SiSU_Errors::InfoError.new($!,$@,@md.opt.cmd,@md.fns).error do diff --git a/lib/sisu/v3/epub_concordance.rb b/lib/sisu/v3/epub_concordance.rb index df975a48..b8db317d 100644 --- a/lib/sisu/v3/epub_concordance.rb +++ b/lib/sisu/v3/epub_concordance.rb @@ -105,7 +105,7 @@ module SiSU_EPUB_Concordance @fnb=@md.fnb @lex_button=%{<a href="http://www.jus.uio.no/sisu/" target="_top"><img border="0" height="44" width="144" valign="center" src="../_sisu/image/sisu.png" alt="SiSU home -->"></a>} @doc_details =<<WOK -<table summary="links to text related to this rudimentary index" width="96%" border="0" bgcolor="white" cellpadding="0" align="center"><tr><td width="2%" align="right"> </td><td width="94%" valign="top" align="justify"><h1 class="small"><a href="#{@md.file.base_filename.epub}" #{@vz.js_toc}><b>#{@md.title.full}</b></a></h1><p class="bold">#{@md.creator.author}</p></td></tr></table> +<table summary="links to text related to this rudimentary index" width="96%" border="0" bgcolor="white" cellpadding="0" align="center"><tr><td width="2%" align="right"> </td><td width="94%" valign="top" align="justify"><h1 class="small"><a href="#{@md.file.base_filename.epub}"><b>#{@md.title.full}</b></a></h1><p class="bold">#{@md.creator.author}</p></td></tr></table> WOK end def create @@ -219,7 +219,7 @@ WOK && line.ln==4 @seg=line.name end - if line.ocn.to_s =~/\d+/; toy=line.ocn.to_s + if line.ocn.to_s =~/\d+/ then toy=line.ocn.to_s end if toy =~/\d+/ \ and toy !~/^0$/ diff --git a/lib/sisu/v3/epub_format.rb b/lib/sisu/v3/epub_format.rb index c08ae492..70636fb1 100644 --- a/lib/sisu/v3/epub_format.rb +++ b/lib/sisu/v3/epub_format.rb @@ -1233,7 +1233,7 @@ WOK end def doc_type_xhtml <<WOK -<?xml version="1.0" encoding="UTF-8"?> +<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> @@ -1277,7 +1277,7 @@ WOK #simple, make sure full-path of rootfile points to metadata.opf #epub_metadata.opf content.opf <<WOK -<?xml version="1.0" encoding="UTF-8"?> +<?xml version='1.0' encoding='utf-8'?> <container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> <rootfiles> @@ -1298,7 +1298,7 @@ WOK #{dob.obj} - #{@md.html_title} </title> -<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> +<meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> #{@css.xhtml_epub} </head> #{@vz.color_body} @@ -1435,7 +1435,7 @@ WOK end def package_open <<WOK -<?xml version="1.0" encoding="UTF-8"?> +<?xml version='1.0' encoding='utf-8'?> <package xmlns="http://www.idpf.org/2007/opf" unique-identifier="EPB-UUID" version="2.0"> WOK end @@ -1658,25 +1658,10 @@ WOK end self end - def toc_head_escript - end - def seg_head_escript - end def table_close %{ </font> #{@vz.table_close}} end - def buttons_home - %{<!- home and index buttons -!> - #{@vz.banner_home_and_index_buttons} -<!- home and index buttons -!>} - end - def copyat - %{<p class="tiny">copy @ - <a href="#{@vz.url_home}" #{@vz.js_home}> - #{@vz.txt_home} - </a></p>} - end def xhtml_close %{#{@vz.credits_sisu_epub} </body> @@ -1689,28 +1674,12 @@ WOK @md=md @tocband_segtoc=make_seg end - def seg_head_navigation_band - firstseg=%{<a href="#{@md.firstseg}#{Sfx[:epub_xhtml]}" target="_top"> - #{@vz.epub_png_nav_nxt} - </a>} if @md.firstseg =~/\S+/ - DISABLE[:epub][:internal_navigation] \ - ? '' - : %{<p class="align_right">#{firstseg}</p>} - end - def seg_head_navigation_band_bottom - firstseg=%{<a href="#{@md.firstseg}#{Sfx[:epub_xhtml]}" target="_top"> - #{@vz.epub_png_nav_nxt} - </a>} if @md.firstseg =~/\S+/ - DISABLE[:epub][:internal_navigation] \ - ? '' - : %{<p class="align_right">#{firstseg}</p>} - end def manifest_link(text) - %{ <a href="#{@md.file.output_path.manifest.url}/#{@md.file.base_filename.manifest}" target="_top" #{@vz.js_manifest}>#{text}</a>} + %{ <a href="#{@md.file.output_path.manifest.url}/#{@md.file.base_filename.manifest}" target="_top">#{text}</a>} end def concordance_link(text) if @md.concord_make - %{<a href="#{@md.file.base_filename.html_concordance}" target="_top" #{@vz.js_concordance}> + %{<a href="#{@md.file.base_filename.html_concordance}" target="_top"> #{text} </a>} else '' @@ -1719,17 +1688,16 @@ WOK def head %{#{doc_type} <head> -<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> +<meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> #{@css.xhtml_epub} </head> -#{@vz.color_body} -#{@vz.js_top}} +#{@vz.color_body}} end def concordance if @md.concord_make %{#{@vz.margin_css} <h4 class="toc"> - <a href="./#{@md.file.base_filename.html_concordance}" #{@vz.js_concordance}> + <a href="./#{@md.file.base_filename.html_concordance}"> <i>Concordance</i> </a> </h4> @@ -1740,9 +1708,9 @@ WOK end end def links_guide_open(type='horizontal') - if type=='vertical'; links_guide_vertical_open - else links_guide_horizontal_open - end + (type=='vertical') \ + ? links_guide_vertical_open + : links_guide_horizontal_open end def prefix_a end @@ -1787,7 +1755,7 @@ WOK def metadata %{#{@vz.margin_css} <h4 class="toc"> - <a href="#{@metalink}" #{@vz.js_metalink}> + <a href="#{@metalink}"> <i>MetaData</i> </a> </h4> @@ -1805,7 +1773,7 @@ WOK #{@seg_name_xhtml[@seg_name_xhtml_tracker]} - #{@md.html_title} </title> -<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> +<meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> #{@css.xhtml_epub} </head> #{@vz.color_body}} @@ -1838,7 +1806,7 @@ WOK 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.class==Hash + if t_o.is_a?(Hash) @txt =t_o[:txt] || nil @ocn =t_o[:ocn] || nil @ocn_display =t_o[:ocn_display] || nil @@ -1853,12 +1821,12 @@ WOK 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]/; %{<id="#{headname}">} #consider: h_#{headname} - else %{<id="h#{headname}"></a>} - end - @headname=if headname =~/^[a-zA-Z]/; %{<a name="#{headname}" id="#{headname}"></a>} #consider: h_#{headname} - else %{<a name="h#{headname}" id="h#{headname}"></a>} - end + @headname=(headname =~/^[a-zA-Z]/) \ + ? %{<id="#{headname}">} + : %{<id="h#{headname}"></a>} + @headname=(headname =~/^[a-zA-Z]/) \ + ? %{<a name="#{headname}" id="#{headname}"></a>} + : %{<a name="h#{headname}" id="h#{headname}"></a>} end end elsif t_o.class.inspect =~/Object/ diff --git a/lib/sisu/v3/epub_segments.rb b/lib/sisu/v3/epub_segments.rb index 57e6580b..5a3f3092 100644 --- a/lib/sisu/v3/epub_segments.rb +++ b/lib/sisu/v3/epub_segments.rb @@ -271,9 +271,9 @@ WOK @@get_hash_to=dob.name @@get_hash_fn=dob.name end - if dob.obj.class==String + if dob.obj.is_a?(String) markup(dob) - elsif dob.obj.class==Array + elsif dob.obj.is_a?(Array) dob.obj.each do |pg| markup(pg) end @@ -298,9 +298,9 @@ WOK and @md.creator.author @author=%{<b>#{@md.creator.author}</b>\n} end - ocn=if @@heading1[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]; $1 #fix - else '' - end + 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_EPUB_Format::ParagraphNumber.new(@md,ocn) txt_obj={ txt: @@heading1, ocn_display: @p_num.ocn_display } format_seg=SiSU_EPUB_Format::FormatSeg.new(@md,txt_obj) @@ -309,9 +309,9 @@ WOK end if @@is2==1 heading2=@@heading2 - ocn=if heading2[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]; $1 #fix - else '' - end + 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_EPUB_Format::ParagraphNumber.new(@md,ocn) txt_obj={ txt: heading2, ocn_display: @p_num.ocn_display } format_seg=SiSU_EPUB_Format::FormatSeg.new(@md,txt_obj) @@ -320,9 +320,9 @@ WOK end if @@is3==1 heading3=@@heading3 - ocn=if heading3[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]; $1 #fix - else '' - end + 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_EPUB_Format::ParagraphNumber.new(@md,ocn) txt_obj={ txt: heading3, ocn_display: @p_num.ocn_display } format_seg=SiSU_EPUB_Format::FormatSeg.new(@md,txt_obj) @@ -331,9 +331,9 @@ WOK end if @@is4==1 heading4=@@heading4 - ocn=if heading4[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]; $1 #fix - else '' - end + 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_EPUB_Format::ParagraphNumber.new(@md,ocn) txt_obj={ txt: heading4, ocn_display: @p_num.ocn_display } format_seg=SiSU_EPUB_Format::FormatSeg.new(@md,txt_obj) @@ -359,7 +359,8 @@ WOK sto.seg_heading4 # work on see SplitTextObject elsif dob.ln==5 sto.seg_heading5 - elsif dob.ln==6; sto.seg_heading6 + elsif dob.ln==6 + sto.seg_heading6 end elsif dob.is==:para if dob.indent \ diff --git a/lib/sisu/v3/epub_tune.rb b/lib/sisu/v3/epub_tune.rb index 3a5669c6..1362815e 100644 --- a/lib/sisu/v3/epub_tune.rb +++ b/lib/sisu/v3/epub_tune.rb @@ -96,7 +96,7 @@ module SiSU_EPUB_Tune end def clean html=@html - str=if html.class==String + str=if html.is_a?(String) html else html.obj end @@ -238,7 +238,7 @@ module SiSU_EPUB_Tune gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'<del>\1</del>'). gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'<tt>\1</tt>'). # tt, kbd gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,''). - gsub(/^#{Mx[:gl_bullet]}/m,'● '). + gsub(/#{Mx[:gl_bullet]}/m,'● '). gsub(/#{Mx[:nbsp]}/,' '). gsub(/<(p|br)>/,'<\1 />') dob.obj=SiSU_EPUB_Tune::CleanXHTML.new(dob.obj).clean diff --git a/lib/sisu/v3/harvest_authors.rb b/lib/sisu/v3/harvest_authors.rb index 6036816d..1846584a 100644 --- a/lib/sisu/v3/harvest_authors.rb +++ b/lib/sisu/v3/harvest_authors.rb @@ -117,7 +117,7 @@ module SiSU_HarvestAuthors if para=~ rgx[:date] @date=rgx[:date].match(para)[1] end - break if @title and @subtitle and @author and @date + break if @title && @subtitle && @author && @date end @fulltitle=@subtitle ? (@title + ' - ' + @subtitle) : @title if @title \ @@ -157,7 +157,7 @@ module SiSU_HarvestAuthors idx_array.each do |idx| idx[:author][:last_first_format_a].each do |author| author=author.strip - if @@the_idx_authors[lang][author].class==NilClass + 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] } @@ -201,7 +201,7 @@ module SiSU_HarvestAuthors def html_file_close @the_idx.keys.each do |lng| @output[lng][:html].close - @output[lng][:html_mnt].close if @output[lng][:html_mnt].class==File + @output[lng][:html_mnt].close if @output[lng][:html_mnt].is_a?(File) end end def html_print @@ -305,12 +305,12 @@ WOK </html> WOK @the_idx.keys.each do |lng| - @output[lng][:html_mnt] << a if @output[lng][:html_mnt].class==File + @output[lng][:html_mnt] << a if @output[lng][:html_mnt].is_a?(File) @output[lng][:html] << a end end def do_html(lng,html) - @output[lng][:html_mnt] << html if @output[lng][:html_mnt].class==File + @output[lng][:html_mnt] << html if @output[lng][:html_mnt].is_a?(File) @output[lng][:html] << html end def do_string_name(lng,attrib,string) @@ -324,7 +324,7 @@ WOK while @letter < f if @alph.length > 0 @letter=@alph.shift - if @output[lng][:html_mnt].class==File + if @output[lng][:html_mnt].is_a?(File) @output[lng][:html_mnt] << %{\n<p class="letter"><a name="#{@letter}"></p>#{@letter}</a><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>} end @output[lng][:html] << %{\n<p class="letter"><a name="#{@letter}">#{@letter}</a></p><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>} @@ -340,7 +340,7 @@ WOK do_string_name(lng,'',a) name=a[0].sub(/(.+?)(?:,.+|$)/,'\1').gsub(/\s+/,'_') x = %{<p class="author"><a name="#{name}">#{a[0]}</a></p>} - if @output[lng][:html_mnt].class==File + if @output[lng][:html_mnt].is_a?(File) @output[lng][:html_mnt] << x end @output[lng][:html] << x @@ -354,15 +354,16 @@ WOK x[:file] + '.' + lng + '.html' elsif @env.output_dir_structure.by? == :filename "../#{x[:file]}/#{x[:page]}" + else '' #error end work=[ "#{x[:date]} #{x[:title]}", %{<p class="publication">#{x[:date]} <a href="#{manifest_at}">#{x[:title]}</a>, #{x[:author][:authors_s]}</p>} ] - works<<=(@output[lng][:html_mnt].class==File) \ + works<<=(@output[lng][:html_mnt].is_a?(File)) \ ? (work.concat([%{<p class="publication">[<a href="#{x[:file]}.sst">src</a>] #{x[:date]} <a href="file://#{manifest_at}">#{x[:title]}</a>, #{x[:author][:authors_s]} -- [<a href="#{x[:file]}.sst">#{x[:file]}.sst</a>]</p>}])) : work end works.sort_by {|x| x[0]}.each do |x| @output[lng][:html] << x[1] - @output[lng][:html_mnt] << x[2] if @output[lng][:html_mnt].class==File + @output[lng][:html_mnt] << x[2] if @output[lng][:html_mnt].is_a?(File) end end end diff --git a/lib/sisu/v3/harvest_topics.rb b/lib/sisu/v3/harvest_topics.rb index 3487ab6b..762f4be0 100644 --- a/lib/sisu/v3/harvest_topics.rb +++ b/lib/sisu/v3/harvest_topics.rb @@ -104,10 +104,10 @@ module SiSU_HarvestTopics rgx[:author]=/^@creator:(?:[ ]+|.+?:author:[ ]+)(.+?)(?:\||\n)/m rgx[:title]=/^@title:[ ]+(.+)/ rgx[:subtitle]=/^@title:.+?:subtitle:[ ]+(.+?)\n/m - rgx[:idx]=/^@classify:.+?:topic_register:[ ]+(.+?)\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] + @idx_list=(rgx[:idx].match(para)[1]).split(/\s*\n\s*/).join end if para=~ rgx[:title] @title=rgx[:title].match(para)[1] @@ -118,7 +118,7 @@ module SiSU_HarvestTopics if para=~ rgx[:author] @author_format=rgx[:author].match(para)[1] end - break if @title and @subtitle and @author and @idx_lst + break if @title && @subtitle && @author && @idx_lst end @fulltitle=@subtitle ? (@title + ' - ' + @subtitle) : @title if @title \ @@ -233,8 +233,8 @@ module SiSU_HarvestTopics end @idx_a.each do |c| if c.length > 1 \ - and c.class == Array - if c[2].class == Hash + 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 @@ -242,8 +242,8 @@ module SiSU_HarvestTopics end end if c.length > 2 \ - and c.class == Array - if c[3].class == Hash + 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 @@ -251,8 +251,8 @@ module SiSU_HarvestTopics end end if c.length > 3 \ - and c.class == Array - if c[4].class == Hash + 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 @@ -260,8 +260,8 @@ module SiSU_HarvestTopics end end if c.length > 4 \ - and c.class == Array - if c[5].class == Hash + 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 @@ -269,8 +269,8 @@ module SiSU_HarvestTopics end end if c.length > 5 \ - and c.class == Array - if c[6].class == Hash + 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 @@ -278,8 +278,7 @@ module SiSU_HarvestTopics end end end - y=@the_a.sort_by { |x| x[0] } - #y.each {|z| puts z} + y=@the_a.sort_by { |x| x[0] } #; y.each {|z| puts z} end def construct_book_topic_hash(y) @the_h={} @@ -325,7 +324,7 @@ module SiSU_HarvestTopics else @the_h[x0][x1][x2] ||={} end - #puts ' '*2 + x2 + #puts ' '*2 + x2 if extract >= 3 y.each_pair do |x3,y| if extract == 3 @@ -334,7 +333,7 @@ module SiSU_HarvestTopics else @the_h[x0][x1][x2][x3] ||={} end - #puts ' '*3 + x3 + #puts ' '*3 + x3 if extract == 4 y.each_pair do |x4,y| if extract == 4 @@ -343,14 +342,14 @@ module SiSU_HarvestTopics else @the_h[x0][x1][x2][x3][x4] ||={} end - #puts ' '*4 + x4 + #puts ' '*4 + x4 if extract == 5 y.each_pair do |x5,y| if extract == 5 @the_h[x0][x1][x2][x3][x4][x5] ||={ md: [] } @the_h[x0][x1][x2][x3][x4][x5][:md] << y end - #puts ' '*5 + x5 + #puts ' '*5 + x5 end end end @@ -369,22 +368,22 @@ module SiSU_HarvestTopics end def traverse_base @the_h.each_pair do |x0,y| - puts ' '*0 + x0 if x0.class == String - if y.class == Hash + puts ' '*0 + x0 if x0.is_a?(String) + if y.is_a?(Hash) y.each_pair do |x1,y| - puts ' '*1 + x1 if x1.class == String - if y.class == Hash + puts ' '*1 + x1 if x1.is_a?(String) + if y.is_a?(Hash) y.each_pair do |x2,y| - puts ' '*2 + x2 if x2.class == String - if y.class == Hash + puts ' '*2 + x2 if x2.is_a?(String) + if y.is_a?(Hash) y.each_pair do |x3,y| - puts ' '*3 + x3 if x3.class == String - if y.class == Hash + puts ' '*3 + x3 if x3.is_a?(String) + if y.is_a?(Hash) y.each_pair do |x4,y| - puts ' '*4 + x4 if x4.class == String - if y.class == Hash + puts ' '*4 + x4 if x4.is_a?(String) + if y.is_a?(Hash) y.each_pair do |x5,y| - puts ' '*5 + x5 if x5.class == String + puts ' '*5 + x5 if x5.is_a?(String) end end end @@ -399,37 +398,37 @@ module SiSU_HarvestTopics end def traverse @the_h.each_pair do |x0,y| - puts ' '*0 + x0 if x0.class == String - if y.class == Hash + puts ' '*0 + x0 if x0.is_a?(String) + if y.is_a?(Hash) if y.has_key?(:md) y[:md].each { |x| puts ' '*5 + x[:title] } end y.each_pair do |x1,y| - puts ' '*1 + x1 if x1.class == String - if y.class == Hash + puts ' '*1 + x1 if x1.is_a?(String) + if y.is_a?(Hash) if y.has_key?(:md) y[:md].each { |x| puts ' '*5 + x[:title] } end y.each_pair do |x2,y| - puts ' '*2 + x2 if x2.class == String - if y.class == Hash + puts ' '*2 + x2 if x2.is_a?(String) + if y.is_a?(Hash) if y.has_key?(:md) y[:md].each { |x| puts ' '*5 + x[:title] } end y.each_pair do |x3,y| - puts ' '*3 + x3 if x3.class == String - if y.class == Hash + puts ' '*3 + x3 if x3.is_a?(String) + if y.is_a?(Hash) if y.has_key?(:md) y[:md].each { |x| puts ' '*5 + x[:title] } end y.each_pair do |x4,y| - puts ' '*4 + x4 if x4.class == String - if y.class == Hash + puts ' '*4 + x4 if x4.is_a?(String) + if y.is_a?(Hash) if y.has_key?(:md) y[:md].each { |x| puts ' '*5 + x[:title] } end y.each_pair do |x5,y| - puts ' '*5 + x4 if x4.class == String + puts ' '*5 + x4 if x4.is_a?(String) end end end @@ -480,7 +479,7 @@ module SiSU_HarvestTopics def html_file_close @the_idx.keys.each do |lng| @output[lng][:html].close - @output[lng][:html_mnt].close if @output[lng][:html_mnt].class==File + @output[lng][:html_mnt].close if @output[lng][:html_mnt].is_a?(File) end end def html_print @@ -496,23 +495,23 @@ module SiSU_HarvestTopics def html_body_traverse @the_idx.each_pair do |x0,y| lng=x0 - if x0.class == String + if x0.is_a?(String) #do_string_name(lng,'lev0',x0) #puts ' '*0 + x0 end - if y.class == Hash + if y.is_a?(Hash) if y.has_key?(:md) y[:md].each do |x| - #do_hash(lng,attrib,x) #lv==0 ? + #do_hash(lng,attrib,x) #lv==0 ? #puts ' '*5 + x[:title] end end y.each_pair do |x1,y| - if x1.class == String + if x1.is_a?(String) do_string_name(lng,'lev0',x1) #puts ' '*1 + x1 end - if y.class == Hash + if y.is_a?(Hash) if y.has_key?(:md) y[:md].each do |x| do_hash(lng,0,x) @@ -520,11 +519,11 @@ module SiSU_HarvestTopics end end y.each_pair do |x2,y| - if x2.class == String + if x2.is_a?(String) do_string(lng,'lev1',x2) #puts ' '*2 + x2 end - if y.class == Hash + if y.is_a?(Hash) if y.has_key?(:md) y[:md].each do |x| do_hash(lng,1,x) @@ -532,11 +531,11 @@ module SiSU_HarvestTopics end end y.each_pair do |x3,y| - if x3.class == String + if x3.is_a?(String) do_string(lng,'lev2',x3) #puts ' '*3 + x3 end - if y.class == Hash + if y.is_a?(Hash) if y.has_key?(:md) y[:md].each do |x| do_hash(lng,2,x) @@ -544,11 +543,11 @@ module SiSU_HarvestTopics end end y.each_pair do |x4,y| - if x4.class == String + if x4.is_a?(String) do_string(lng,'lev3',x4) #puts ' '*4 + x4 end - if y.class == Hash + if y.is_a?(Hash) if y.has_key?(:md) y[:md].each do |x| do_hash(lng,3,x) @@ -556,7 +555,7 @@ module SiSU_HarvestTopics end end y.each_pair do |x5,y| - if x5.class == String + if x5.is_a?(String) do_string(lng,'lev4',x5) #puts ' '*5 + x5 end @@ -667,7 +666,7 @@ WOK </html> WOK @the_idx.keys.each do |lng| - @output[lng][:html_mnt] << a if @output[lng][:html_mnt].class==File + @output[lng][:html_mnt] << a if @output[lng][:html_mnt].is_a?(File) @output[lng][:html] << a end end @@ -675,12 +674,12 @@ WOK @output[lng][:html] << html end def do_html_maintenance(lng,html) - @output[lng][:html_mnt] << html if @output[lng][:html_mnt].class==File + @output[lng][:html_mnt] << html if @output[lng][:html_mnt].is_a?(File) end def do_string(lng,attrib,string) html=%{<p class="#{attrib}">#{string}</p>} do_html(lng,html) - do_html_maintenance(lng,html) if @output[lng][:html_mnt].class==File + do_html_maintenance(lng,html) if @output[lng][:html_mnt].is_a?(File) end def do_string_default(lng,attrib,string) html=%{<p class="#{attrib}">#{string}</p>} @@ -688,7 +687,7 @@ WOK end def do_string_maintenance(lng,attrib,string) html=%{<p class="#{attrib}">#{string}</p>} - do_html_maintenance(lng,html) if @output[lng][:html_mnt].class==File + do_html_maintenance(lng,html) if @output[lng][:html_mnt].is_a?(File) end def do_string_name(lng,attrib,string) f=/^(\S)/.match(string)[1] @@ -701,7 +700,7 @@ WOK while @letter < f if @alph.length > 0 @letter=@alph.shift - if @output[lng][:html_mnt].class==File + if @output[lng][:html_mnt].is_a?(File) @output[lng][:html_mnt] << %{\n<p class="letter"><a name="#{@letter}">#{@letter}</a></p><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>} end @output[lng][:html] << %{\n<p class="letter"><a name="#{@letter}">#{@letter}</a></p><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>} @@ -712,7 +711,7 @@ WOK name=string.strip.gsub(/\s+/,'_') html=%{<p class="#{attrib}"><a name="#{name}">#{string}</a></p>} do_html(lng,html) - do_html_maintenance(lng,html) if @output[lng][:html_mnt].class==File + do_html_maintenance(lng,html) if @output[lng][:html_mnt].is_a?(File) end def do_array(lng,lv,array) lv+=1 @@ -733,7 +732,7 @@ WOK do_string_default(lng,attrib,html) end def do_hash_md_maintenance(lng,attrib,hash) - if @output[lng][:html_mnt].class==File #should not be run for presentation output + if @output[lng][:html_mnt].is_a?(File) #should not be run for presentation output html=%{[<a href="#{hash[:file]}.sst">src</a>] <a href="file://#{@env.path.output}/#{hash[:file]}/#{hash[:page]}">#{hash[:title]}</a> - #{hash[:author]}} do_string_maintenance(lng,attrib,html) end @@ -765,16 +764,15 @@ WOK end end def do_case(lng,lv,a) - y = a.class - case - when y==String + 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 y==Array + when Array do_array(lng,lv,a) - when y==Hash + when Hash do_hash(lng,lv,a) end end diff --git a/lib/sisu/v3/help.rb b/lib/sisu/v3/help.rb index 9ca8ef20..0ab87fdd 100644 --- a/lib/sisu/v3/help.rb +++ b/lib/sisu/v3/help.rb @@ -63,9 +63,9 @@ module SiSU_Help require_relative 'i18n' # i18n.rb def initialize(request='',color='') @request,@color=request,color - if color =~/color_off/; @cX=SiSU_Screen::Ansi.new('k').cX - else @cX=SiSU_Screen::Ansi.new('yes').cX - end + @cX=(color =~/color_off/) \ + ? (SiSU_Screen::Ansi.new('k').cX) + : (SiSU_Screen::Ansi.new('yes').cX) fns='help_example_dummy_file_name.sst' @env=SiSU_Env::InfoEnv.new(fns) @db=SiSU_Env::InfoDb.new @@ -397,9 +397,12 @@ sisu Note: files for SiSU should be in UTF-8 character encoding. #{@cX.cyan}Data text markup#{@cX.off} (alternative to available html subset) - #{@cX.green}% SiSU 0.38#{@cX.off} [statement on first line of document, declared file-type identifier, SiSU markup document, markup used is version 0.38] - #{@cX.green}:A~#{@cX.off} heading/title [levels :A to :C available (and beneath that 1 to 6)] + #{@cX.green}% SiSU 2.00#{@cX.off} [statement on first line of document, declared file-type identifier, SiSU markup document, markup used is version 0.38] + + #{@cX.green}A~#{@cX.off} heading/title [levels A to C available (and beneath that 1 to 6)] + #{@cX.green}1~#{@cX.off}filename heading [segmentation level, levels 1 to 6 available] + #{@cX.green}!{#{@cX.off}emphasis#{@cX.green}}!#{@cX.off} #{@cX.green}*{#{@cX.off}bold text#{@cX.green}}*#{@cX.off} #{@cX.green}_{#{@cX.off}underscore#{@cX.green}}_#{@cX.off} @@ -409,18 +412,28 @@ sisu #{@cX.green},{#{@cX.off}subscript#{@cX.green}},#{@cX.off} #{@cX.green}+{#{@cX.off}inserted text#{@cX.green}}+#{@cX.off} #{@cX.green}-{#{@cX.off}strikethrough#{@cX.green}}-#{@cX.off} + ------------------------------------------ #{@cX.cyan}Indentation and bullets#{@cX.off} + #{@cX.green}_1#{@cX.off} indent paragraph one level + #{@cX.green}_2#{@cX.off} indent paragraph two steps + #{@cX.green}_*#{@cX.off} bullet text + #{@cX.green}_1*#{@cX.off} bullet text, first indent + ------------------------------------------ #{@cX.cyan}Numbered List#{@cX.off} (not to be confused with headings/titles, (document structure)) + #{@cX.green}##{@cX.off} numbered list numbered list 1., 2., 3, etc. + #{@cX.green}_##{@cX.off} numbered list numbered list indented second level a., b., c., d., etc. + ------------------------------------------ #{@cX.cyan}Endnotes#{@cX.off} + #{@cX.green}~{#{@cX.off}footnote/endnote#{@cX.green}}~#{@cX.off} endnote#{@cX.green}~{#{@cX.off}self contained endnote marker & endnote in one#{@cX.green}}~#{@cX.off} #{@cX.green}~{*#{@cX.off}asterisk footnote/endnote#{@cX.green}}~#{@cX.off} editor's annotations, square bracket notes @@ -430,8 +443,10 @@ sisu alternative endnote pair notation #{@cX.green}~^#{@cX.off} endnote marker #{@cX.green}^~#{@cX.off} endnote text following the paragraph in which the marker occurs + ------------------------------------------ #{@cX.cyan}Links#{@cX.off} + http://url.org on its own would be automatically marked up and hyperlinked to itself #{@cX.green}{#{@cX.off} [text to link] #{@cX.green}}#{@cX.off}http://url.org #{@cX.green}{#{@cX.off}image.png#{@cX.green}}#{@cX.off}http://url.org @@ -450,19 +465,24 @@ sisu if a server host name has been provided/configured, will provide a list of available output types that would be generated using the shortcut command and the markup file provided, i.e. output generated using the command (as configured): "sisu -3sS markup_source_filename.sst" using server host, directory stub, filename to compose the link. + ------------------------------------------ adding fixed names in html, manual location marker/tagging #{@cX.green}*~[name]#{@cX.off} <a name="[name]"> + ------------------------------------------ #{@cX.green}~##{@cX.off} unnumbered paragraph (place marker at end of paragraph) #{@cX.green}-##{@cX.off} unnumbered paragraph, delete when not required (place marker at end of paragraph) [used in dummy headings, eg. for segmented html] + ------------------------------------------ manual page breaks (LaTeX/pdf) #{@cX.green}<:pb>#{@cX.off} page break, which breaks a page, starting a new page in single column text and a new column in double column text #{@cX.green}<:pn>#{@cX.off} page new, which starts a new page, in both single and double column text (leaving an empty column in double column text if necessary). Note: page breaks are usually introduced to pdfs either as header instructions, indicating that pages should break at given levels + ------------------------------------------ #{@cX.cyan}Composite documents#{@cX.off} + It is possible to build a document by creating a master document that requires other documents. The documents required may 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 mainly from other documents), it should be named with the suffix #{@cX.blue}.ssm#{@cX.off} 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 #{@cX.blue}.sst#{@cX.off} regular markup file, or #{@cX.blue}.ssi#{@cX.off} (insert/information) A secondary file of the composite document is built prior to processing with the same prefix and the suffix #{@cX.blue}.ssm.sst#{@cX.off} #{@cX.cyan}#basic sisu markup alternatives#{@cX.off} @@ -522,9 +542,9 @@ WOK @links: { SiSU }http://www.jus.uio.no/sisu { FSF }http://www.fsf.org -:A~ A Sample Document +A~ A Sample Document -:B~ just for fun +B~ just for fun 1~ This is Chapter One or Article One @@ -570,9 +590,9 @@ WOK @links: { SiSU }http://www.jus.uio.no/sisu { FSF }http://www.fsf.org -:A~ @title @author +A~ @title @author -:B~ just for fun +B~ just for fun 1~ This is Chapter One or Article One @@ -600,109 +620,79 @@ Header tags appear at the beginning of a document and provide meta information o All header instructions take either the form #{@cX.green}@headername:#{@cX.off} followed on the next line by an indented sub-category header if any #{@cX.green}:sub-headername:#{@cX.off}. #{@cX.green}@indentifier:#{@cX.off} information or instructions where the #{@cX.green}"identifier"#{@cX.off} is a tag recognised by the program, and the #{@cX.green}"information"#{@cX.off} or #{@cX.green}"instructions"#{@cX.off} belong to the tag/indentifier specified - Note: a header where used should only be used once; all headers apart from @title: are optional; the @structure: or 0~toc header is used to describe document structure, and can be useful to know. -This is a sample header (#{@cX.fuschia}Dublin Core in fuschia,#{@cX.off} #{@cX.cyan}other information headers in cyan,#{@cX.off} #{@cX.ruby}markup instructions in red#{@cX.off}): - -#{@cX.fuschia}@title:#{@cX.off} My Title - This is now the Title of the Document and used as such - #{@cX.cyan}:subtitle:#{@cX.off} The Subtitle if any - -#{@cX.fuschia}@creator:#{@cX.off} - #{@cX.fuschia}:author:#{@cX.off} Surname, Other names (if more than one author separate author names with a semi colon, if name is of an institution just write name or the name contains a comma enclose in quotation marks) - -#{@cX.fuschia}@classify:#{@cX.off} - #{@cX.fuschia}:topic_register:#{@cX.off} [e.g.:] text markup language; application:text processing;output:html|xml|latex|pdf|sql - -#{@cX.fuschia}@subject:#{@cX.off} (whatever your subject) - -#{@cX.fuschia}@description:#{@cX.off} - -#{@cX.fuschia}@publisher:#{@cX.off} - -#{@cX.fuschia}@contributor:#{@cX.off} - -#{@cX.fuschia}@translator:#{@cX.off} [or @translated_by:] - -#{@cX.fuschia}@illustrator:#{@cX.off} [or @illustrated_by:] - -#{@cX.fuschia}@prepared_by:#{@cX.off} [or @digitized_by:] - -#{@cX.fuschia}@date:#{@cX.off} 2000-08-27 -\t[ also #{@cX.fuschia}@date.created:#{@cX.off} #{@cX.fuschia}@date.issued:#{@cX.off} #{@cX.fuschia}@date.available:#{@cX.off} #{@cX.fuschia}@date.valid:#{@cX.off} #{@cX.fuschia}@date.modified:#{@cX.off} ] - -#{@cX.fuschia}@type:#{@cX.off} article - -#{@cX.fuschia}@format:#{@cX.off} - -#{@cX.fuschia}@identifier:#{@cX.off} - -#{@cX.fuschia}@source:#{@cX.off} - -#{@cX.fuschia}@language:#{@cX.off} [or @language.document:] [country code for language if available, or language, English, en is the default setting] (en - English, fr - French, de - German, it - Italian, es - Spanish, pt - Portuguese, sv - Swedish, da - Danish, fi - Finnish, no - Norwegian, is - Icelandic, nl - Dutch, et - Estonian, hu - Hungarian, pl - Polish, ro - Romanian, ru - Russian, el - Greek, uk - Ukranian, tr - Turkish, sk - Slovak, sl - Slovenian, hr - Croatian, cs - Czech, bg - Bulgarian ) [however, encodings are not available for all of the languages listed.] - -#{@cX.fuschia}@language.original:#{@cX.off} + Note: a header where used should only be used once; all headers apart from #{@cX.ruby}@title:#{@cX.off} are optional. + +#{@cX.ruby}@title:#{@cX.off} My Title - This is now the Title of the Document and used as such + #{@cX.cyan}:subtitle:#{@cX.off} The Subtitle if any + +#{@cX.ruby}@creator:#{@cX.off} + #{@cX.cyan}:author:#{@cX.off} Surname, Other names (if more than one author separate author names with a semi colon, if name is of an institution just write name or the name contains a comma enclose in quotation marks) + #{@cX.cyan}:contributor:#{@cX.off} + #{@cX.cyan}:translator:#{@cX.off} [or :translated_by:] + #{@cX.cyan}:illustrator:#{@cX.off} [or :illustrated_by:] + #{@cX.cyan}:prepared_by:#{@cX.off} [or :digitized_by:] + +#{@cX.ruby}@date:#{@cX.off} + #{@cX.cyan}:published:#{@cX.off} + #{@cX.cyan}:created:#{@cX.off} + #{@cX.cyan}:issued:#{@cX.off} + #{@cX.cyan}:available:#{@cX.off} + #{@cX.cyan}:valid:#{@cX.off} + #{@cX.cyan}:modified:#{@cX.off} + +#{@cX.ruby}@rights:#{@cX.off} + #{@cX.cyan}:copyright:#{@cX.off} Author's name, all rights reserved + #{@cX.cyan}:license:#{@cX.off} public domain, copyleft, creative commons variant, etc. + +#{@cX.ruby}@classify:#{@cX.off} + #{@cX.cyan}:topic_register:#{@cX.off} [e.g.:] text markup language; application:text processing;output:html|xml|latex|pdf|sql + #{@cX.cyan}:subject:#{@cX.off} (whatever your subject) + #{@cX.cyan}:keywords:#{@cX.off} + #{@cX.cyan}:coverage:#{@cX.off} + #{@cX.cyan}:relation:#{@cX.off} + #{@cX.cyan}:type:#{@cX.off} + #{@cX.cyan}:identifier:#{@cX.off} + #{@cX.cyan}:loc:#{@cX.off} [Library of Congress classification] + #{@cX.cyan}:dewey:#{@cX.off} [Dewey classification] + #{@cX.cyan}:isbn:#{@cX.off} + #{@cX.cyan}:oclc:#{@cX.off} + +#{@cX.ruby}@notes:#{@cX.off} + #{@cX.cyan}:description:#{@cX.off} + #{@cX.cyan}:abstract:#{@cX.off} + #{@cX.cyan}:comment:#{@cX.off} + #{@cX.cyan}:history:#{@cX.off} + #{@cX.cyan}:prefix:#{@cX.off} + #{@cX.cyan}:suffix:#{@cX.off} + +#{@cX.ruby}@publisher:#{@cX.off} + +#{@cX.ruby}@language:#{@cX.off} [or @language.document:] [country code for language if available, or language, English, en is the default setting] (en - English, fr - French, de - German, it - Italian, es - Spanish, pt - Portuguese, sv - Swedish, da - Danish, fi - Finnish, no - Norwegian, is - Icelandic, nl - Dutch, et - Estonian, hu - Hungarian, pl - Polish, ro - Romanian, ru - Russian, el - Greek, uk - Ukranian, tr - Turkish, sk - Slovak, sl - Slovenian, hr - Croatian, cs - Czech, bg - Bulgarian ) [however, encodings are not available for all of the languages listed.] + +#{@cX.ruby}@language.original:#{@cX.off} original language in which the work was published -#{@cX.fuschia}@papersize:#{@cX.off} -(A4|US_letter|book_B5|book_A5|US_legal) +#{@cX.ruby}@links:#{@cX.off} + { SiSU }http://www.jus.uio.no/sisu/ + { FSF }http://www.fsf.org -#{@cX.fuschia}@relation:#{@cX.off} - -#{@cX.fuschia}@coverage:#{@cX.off} - -#{@cX.fuschia}@rights:#{@cX.off} copyright, all rights reserved, public domain, copyleft, creative commons variant, etc. - -#{@cX.cyan}@owner:#{@cX.off} - -#{@cX.cyan}@keywords:#{@cX.off} text document generation processing management latex pdf structured xml citation [your keywords here, used for example by rss feeds, and in sql searches] - -#{@cX.cyan}@abstract:#{@cX.off} [paper abstract, placed after table of contents] - -#{@cX.cyan}@comment:#{@cX.off} [...] - -#{@cX.cyan}@catalogue:#{@cX.off} #{@cX.green}loc=#{@cX.off}[Library of Congress classification]; #{@cX.green}dewey=#{@cX.off}[Dewey classification]; #{@cX.green}isbn=#{@cX.off}[ISBN]; #{@cX.green}pg=#{@cX.off}[Project Gutenberg text number] - -#{@cX.cyan}@classify_loc:#{@cX.off} [Library of Congress classification] - -#{@cX.cyan}@classify_dewey:#{@cX.off} [Dewey classification] - -#{@cX.cyan}@classify_isbn:#{@cX.off} [ISBN] - -#{@cX.cyan}@classify_pg:#{@cX.off} [Project Gutenberg text number] - -#{@cX.cyan}@prefix_a:#{@cX.off} [prefix is placed just before table of contents - not implemented] - -#{@cX.cyan}@prefix_b:#{@cX.off} or #{@cX.cyan}@prefix:#{@cX.off} [prefix is placed just after table of contents] - -#{@cX.cyan}@rcs:#{@cX.off} $Id$ [used by rcs or cvs to embed version (revision control) information into document, rcs or cvs can usefully provide a history of updates to a document ] - -#{@cX.ruby}@structure:#{@cX.off} PART; CHAPTER; SECTION; ARTICLE; none; none; -optional, document structure can be defined by words to match or regular expression (the regular expression is assumed to start at the beginning of a line of text i.e. ^) default markers :A~ to :C~ and 1~ to 6~ can be used within text instead, without this header tag, and may be used to supplement the instructions provided in this header tag if provided (@structure: is a synonym for @toc:) - -#{@cX.ruby}@level:#{@cX.off} newpage=3; breakpage=4 [paragraph level, used by latex to breakpages, the page is optional eg. in newpage] - -#{@cX.ruby}@markup:#{@cX.off} num_top=4 [various markup instructions, eg: num_top=4 headings tobe numbered, starting at heading level 4... the default is to provide 3 levels, as in 1 level 4, 1.1 level 5, 1.1.1 level 6, markup to be merged within level] - -#{@cX.ruby}@bold:#{@cX.off} [regular expression of words/phrases to be made bold] - -#{@cX.ruby}@italics:#{@cX.off} [regular expression of words/phrases to italize] - -#{@cX.ruby}@vocabulary:#{@cX.off} name of taxonomy/vocabulary/wordlist to use against document - -#{@cX.ruby}@skin:#{@cX.off} skin_doc_[name_of_desired_document_skin] - -#{@cX.ruby}@links:#{@cX.off} { SiSU }http://www.jus.uio.no/sisu/; { FSF }http://www.fsf.org - -#{@cX.ruby}@@promo:#{@cX.off} sisu, ruby, search_libre_docs, open_society [places content in right pane in html, makes use of list.yml and promo.yml, commented out sample in document sample: free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst] +#{@cX.ruby}@make:#{@cX.off} + #{@cX.cyan}:breaks:#{@cX.off} new=:B; break=1 + #{@cX.cyan}:bold:#{@cX.off} [regular expression of words/phrases to be made bold] + #{@cX.cyan}:italics:#{@cX.off} [regular expression of words/phrases to italize] + #{@cX.cyan}:headings:#{@cX.off} PART; CHAPTER; Section; Article; + #{@cX.grey}% optional, document structure can be defined by words to match or regular expression (the regular expression is assumed to start at the beginning of a line of text i.e. ^) default markers A~ to C~ and 1~ to 6~ can be used within text instead, without this header tag, and may be used to supplement the instructions provided in this header tag if provided#{@cX.off} + #{@cX.cyan}:papersize:#{@cX.off} (A4|US_letter|book_B5|book_A5|US_legal) + #{@cX.cyan}:markup:#{@cX.off} num_top=4 [various markup instructions, eg: num_top=4 headings tobe numbered, starting at heading level 4... the default is to provide 3 levels, as in 1 level 4, 1.1 level 5, 1.1.1 level 6, markup to be merged within level] + #{@cX.cyan}:promo:#{@cX.off} sisu, ruby, search_libre_docs, open_society [places content in right pane in html, makes use of list.yml and promo.yml, commented out sample in document sample: free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst] #{@cX.grey}% header ends here, NB only @title: is mandatory [this would be a comment]#{@cX.off} -#{@cX.grey}% NOTE: headings/levels below refer to 0.38 expermental markup - (a conversion script provided in sisu-examples, modify.rb makes conversion between 0.37 and 0.38 markup simple)#{@cX.off} -#{@cX.blue}:A~#{@cX.off} Top level heading [this is usually the same as the title @title: ] +#{@cX.blue}A~#{@cX.off} Top level heading [this is usually the same as the title @title: ] -#{@cX.blue}:B~#{@cX.off} Second level heading [this is a heading level divider] +#{@cX.blue}B~#{@cX.off} Second level heading [this is a heading level divider] -#{@cX.blue}:C~#{@cX.off} Third level heading [this is a heading level divider] +#{@cX.blue}C~#{@cX.off} Third level heading [this is a heading level divider] #{@cX.blue}1~#{@cX.off} Top level heading preceding substantive text of document or sub-heading 5, the heading level that would normally be marked 1. or 2. or 3. etc. in a document @@ -901,7 +891,7 @@ WOK SiSU_Env::InfoSettings.new.program?(program) else '' end - if program =='rmagick'; program='identify' #rmagick is ruby lib uses imagemagick's identify + if program =='rmagick' then program='identify' #rmagick is ruby lib uses imagemagick's identify end bin=if SiSU_Env::SystemCall.new.program_found?(program) SiSU_Env::SystemCall.new.program_found?(program) @@ -909,9 +899,9 @@ WOK end else bin,rc='false','false' end - if program; "#{@cX.blue}#{program}#{@cX.off} bin: #{@cX.brown}#{bin}#{@cX.off} rc: #{@cX.brown}#{rc}#{@cX.off}" - else "bin: #{@cX.brown}#{bin}#{@cX.off} rc: #{@cX.brown}#{rc}#{@cX.off}" - end + (program) \ + ? ("#{@cX.blue}#{program}#{@cX.off} bin: #{@cX.brown}#{bin}#{@cX.off} rc: #{@cX.brown}#{rc}#{@cX.off}") + : ("bin: #{@cX.brown}#{bin}#{@cX.off} rc: #{@cX.brown}#{rc}#{@cX.off}") end def sisu_version version=SiSU_Env::InfoVersion.instance.get_version @@ -925,40 +915,40 @@ WOK @ls=leading_spaces=' '*49 @rhost=SiSU_Env::InfoRemoteHost.new.rhost def r1 - if @rhost.r1; @rhost.r1 + "\n" - else '' - end + (@rhost.r1) \ + ? @rhost.r1 + "\n" + : '' end def r2 - if @rhost.r2; @ls + @rhost.r2 + "\n" - else '' - end + (@rhost.r2) \ + ? @ls + @rhost.r2 + "\n" + : '' end def r3 - if @rhost.r3; @ls + @rhost.r3 + "\n" - else '' - end + (@rhost.r3) \ + ? @ls + @rhost.r3 + "\n" + : '' end def r4 - if @rhost.r4; @ls + @rhost.r4 + "\n" - else '' - end + (@rhost.r4) \ + ? @ls + @rhost.r4 + "\n" + : '' end def r5 - if @rhost.r5; @ls + @rhost.r5 + "\n" - else '' - end + (@rhost.r5) \ + ? @ls + @rhost.r5 + "\n" + : '' end def r6 - if @rhost.r6; @ls + @rhost.r6 + "\n" - else '' - end + (@rhost.r6) \ + ? @ls + @rhost.r6 + "\n" + : '' end def note msg='(remote settings user and host set in sisurc.yml under remote:)' - if @rhost.r1; @ls + msg - else msg - end + (@rhost.r1) \ + ? @ls + msg + : msg end self end @@ -1082,7 +1072,7 @@ The following heading or level (structuring) defaults are available (for use ins or, [0.38] - :A~ :B~ :C~ 1~ 2~ 3~ + A~ B~ C~ 1~ 2~ 3~ Heading tags take either of the forms above, ranging from 1-6 @@ -1114,11 +1104,11 @@ in the 0.38 notation this maps to: % SiSU 0.38 -:A~ Document Title +A~ Document Title -:B~ Document Subtitle whatever it is +B~ Document Subtitle whatever it is -:C~ Part +C~ Part 1~ Chapter @@ -1291,8 +1281,7 @@ WOK WOK end - def install - #% system configuration + def install #% system configuration print <<WOK #{@cX.green}Install SiSU#{@cX.off} diff --git a/lib/sisu/v3/html.rb b/lib/sisu/v3/html.rb index 100916ff..132394d6 100644 --- a/lib/sisu/v3/html.rb +++ b/lib/sisu/v3/html.rb @@ -90,9 +90,9 @@ module SiSU_HTML @env=@particulars.env loc=@env.url.output_tell unless @opt.cmd =~/q/ - tool=if @opt.cmd =~/[MVvz]/; "#{@env.program.web_browser} file://#{@md.file.output_path.html_seg.dir}/#{@md.file.base_filename.html_segtoc}" - else "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}" - end + tool=(@opt.cmd =~/[MVvz]/) \ + ? ("#{@env.program.web_browser} file://#{@md.file.output_path.html_seg.dir}/#{@md.file.base_filename.html_segtoc}") + : ("[#{@opt.f_pth[:lng_is]}] #{@opt.fno}") @opt.cmd=~/[MVvz]/ \ ? SiSU_Screen::Ansi.new(@opt.cmd,'HTML',tool).green_hi_blue : SiSU_Screen::Ansi.new(@opt.cmd,'HTML',tool).green_title_hi @@ -167,9 +167,9 @@ module SiSU_HTML and @md.lnk @md.lnk.each do |l| if defined? l[:say] - target=if l[:url] !~/^\.(\.)?\//; 'external' - else '_top' - end + 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) @@ -321,7 +321,7 @@ WOK and link !~/#/ #% keep eye on link p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,link) end - title=if dob.obj !~/Metadata/; linkname + title=if dob.obj !~/Metadata/ then linkname else link='metadata' %{<b><a href="#{link}#{@md.lang_code_insert}#{Sfx[:html]}">#{linkname}</a></b>} @@ -350,9 +350,9 @@ WOK end else @@toc[:scr] << '<br />' - link=if dob.ln; dob.ln - else '' - end + link=(dob.ln) \ + ? dob.ln + : '' %{<b><a href="##{link}">#{linkname}</a></b>} end txt_obj={ txt: title } @@ -528,8 +528,6 @@ WOK ads=SiSU_HTML_Promo::Ad.new(@md) toc_shared << dochead << ads.div.major @segtoc << format_head_toc.head << ads.div.major - toc_shared << format_head_toc.toc_head_escript if SiSU_HTML_Format::HeadToc.method_defined? :toc_head_escript - @segtoc << format_head_toc.toc_head_escript if SiSU_HTML_Format::HeadToc.method_defined? :toc_head_escript if @make.build.html_top_band? toc_shared << format_head_toc.scroll_head_navigation_band end @@ -609,8 +607,7 @@ WOK end def publish scroll=[] - hr='<center><hr width=90% /></center>' - scroll << @scr_toc << '<div class="scroll">' << hr << @scr_body << @scr_endnotes << hr << @scr_owner_details << '</div>' << @scr_tails + scroll << @scr_toc << '<div class="scroll">' << @scr_body << @scr_endnotes << @scr_owner_details << '</div>' << @scr_tails scroll=scroll.flatten.compact #watch end end diff --git a/lib/sisu/v3/html_format.rb b/lib/sisu/v3/html_format.rb index 85e47e0b..fa9ac462 100644 --- a/lib/sisu/v3/html_format.rb +++ b/lib/sisu/v3/html_format.rb @@ -135,7 +135,7 @@ module SiSU_HTML_Format end def png_nav def toc - %{<img border="0" width="22" height="22" src="#{url_path_image_sys}/#{icon.up}" alt="TOC" />} + %{<img border="0" width="22" height="22" src="#{url_path_image_sys}/#{icon.up}" alt="toc" />} end def pre %{<img border="0" width="22" height="22" src="#{url_path_image_sys}/#{icon.previous}" alt="<< previous" />} @@ -184,7 +184,7 @@ module SiSU_HTML_Format end def copyat %{#{@vz.paragraph_font_tiny}copy @ - <a href="#{@vz.url_home}" #{@vz.js_home}> + <a href="#{@vz.url_home}"> #{@vz.txt_home} </a></h1>} end @@ -213,7 +213,7 @@ module SiSU_HTML_Format def scroll(text) if @md.fns =~ /\.(?:-|ssm\.)?sst$/ scroll=%{<td align="center" bgcolor=#{@vz.color_band2}> - <a href="#{Xx[:html_relative1]}html/#{@file.base_filename.html_scroll}" target="_top" #{@vz.js_doc}> + <a href="#{Xx[:html_relative1]}html/#{@file.base_filename.html_scroll}" target="_top"> #{text} </a> </td> @@ -222,7 +222,7 @@ module SiSU_HTML_Format end def seg(text) %{<td align="center" bgcolor="#99CC66"> - <a href="#{@md.file.base_filename.html_segtoc}" target="_top" #{@vz.js_doc}> + <a href="#{@md.file.base_filename.html_segtoc}" target="_top"> #{text} </a> </td> @@ -244,7 +244,7 @@ module SiSU_HTML_Format else @file.base_filename.manifest end %{<td align="center" bgcolor=#{@vz.color_band2}> - <a href="#{manifest_lnk}" target="_top" #{@vz.js_manifest}> + <a href="#{manifest_lnk}" target="_top"> #{@vz.nav_txt_manifest} </a> </td>} @@ -256,12 +256,12 @@ module SiSU_HTML_Format and @cf_defaults.cf_0 =~/p/ %{ <td align="center" bgcolor=#{@vz.color_band2}> - <a href="#{Xx[:html_relative1]}pdf/#{@file.base_filename.pdf_p}" target="_top" #{@vz.js_portrait}> + <a href="#{Xx[:html_relative1]}pdf/#{@file.base_filename.pdf_p}" target="_top"> #{@vz.nav_txt_pdf_portrait} </a> </td> <td align="center" bgcolor=#{@vz.color_band2}> - <a href="#{Xx[:html_relative1]}pdf/#{@file.base_filename.pdf_l}" target="_top" #{@vz.js_portrait}> + <a href="#{Xx[:html_relative1]}pdf/#{@file.base_filename.pdf_l}" target="_top"> #{@vz.nav_txt_pdf_landscape} </a> </td> @@ -331,13 +331,13 @@ WOK def manifest_link(text) # @file=SiSU_Env::FileOp.new(@md) if @md %{<font size=2> - <a href="#{@md.file.base_filename.manifest}" target="_top" #{@vz.js_manifest}>#{text}</a> + <a href="#{@md.file.base_filename.manifest}" target="_top">#{text}</a> </font>} end def concordance_link(text) if @md.concord_make %{<font size=2> - <a href="#{@md.file.base_filename.html_concordance}" target="_top" #{@vz.js_concordance}> + <a href="#{@md.file.base_filename.html_concordance}" target="_top"> #{text} </a> </font>} @@ -394,14 +394,13 @@ WOK #{@vz.color_body} <a name="top" id="top"></a> <a name="up" id="up"></a> -<a name="start" id="start"></a> -#{@vz.js_top}} +<a name="start" id="start"></a>} end def concordance if @md.concord_make %{#{@vz.margin_css} <h4 class="toc"> - <a href="./#{@md.file.base_filename.html_concordance}" #{@vz.js_concordance}> + <a href="./#{@md.file.base_filename.html_concordance}"> <i>Concordance</i> </a> </h4> @@ -418,7 +417,7 @@ WOK <div id="vertical_links"> <ul id="vertical"> <li class="refbold"> - <a href="#{url}" #{@vz.js_home}> + <a href="#{url}"> #{@vz.txt_hp} </a> </li> @@ -439,7 +438,7 @@ WOK <div id="horizontal_links"> <ul id="horizontal"> <li class="refbold"> - <a href="#{url}" #{@vz.js_home}> + <a href="#{url}"> #{@vz.txt_hp} </a> </li> @@ -454,9 +453,9 @@ WOK <!- quick ref -!>} end def links_guide_open(type='horizontal') - if type=='vertical'; links_guide_vertical_open - else links_guide_horizontal_open - end + (type=='vertical') \ + ? links_guide_vertical_open + : links_guide_horizontal_open end def links_guide_close insert='' @@ -545,7 +544,7 @@ WOK def metadata %{#{@vz.margin_css} <h4 class="toc"> - <a href="#{@metalink}" #{@vz.js_metalink}> + <a href="#{@metalink}"> <i>MetaData</i> </a> </h4> @@ -634,17 +633,17 @@ WOK end %{<table summary="segment hidden control pre and next" width="100%" border="0" cellpadding="0" bgcolor=#{@vz.color_grey_pale} align="center"> <tr><td align="left"> - <a href="#{pre}" target="_top" #{@vz.js_prev}> + <a href="#{pre}" target="_top"> #{png_nav.dot_pre} </a> </td> <td align="center"> - <a href="#{up}" target="_top" #{@vz.js_toc}> + <a href="#{up}" target="_top"> #{png_nav.dot_toc} </a> </td> <td align="right"> - <a href="#{nxt}" target="_top" #{@vz.js_next}> + <a href="#{nxt}" target="_top"> #{png_nav.dot_nxt} </a> #{@vz.table_close}} @@ -655,17 +654,17 @@ WOK nxt="#{@md.file.base_filename.html_segtoc}" %{<table summary="segment hidden control pre" width="100%" border="0" cellpadding="0" bgcolor=#{@vz.color_grey_pale} align="center"> <tr><td align="left"> - <a href="#{pre}" target="_top" #{@vz.js_prev}> + <a href="#{pre}" target="_top"> #{png_nav.dot_pre} </a> </td> <td align="center"> - <a href="#{up}" target="_top" #{@vz.js_toc}> + <a href="#{up}" target="_top"> #{png_nav.dot_toc} </a> </td> <td align="right"> - <a href="#{nxt}" target="_top" #{@vz.js_next}> + <a href="#{nxt}" target="_top"> #{png_nav.dot_nxt} </a> #{@vz.table_close}} @@ -673,17 +672,17 @@ WOK def toc_nav(f_pre=false,f_nxt=false,use=1) pre=nxt='' toc=%{<td align="center" bgcolor=#{@vz.color_band1}> - <a href="#{@toc}" target="_top" #{@vz.js_toc}> + <a href="#{@toc}" target="_top"> #{png_nav.toc} </a> </td>} pre=%{<td align="center" bgcolor=#{@vz.color_band1}> - <a href="#{@seg_name_html[@seg_name_html_tracker-use]}#{@md.lang_code_insert}#{Sfx[:html]}" target="_top" #{@vz.js_prev}> + <a href="#{@seg_name_html[@seg_name_html_tracker-use]}#{@md.lang_code_insert}#{Sfx[:html]}" target="_top"> #{png_nav.pre} </a> </td>} if f_pre==true nxt=%{<td align="center" bgcolor=#{@vz.color_band1}> - <a href="#{@seg_name_html[@seg_name_html_tracker+1]}#{@md.lang_code_insert}#{Sfx[:html]}" target="_top" #{@vz.js_next}> + <a href="#{@seg_name_html[@seg_name_html_tracker+1]}#{@md.lang_code_insert}#{Sfx[:html]}" target="_top"> #{png_nav.nxt} </a> </td>} if f_nxt==true @@ -714,7 +713,7 @@ WOK end def manifest_link(text) %{<font size=2> - <a href="#{@md.file.base_filename.manifest}" target="_top" #{@vz.js_manifest}> + <a href="#{@md.file.base_filename.manifest}" target="_top"> #{text} </a> </font>} @@ -722,7 +721,7 @@ WOK def concordance_link(text) if @md.concord_make %{<font size=2> - <a href="#{@md.file.base_filename.html_concordance}" target="_top" #{@vz.js_concordance}> + <a href="#{@md.file.base_filename.html_concordance}" target="_top"> #{text} </a> </font>} @@ -746,42 +745,6 @@ WOK <tr><td valign="top"> <font size="2">} end - def heading_advert_local_1 - dir=SiSU_Env::InfoEnv.new(@fns) - %{ <center> -<table summary="image" border="0" cellpadding="3" cellspacing="0" align="center"> -<tr><td align="center" bgcolor="white"> - <a href="http://#{@md.ad_url}#{Sfx[:html]}" target="_top"> - <img border="0" src="#{dir.url.images_local}/#{@md.ad_png}" alt="#{@md.ad_alt}"> - </a> - <p /> -#{@vz.table_close} -</center>} - end - def heading_advert_local_2 - dir=SiSU_Env::InfoEnv.new(@fns) - %{ <center> -<table summary="image" border="0" cellpadding="3" cellspacing="0" align="center"> -<tr><td align="center" bgcolor="white"> - <a href="#{@md.ad_url}#{Sfx[:html]}" target="_top"> - <img border="0" src="#{dir.url.images_local}/#{@md.ad_png}" alt="#{@md.ad_alt}"> - </a> - <p /> -#{@vz.table_close} -</center>} - end - def heading_advert_external - dir=SiSU_Env::InfoEnv.new(@fns) - %{ <center> -<table summary="image" border="0" cellpadding="3" cellspacing="0" align="center"> -<tr><td align="center" bgcolor="white"> - <a href="#{@md.ad_url}#{Sfx[:html]}" target="external"> - <img border="0" src="#{dir.url.images_local}/#{@md.ad_png}" alt="#{@md.ad_alt}"> - </a> - <p /> -#{@vz.table_close} -</center>} - end def credit %{ <div class="main_column"> @@ -856,8 +819,7 @@ WOK #{@vz.color_body} <a name="top" id="top"></a> <a name="up" id="up"></a> -<a name="start" id="start"></a> -#{@vz.js_top}} +<a name="start" id="start"></a>} end def title_banner(title,subtitle,creator) %{ @@ -903,7 +865,7 @@ WOK 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.class==Hash + if t_o.is_a?(Hash) @txt =t_o[:txt] || nil @ocn =t_o[:ocn] || nil @ocn_display =t_o[:ocn_display] || nil @@ -957,9 +919,9 @@ WOK def headname #check whether used hn=if @t_o.is ==:heading \ and not @t_o.name.empty? #determine use - hn=if @t_o.is ==:heading; %{<a name="h#{@t_o.name}" id="h#{@t_o.name}"></a>} - else %{<a name="#{@t_o.name}" id="#{@t_o.name}"></a>} - end + hn=(@t_o.is ==:heading) \ + ? (%{<a name="h#{@t_o.name}" id="h#{@t_o.name}"></a>}) + : (%{<a name="#{@t_o.name}" id="#{@t_o.name}"></a>}) else nil end hn @@ -1035,16 +997,14 @@ WOK end para_form_css('p','norm') end - def break - @txt=@txt.gsub(/#{Mx[:br_page_new]}|#{Mx[:br_page]}/,'<hr /><br />'). - gsub(/#{Mx[:br_obj]}/,'<hr style="width:30%" /><br />') - para_form_css('p','norm') - end def format(tag,attrib) para_form_css(tag,attrib) end def heading_normal(tag,attrib) - %{ + section_break=(tag=~/h[1-4]/) \ + ? '<p><hr width=90% /></p>' + : '' + %{#{section_break} <div class="substance"> #{@p_num.ocn_display} <#{tag} class="#{attrib}" #{@p_num.id}>#{@p_num.name} diff --git a/lib/sisu/v3/html_promo.rb b/lib/sisu/v3/html_promo.rb index a2edea47..387da244 100644 --- a/lib/sisu/v3/html_promo.rb +++ b/lib/sisu/v3/html_promo.rb @@ -98,7 +98,7 @@ module SiSU_HTML_Promo elsif @flag[:sk] #promo set in associated skin promo_array=@vz.widget_promo elsif @flag[:rc] #promo set in rc file - promo_array=if @rc['html']['promo'].class==String + promo_array=if @rc['html']['promo'].is_a?(String) @rc['html']['promo'].split(/[,;]\s*/) else @rc['html']['promo'] end @@ -406,7 +406,7 @@ WOK adverts << output_form_select(type,id) else if defined? @ad[:promo][category][type][id] \ - and @ad[:promo][category][type][id].class==Array \ + and @ad[:promo][category][type][id].is_a?(Array) \ and @ad[:promo][category][type][id].length > 0 adverts << @ad[:promo][category][type][id].join("\n") end diff --git a/lib/sisu/v3/html_scroll.rb b/lib/sisu/v3/html_scroll.rb index 8e9b6e11..170285cf 100644 --- a/lib/sisu/v3/html_scroll.rb +++ b/lib/sisu/v3/html_scroll.rb @@ -125,14 +125,22 @@ module SiSU_HTML_Scroll end elsif dob.is==:heading_insert x=if dob.ln==1 - sto.heading_body1 + unless dob.obj.empty? + sto.heading_body1 + end elsif dob.ln==2 - sto.heading_body2 + unless dob.obj.empty? + sto.heading_body2 + end elsif dob.ln==3 - sto.heading_body3 + unless dob.obj.empty? + sto.heading_body3 + end elsif dob.ln==4 \ and dob.obj !~/^(?:Endnotes|Index|Metadata|Manifest)$/ - sto.heading_body4 + unless dob.obj.empty? + sto.heading_body4 + end elsif dob.ln==4 \ and dob.obj=='Endnotes' sto.heading_body4 @@ -141,19 +149,18 @@ module SiSU_HTML_Scroll and dob.obj=='Index' sto.heading_body4 book_idx=SiSU_Particulars::CombinedSingleton.instance.get_idx_html(@md.opt).html_idx - book_idx.each do |x| #takes book index prepared for segments and strips segment identifying info + book_idx.each do |x| #takes book index prepared for segments & strips segment identifying info x=x.gsub(/<a href="\S+?\.html#(\d+)">(\1(?:-\d+)?)<\/a>/,'<a href="#\1">\2</a>') end book_idx.join("\n") - #elsif dob.ln==4 \ - #and dob.obj=~/Meta/ - #p __LINE__ - ##and dob.obj=='Metadata' - #metadata=SiSU_Metadata::Summary.new(@md).xhtml.metadata elsif dob.ln==5 - sto.heading_body5 + unless dob.obj.empty? + sto.heading_body5 + end elsif dob.ln==6 - sto.heading_body6 + unless dob.obj.empty? + sto.heading_body6 + end end elsif dob.is==:para if dob.indent \ @@ -187,14 +194,13 @@ module SiSU_HTML_Scroll elsif dob.is==:table sto.table elsif dob.is==:break - sto.break end if dob =~/<a name="n\d+">/ \ and dob =~/^(?:\^~\d+\s|<!e[:_]\d+!>)/ # hmmm re-adjusted 200507, for alt endnote which should again be matched ^~ ... not in response to problem though dob='' end - unless @rcdc; @scr[:body] << para_html unless para_html =~/\A\s*\Z/ - else #@scr[:metadata] << dob.obj + unless @rcdc + @scr[:body] << para_html unless para_html =~/\A\s*\Z/ end end end diff --git a/lib/sisu/v3/html_segments.rb b/lib/sisu/v3/html_segments.rb index b527eaba..81bb08d4 100644 --- a/lib/sisu/v3/html_segments.rb +++ b/lib/sisu/v3/html_segments.rb @@ -312,9 +312,9 @@ module SiSU_HTML_Seg @@get_hash_to=dob.name @@get_hash_fn=dob.name end - if dob.obj.class==String + if dob.obj.is_a?(String) markup(dob) - elsif dob.obj.class==Array + elsif dob.obj.is_a?(Array) dob.obj.each do |pg| markup(pg) end @@ -370,13 +370,12 @@ module SiSU_HTML_Seg else '' end @@seg[:tocband_bannerless] << '<br />' << conditional_div_close << format_head_seg.navigation_band_bottom(@@segtocband,@@seg[:dot_nav]) - @@seg[:headings] << format_head_seg.seg_head_escript if SiSU_HTML_Format::HeadSeg.method_defined? :seg_head_escript #debug PHP move up in text #bug if @title_banner_ @@seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author).gsub(clean,'') end - ocn=if @@heading1[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]; $1 #fix - else '' - end + 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) @@ -385,9 +384,9 @@ module SiSU_HTML_Seg end if @@is2==1 heading2=@@heading2 - ocn=if heading2[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]; $1 #fix - else '' - end + 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) @@ -396,9 +395,9 @@ module SiSU_HTML_Seg end if @@is3==1 heading3=@@heading3 - ocn=if heading3[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]; $1 #fix - else '' - end + 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) @@ -407,9 +406,9 @@ module SiSU_HTML_Seg end if @@is4==1 heading4=@@heading4 - ocn=if heading4[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]; $1 #fix - else '' - end + 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) @@ -472,7 +471,6 @@ module SiSU_HTML_Seg elsif dob.is==:table sto.table elsif dob.is==:break - sto.break end if @md.flag_separate_endnotes dob.obj=dob.obj.gsub(/"\s+href="#_(\d+)">/,%{" href=\"endnotes#{Sfx[:html]}#_\\1">}) #endnote- twice #removed file type diff --git a/lib/sisu/v3/html_tune.rb b/lib/sisu/v3/html_tune.rb index a1c9a8dc..05126ede 100644 --- a/lib/sisu/v3/html_tune.rb +++ b/lib/sisu/v3/html_tune.rb @@ -101,7 +101,7 @@ module SiSU_HTML_Tune end def clean html=@html - str=if html.class==String + str=if html.is_a?(String) html else html.obj end @@ -354,7 +354,7 @@ module SiSU_HTML_Tune gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'<del>\1</del>'). gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'<tt>\1</tt>'). # tt, kbd gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,'<a name="\1"></a>'). - gsub(/^#{Mx[:gl_bullet]}/m,'● '). + gsub(/#{Mx[:gl_bullet]}/m,'● '). gsub(/#{Mx[:nbsp]}/,' '). gsub(/<(p|br)>/,'<\1 />') dob=SiSU_HTML_Tune::CleanHTML.new(dob).clean diff --git a/lib/sisu/v3/hub.rb b/lib/sisu/v3/hub.rb index c4eed640..2e0fb92c 100644 --- a/lib/sisu/v3/hub.rb +++ b/lib/sisu/v3/hub.rb @@ -59,8 +59,33 @@ module SiSU require_relative 'constants' # constants.rb require_relative 'sysenv' # sysenv.rb + include SiSU_Env include SiSU_Screen - @@pwd_the=Dir.pwd + require_relative 'options' # options.rb + require_relative 'param' # param.rb + include SiSU_Param + require_relative 'defaults' # defaults.rb + include SiSU_Viz + require_relative 'help' # help.rb + include SiSU_Help + require 'uri' + class HubMaster + def initialize(argv) + pwd_the=Dir.pwd + begin #% select what to do + home=ENV['HOME'] + opt=SiSU_Commandline::Options.new(argv) + SiSU::Processing.new(opt).actions + rescue + cmd=(opt ? opt.cmd : '') + SiSU_Screen::Ansi.new(cmd,$!,$@).rescue do + __LINE__.to_s + ':' + __FILE__ + end + ensure + Dir.chdir(pwd_the) + end + end + end class OptionLoopFiles def initialize(opt) @opt=opt @@ -116,7 +141,7 @@ module SiSU number_of_files={} @opt.files.each_with_index do |fns,i| fn=fns.gsub(/(?:~(?:#{@r}))?\.ss[tm]$/,'') - if number_of_files[fn].class == Array + if number_of_files[fn].is_a?(Array) number_of_files[fn] << i else number_of_files.store(fn,[i]) @@ -184,23 +209,16 @@ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on require_relative 'cgi' # cgi.rb SiSU_CGI::SearchSQL.new(@opt).read end - def encoding # -K build character encoding db (uses KirbyBase) - require_relative 'character_encoding' # character_encoding.rb - SiSU_CharacterEncode::Create.new.db - end def termsheet # -t system("sisu_termsheet #{@opt.cmd} #{@opt.fns}\n") @@n_do=@@n_do+1 SiSU_Screen::Ansi.new(@opt.cmd,@@n_do,'Termsheet(s) processed').term_sheet_title unless @opt.act[:quiet][:set] ==:on end def webrick # -W - port=prt=@fns - prt=if prt !~/\d+/ - 'webrick default (sysenv)' - else "webrick port set to #{prt}" - end + 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} } - system("sisu_webrick #{port}&\n") + require_relative 'webrick' + SiSU_Webserv::WebrickStart.new end def not_found puts "\n#{@cX.fuschia}FILE NOT FOUND:#{@cX.off} << #{@opt.fns} >> - requested #{@opt.cmd} processing skipped\n" @@ -229,10 +247,11 @@ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on class Processing require 'fileutils' include FileUtils - @@env=SiSU_Env::InfoEnv.new + @@env=nil attr_accessor :op def initialize(opt) @opt=opt + @@env=SiSU_Env::InfoEnv.new @msg,@msgs='',nil @tell=lambda { SiSU_Screen::Ansi.new(@opt.cmd,@msg,"#{@msgs.inspect if @msgs}") } end @@ -501,10 +520,8 @@ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on def do_initialization @cX=SiSU_Screen::Ansi.new(@opt.cmd).cX flag=SiSU_Env::InfoProcessingFlag.new - if @opt.cmd =~/[vVM]/ #% version information - unless @opt.files.empty? - SiSU_Help::Help.new('env',@opt).sisu_version - end + if @opt.act[:version_info][:set]==:on #% version information + SiSU_Help::Help.new('env',@opt).sisu_version end if @opt.act[:license][:set]==:on #% license information SiSU_Help::Help.new('license',@opt).help_request @@ -692,33 +709,5 @@ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on end end end - begin #% select what to do - if RUBY_VERSION < '1.9' - require 'jcode' - $KCODE='UTF8' - end - require_relative 'constants' # constants.rb - require_relative 'options' # options.rb - require_relative 'sysenv' # sysenv.rb - include SiSU_Env; include SiSU_Screen - require_relative 'param' # param.rb - include SiSU_Param - require_relative 'defaults' # defaults.rb - include SiSU_Viz - require_relative 'help' # help.rb - include SiSU_Help - require 'uri' - home=ENV['HOME'] - argv=$* - @opt=SiSU_Commandline::Options.new(argv) - SiSU::Processing.new(@opt).actions - rescue - cmd=(@opt ? @opt.cmd : '') - SiSU_Screen::Ansi.new(cmd,$!,$@).rescue do - __LINE__.to_s + ':' + __FILE__ - end - ensure - Dir.chdir(@@pwd_the) - end end __END__ diff --git a/lib/sisu/v3/manifest.rb b/lib/sisu/v3/manifest.rb index 20983d7f..58f2d8eb 100644 --- a/lib/sisu/v3/manifest.rb +++ b/lib/sisu/v3/manifest.rb @@ -87,7 +87,7 @@ module SiSU_Manifest url_html="file://#{@md.file.output_path.manifest.dir}/#{@md.file.base_filename.manifest}" @opt.cmd=~/[MVvz]/ \ ? SiSU_Screen::Ansi.new(@opt.cmd,'Manifest',"#{xbrowser} #{url_html}").green_hi_blue - : SiSU_Screen::Ansi.new(@opt.cmd,'Manifest',"[#{@opt.f_pth[:lng_is]}] #{@opt.fno}").grey_title_hi + : SiSU_Screen::Ansi.new(@opt.cmd,'Manifest',"[#{@opt.f_pth[:lng_is]}]", "#{url_html}").grey_title_grey_blue SiSU_Screen::Ansi.new(@opt.cmd,"#{browser} #{url_html}").grey_tab if @opt.cmd =~/v/i end data=SiSU_HTML::Source::HTML_Environment.new(@particulars).tuned_file_instructions @@ -111,7 +111,7 @@ module SiSU_Manifest @base_url="#{@env.url.root}/#{@fnb}" @o_str=SiSU_Env::FileOp.new(md).output_dir_structure @image_path=if @o_str.dump_or_redirect? - %{./image} + './image' else %{#{@f.path_rel_links.html_scroll_2}_sisu/image_sys} end @@ -155,9 +155,9 @@ module SiSU_Manifest end def summarize_sources(id,file,pth,rel,url) sys=SiSU_Env::SystemCall.new - dgst =if @dg =~/^sha(?:2|256)$/; sys.sha256("#{pth}/#{file}") - else sys.md5("#{pth}/#{file}") - end + dgst=(@dg =~/^sha(?:2|256)$/) \ + ? sys.sha256("#{pth}/#{file}") + : sys.md5("#{pth}/#{file}") SiSU_Screen::Ansi.new(@md.opt.cmd,"#{dgst[1]} #{file}").warn if @md.opt.cmd =~/[vVM]/ size=(File.size("#{pth}/#{file}")/1024.00).to_s kb=/([0-9]+\.[0-9]{0,1})/m.match(size)[1] @@ -225,13 +225,13 @@ module SiSU_Manifest end end def metadata(id,info) - info=info.to_s.gsub(/#{Mx[:br_line]}/,'<br />') + info=info.to_s.gsub(/(?:#{Mx[:br_line]}|\\)+/,'<br />') @manifest[:html] << %{<tr><th class="left"><p class="bold_left">#{id}:</p></th><td><p class="left">#{info}</p></td></tr>\n} end def links(url,lnk,target) - static=if url =~/^\.\//; url.gsub(/^\.(\.)?/,@base_url) - elsif url =~/^\.\.\//; url.gsub(/^\.(\.)?/,@env.url.root) - else url + static=if url =~/^\.\// then url.gsub(/^\.(\.)?/,@base_url) + elsif url =~/^\.\.\// then url.gsub(/^\.(\.)?/,@env.url.root) + else url end @manifest[:html] << %{<tr><th class="right" width=5%><p class="norm">●</p></th><td class="left"><p class="norm"><a href="#{url}">#{lnk}</a></p><p class="tiny"> #{@brace_url.xml_open}<a href="#{static}">#{static}</a>#{@brace_url.xml_close}</p></td></tr>\n} end @@ -406,11 +406,11 @@ module SiSU_Manifest summarize(id,file,pth,rel,url) end if FileTest.file?(@f.place_file.txt.dir)==true - if @md.opt.cmd =~/a/; id='Plaintext (Unix (UTF-8) with footnotes)' - elsif @md.opt.cmd =~/e/; id='Plaintext (Unix (UTF-8) with endnotes)' - elsif @md.opt.cmd =~/A/; id='Plaintext (dos (UTF-8) with footnotes)' - elsif @md.opt.cmd =~/E/; id='Plaintext (dos (UTF-8) with endnotes)' - else id='Plaintext (UTF-8)' + id=if @md.opt.cmd =~/a/ then 'Plaintext (Unix (UTF-8) with footnotes)' + elsif @md.opt.cmd =~/e/ then 'Plaintext (Unix (UTF-8) with endnotes)' + elsif @md.opt.cmd =~/A/ then 'Plaintext (dos (UTF-8) with footnotes)' + elsif @md.opt.cmd =~/E/ then 'Plaintext (dos (UTF-8) with endnotes)' + else 'Plaintext (UTF-8)' end pth=@f.output_path.txt.dir rel=@f.output_path.txt.rel_sm @@ -697,9 +697,15 @@ WOK @manifest[:html] << %{<tr><th class="left"><p class="bold_left">#{@translate.topic_register}:</p></th><td>\n} @md.topic_register_array.each do |t| t.each_with_index do |st,i| - if st.class==Array + if st.is_a?(Array) st.each do |v| - @manifest[:html] << %{<p class="it#{i}">#{v}</p>\n} + if v.is_a?(Array) + v.each do |w,i| + @manifest[:html] << %{<p class="it#{i}">#{w}</p>\n} + end + else + @manifest[:html] << %{<p class="it#{i}">#{v}</p>\n} + end end else @manifest[:html] << %{<p class="it#{i}">#{st}</p>\n} end @@ -749,9 +755,9 @@ WOK and @md.lnk @md.lnk.each do |l| if defined? l[:say] - target=if l[:url] !~/^\.(\.)?\//; 'external' - else '_top' - end + target=(l[:url] !~/^\.(\.)?\//) \ + ? 'external' + : '_top' url,lnk=l[:url],l[:say] unless url.nil? \ or url.empty? diff --git a/lib/sisu/v3/manpage.rb b/lib/sisu/v3/manpage.rb index d292900c..81f2ed2c 100644 --- a/lib/sisu/v3/manpage.rb +++ b/lib/sisu/v3/manpage.rb @@ -136,9 +136,9 @@ module SiSU_Manpage end notes=@n.flatten notes.each do |e| - util=if e.to_s =~/^\[[\d*+]+\]:/; SiSU_TextUtils::Wrap.new(e.to_s,78,4,1) - else SiSU_TextUtils::Wrap.new(e.to_s,78,0,1) - end + util=(e.to_s =~/^\[[\d*+]+\]:/) \ + ? (SiSU_TextUtils::Wrap.new(e.to_s,78,4,1)) + : (SiSU_TextUtils::Wrap.new(e.to_s,78,0,1)) wrap=util.line_wrap wrap=if wrap =~ /^\s*[\d*+]+\s+.+?\s*\Z/m wrap.gsub(/(^| |#{Mx[:nbsp]}|\s|\*)\\\*/,'\1\\\\\*'). #man page requires @@ -415,7 +415,7 @@ WOK filename_manpage=SiSU_Env::FileOp.new(@md).write_file.manpage @sisu=[] @content.each do |para| # this is a hack - if para.class==Array \ + if para.is_a?(Array) \ and para.length > 0 para.each do |line| line=line.gsub(/\s+$/m,'') diff --git a/lib/sisu/v3/manpage_format.rb b/lib/sisu/v3/manpage_format.rb index 8698ee40..a102b094 100644 --- a/lib/sisu/v3/manpage_format.rb +++ b/lib/sisu/v3/manpage_format.rb @@ -76,11 +76,6 @@ module SiSU_ManpageFormat class FormatTextObject def initialize(md,dob) @md,@dob=md,dob -if @dob.class==Hash - puts __FILE__ + ' ' + __LINE__.to_s #+ "-->\n" + caller.inspect -elsif @dob.class==String - puts __FILE__ + ' ' + __LINE__.to_s #+ "-->\n" + caller.inspect -end rgx=/#{Mx[:en_a_o]}[\d*+]+\s+(.+?)#{Mx[:en_a_c]}/ @dob.obj.gsub!(rgx,'\1') if @dob.obj =~rgx @vz=SiSU_Env::GetInit.instance.skin diff --git a/lib/sisu/v3/odf.rb b/lib/sisu/v3/odf.rb index 4985b3dd..807d2832 100644 --- a/lib/sisu/v3/odf.rb +++ b/lib/sisu/v3/odf.rb @@ -101,7 +101,7 @@ module SiSU_ODF require_relative 'defaults' # defaults.rb require_relative 'shared_txt' # shared_txt.rb @@img_count=0 - @@odf={ body: [], open: [], close: [], head: [], metadata: [], tail: [], endnotes: [] } + @@odf={ body: [], head: [], toc: [], metadata: [], tail: [], book_idx: [], endnotes: [] } @@docstart=true @@fns=nil def initialize(particulars) @@ -137,13 +137,26 @@ module SiSU_ODF if n =~/#{Mx[:br_line]}/ fix=n.split(/#{Mx[:br_line]}/) #watch #added fix.each do |x| - if x =~/\S+/; @n << 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_ODF_Format::FormatBookIndex.new(x).book_idx_bookmark + else nil + end + idx_arr << x.strip if x.is_a?(String) + end + @@odf[:book_idx]=idx_arr.join + end + end def odf_metadata @@odf[:metadata]=SiSU_Metadata::Summary.new(@md).odf.metadata end @@ -162,8 +175,10 @@ module SiSU_ODF @@odf[:tail] << %{\n<text:p text:style-name="P_normal">SiSU: <<text:a xlink:type="simple" xlink:href="http://www.jus.uio.no/lm">www.jus.uio.no/sisu</text:a>> and <<text:a xlink:type="simple" xlink:href="http://www.sisudoc.org">www.sisudoc.org</text:a>></text:p>} @@odf[:tail] << "\n</office:text></office:body></office:document-content>" end - def heading(dob,p_num='') - dob.obj=dob.obj.gsub(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/,'') #check + def set_bookmark_tag(dob) + tags=SiSU_ODF_Format::Tags.new.set_bookmark_tag(dob) + end + def heading(dob,p_num) m=/#{$1}/ breakpage='' if @md.fns \ @@ -180,7 +195,19 @@ module SiSU_ODF end end @@docstart=false - dob.obj=%{#{breakpage}<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">#{dob.obj}#{p_num}</text:h>} + dob.tmp=dob.obj + dob.obj=%{#{breakpage}<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}</text:h>} + dob + end + def toc(dob,p_num) + m=/#{$1}/ + hardspace=(dob.lv =~/[A-C]/i) \ + ? '<text:p text:style-name="Standard"/>' + : '' + toc_heading=dob.ocn \ + ? %{<text:bookmark-ref text:reference-format="text" text:ref-name="#{dob.ocn}">#{dob.tmp}</text:bookmark-ref>} + : dob.tmp + dob.obj=%{<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">#{toc_heading}</text:h>#{hardspace}} dob end def image_src(i) @@ -244,7 +271,7 @@ module SiSU_ODF dob.obj.scan(/(#{Mx[:lnk_o]}[ ]*(.+?)[ ]*#{Mx[:lnk_c]}(image))/) else nil end - if m; m.each do |i| + if m then m.each do |i| cont,url=i[1],i[2] cont=cont.gsub(/([)(\]\[])/,"\\\\\\1"). gsub(/([+?])/,"\\\\\\1") # incorrect handling of + @@ -282,6 +309,10 @@ module SiSU_ODF end t end + def text_link_odf_bookmark(txt,url,trail) + map_nametags=SiSU_Particulars::CombinedSingleton.instance.get_map_nametags(@md).nametags_map + %{<text:bookmark-ref text:reference-format="text" text:ref-name="#{url}">#{txt.strip}</text:bookmark-ref>#{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 @@ -305,6 +336,19 @@ module SiSU_ODF 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 @@ -312,7 +356,7 @@ module SiSU_ODF end dob end - def normal(dob,p_num='') #P1 - P3 + def normal(dob,p_num) #P1 - P3 dob.obj=dob.obj.gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/, '<text:a xlink:type="simple" xlink:href="\1">\1</text:a>'). #http ftp matches escaped, no decoration gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/, @@ -322,12 +366,12 @@ module SiSU_ODF dob.obj= if dob.is==:para \ and dob.indent.to_s =~/[0-9]/ \ and dob.indent == dob.hang - %{<text:p text:style-name="P_indent_#{dob.indent}">#{dob.obj}#{p_num}</text:p>} + %{<text:p text:style-name="P_indent_#{dob.indent}">#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}</text:p>} elsif dob.is==:para \ and dob.hang.to_s =~/[0-9]/ \ and dob.indent != dob.hang - %{<text:p text:style-name="P_h#{dob.hang}_i#{dob.indent}">#{dob.obj}#{p_num}</text:p>} - else %{<text:p text:style-name="P_normal">#{dob.obj}#{p_num}</text:p>} + %{<text:p text:style-name="P_h#{dob.hang}_i#{dob.indent}">#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}</text:p>} + else %{<text:p text:style-name="P_normal">#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}</text:p>} end dob end @@ -341,8 +385,8 @@ module SiSU_ODF str end def footnote(t_o) - str=if defined? t_o.obj; t_o.obj - elsif t_o.class==String; 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 @@ -376,8 +420,8 @@ module SiSU_ODF end end end - if defined? t_o.obj; t_o.obj=str - elsif t_o.class==String; t_o=str + if defined? t_o.obj then t_o.obj=str + elsif t_o.is_a?(String) then t_o=str end t_o end @@ -390,12 +434,13 @@ module SiSU_ODF end def poem(dob,p_num) #P4 #same as group parray=[] - dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each do |parablock| + 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) - parray << %{<text:p text:style-name="P_group">#{parablock}</text:p>} if parablock =~/\S+/ + parray << %{<text:p text:style-name="P_group">#{set_ref}#{parablock}</text:p>} if parablock =~/\S+/ end dob.obj=parray.join \ - + %{<text:p text:style-name="P_group">#{p_num}</text:p>} \ + + %{<text:p text:style-name="P_group">#{p_num[:display]}</text:p>} \ + '<text:p text:style-name="Standard"/>' dob end @@ -407,7 +452,8 @@ module SiSU_ODF %{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}}). gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, %{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="\\1">\\1</text:a>#{@brace_url.xml_close}}) #http ftp matches with decoration - dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each do |parablock| + 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 xlink:type="simple" xlink:href="(.+?)">/m,'<text:a xlink:type="simple" xlink:href="\1">'). gsub(/<(\/text:a)>/,'<\1>'). @@ -415,10 +461,10 @@ module SiSU_ODF gsub(/<(text:p text:style-name="Footnote")>/,'<\1>'). gsub(/<(\/?text:(?:note-citation|note-body|note|p))>/,'<\1>') parablock=footnote(parablock) - parray << %{<text:p text:style-name="P_group">#{parablock}</text:p>} if parablock =~/\S+/ + parray << %{<text:p text:style-name="P_group">#{set_ref}#{parablock}</text:p>} if parablock =~/\S+/ end dob.obj=parray.join \ - + %{<text:p text:style-name="P_group">#{p_num}</text:p>} \ + + %{<text:p text:style-name="P_group">#{p_num[:display]}</text:p>} \ + '<text:p text:style-name="Standard"/>' dob end @@ -430,7 +476,8 @@ module SiSU_ODF %{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}}). gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, %{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="\\1">\\1</text:a>#{@brace_url.xml_close}}) #http ftp matches with decoration - dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each do |parablock| + 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 xlink:type="simple" xlink:href="(.+?)">/m,'<text:a xlink:type="simple" xlink:href="\1">'). gsub(/<(\/text:a)>/,'<\1>'). @@ -438,10 +485,10 @@ module SiSU_ODF gsub(/<(text:p text:style-name="Footnote")>/,'<\1>'). gsub(/<(\/?text:(?:note-citation|note-body|note|p))>/,'<\1>') parablock=footnote(parablock) - parray << %{<text:p text:style-name="P_group">#{parablock}</text:p>} if parablock =~/\S+/ + parray << %{<text:p text:style-name="P_group">#{set_ref}#{parablock}</text:p>} if parablock =~/\S+/ end dob.obj=parray.join \ - + %{<text:p text:style-name="P_group">#{p_num}</text:p>} \ + + %{<text:p text:style-name="P_group">#{p_num[:display]}</text:p>} \ + '<text:p text:style-name="Standard"/>' dob end @@ -449,15 +496,16 @@ module SiSU_ODF if dob.is==:code dob.obj=dob.obj.gsub(/\s\s/,'  ') parray=[] - dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each do |parablock| + 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*$/,'<br />'). gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/, '<text:a xlink:type="simple" xlink:href="\1">\1</text:a>') #http ftp matches escaped, no decoration - parray << %{<text:p text:style-name="P_code">#{parablock}</text:p>} if parablock =~/\S+/ + parray << %{<text:p text:style-name="P_code">#{set_ref}#{parablock}</text:p>} if parablock =~/\S+/ end dob.obj=parray.join \ - + %{<text:p text:style-name="P_group">#{p_num}</text:p>} \ + + %{<text:p text:style-name="P_group">#{p_num[:display]}</text:p>} \ + '<text:p text:style-name="Standard"/>' end dob @@ -490,18 +538,22 @@ module SiSU_ODF dob else dob end - p_num='' - if @env.odt_ocn? - if dob.is !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ - if defined? dob.ocn \ - and not dob.ocn.nil? - p_num=SiSU_ODF_Format::ParagraphNumber.new(dob.ocn).display - end + p_num={ display: '', set_ref: '' } + if dob.is !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ + if defined? dob.ocn \ + and dob.ocn.is_a?(Fixnum) + p_num=SiSU_ODF_Format::ParagraphNumber.new(dob.ocn).set_bookmark_and_display + #p_num=SiSU_ODF_Format::ParagraphNumber.new(dob.ocn).set_ref_and_display end end dob=footnote(dob) if dob.is==:heading @@odf[:body] << heading(dob,p_num).obj << @br*2 + if SiSU_Env::ProcessingSettings.new(md).build.toc? + if dob.lv =~/[A-C1]/i + @@odf[:toc] << toc(dob,p_num).obj + end + end elsif dob.is ==:verse @@odf[:body] << poem(dob,p_num).obj << @br*2 elsif dob.is==:group @@ -539,6 +591,7 @@ module SiSU_ODF 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.cmd =~/V/ #KEEP @@ -573,7 +626,7 @@ module SiSU_ODF dob.obj=dob.obj.gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'<del>\1</del>'). gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'<ins>\1</ins>'). gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'<cite>\1</cite>'). - gsub(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/,''). #check + gsub(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/,'<text:bookmark-start text:name="\1"/><text:bookmark-end text:name="\1"/>'). #check gsub(/#{Mx[:mk_o]}#([a-zA-Z]+)#{Mx[:mk_c]}/,'&\1;'). gsub(/#{Mx[:mk_o]}(#[0-9]+)#{Mx[:mk_c]}/,'&\1;'). gsub(/#{Mx[:mk_o]}[~-]##{Mx[:mk_c]}/,'') @@ -693,14 +746,19 @@ WOK def publish divider='=' content=[] + br_pg='<text:p text:style-name="P_normal_page_new"> </text:p>' data=@data - content << @@odf[:open] - content << @@odf[:head] - content << @@odf[:body] - content << @@odf[:metadata] - content << @@odf[:tail] + content << + @@odf[:head] << + @@odf[:toc] << + br_pg << + @@odf[:body] << + @@odf[:book_idx] << + br_pg << + @@odf[:metadata] << + @@odf[:tail] SiSU_ODF::Source::Output.new(content,@md,@env).odf - @@odf[:head],@@odf[:body],@@odf[:tail],@@odf[:metadata]=[],[],[],[] + @@odf={ head: [], toc: [], body: [], tail: [], book_idx: [], metadata: [] } end end class Output <Source @@ -739,7 +797,7 @@ WOK env.make_path(@md.file.output_path.odt.dir) filename="#{@env.processing_path.odt}/content.xml" od=File.new(filename,'w+') - @content.each do |para| # this is a hack + @content.compact.each do |para| # this is a hack od.puts para unless para =~/\A\s*\Z/ end od.close @@ -759,45 +817,3 @@ WOK end end __END__ -todo: -* table of contents -* page header/footer? - -done: -headings * -footnotes * -bold underscore italics strikethrough * -superscript subscript * -extended ascii set * -indents * - [autonomy_markup0.sst] * -groups - poem * - code * - tables -images -bullet -line break -page break - -notes?? [you could add a note number for every object/paragraph!] - - FileUtils::cd(@env.processing_path.odt) - structure=[] - Find.find(@env.processing_path.odt) do |f| - structure << puts f - end - open(opendoc,'wb') do |f| - zip=Zlib::ZipWriter.new(f) - structure.each |z| do - zip << z - end - zip.close - end - #zip -qr #{opendoc} * - FileUtils::mv(opendoc,"#{@env.path.output}/#{@md.fnb}/.") - FileUtils::cd(Dir.pwd) -● -<text:span text:style-name="T6">●</text:span> #bullet -dob.obj.gsub!(/^(#{Mx[:pa_o]}:i[1-9]#{Mx[:pa_c]})\s*#{Mx[:gl_bullet]}/,'\1 <text:span text:style-name="T6">·</text:span> ') #bullet -dob.obj.gsub!(/^#{Mx[:gl_bullet]}/,'<text:span text:style-name="T6">·</text:span> ') #bullet diff --git a/lib/sisu/v3/odf_format.rb b/lib/sisu/v3/odf_format.rb index ae5c4aec..adfcf684 100644 --- a/lib/sisu/v3/odf_format.rb +++ b/lib/sisu/v3/odf_format.rb @@ -63,8 +63,15 @@ module SiSU_ODF_Format def initialize(paranum) @paranum=/(\d+)/m.match(paranum.to_s)[1] end - def display - @paranum.gsub(/(\d+)/,' <text:span text:style-name="Span_subscript">[\1]</text:span>') + def set_ref_and_display + set_ref=@paranum.gsub(/(\d+)/,' <text:span text:style-name="Span_subscript"><text:reference-mark-start text:name="\1"/><text:reference-mark-end text:name="\1"/></text:span>') + disp=@paranum.gsub(/(\d+)/,' <text:span text:style-name="Span_subscript">[\1]</text:span>') + ocn={ display: disp, set_ref: set_ref } + end + def set_bookmark_and_display + set_ref=@paranum.gsub(/(\d+)/,' <text:span text:style-name="Span_subscript"><text:bookmark-start text:name="\1"/><text:bookmark-end text:name="\1"/></text:span>') + disp=@paranum.gsub(/(\d+)/,' <text:span text:style-name="Span_subscript">[\1]</text:span>') + ocn={ display: disp, set_ref: set_ref } end def name @paranum.gsub(/(\d+)/,'<a name="\1"></a>') @@ -73,10 +80,54 @@ module SiSU_ODF_Format @paranum.gsub(/(\d+)/,'<a href="#\1">') 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]}/, + '<text:span text:style-name="Span_bold">\1</text:span>'). + sub(rgx_bookmark, + %{<text:bookmark-ref text:reference-format="text" text:ref-name="#{url}">#{link.strip}</text:bookmark-ref>}) + 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='<text:p text:style-name="P_normal">' + @idx_str + '</text:p>' + end + end + class Tags + def set_bookmark_tag(dob) + tags='' + if dob.tags.length > 0 + dob.tags.each do |tag| + tags +=%{ <text:span text:style-name="Span_subscript"><text:bookmark-start text:name="#{tag}"/><text:bookmark-end text:name="#{tag}"/></text:span>} + end + end + tags + end + end class FormatTextObject def initialize(md,t_o) @md,@t_o=md,t_o - if t_o.class==Hash + if t_o.is_a?(Hash) @txt =t_o[:txt] || nil else p t_o.class @@ -116,9 +167,9 @@ module SiSU_ODF_Format end end def table_head_open(count) - type=if @dob.head_; 1 - else 2 - end + type=(@dob.head_) \ + ? 1 + : 2 alpha=case @dob.cols when 1; 'A' when 2; 'B' @@ -136,12 +187,13 @@ module SiSU_ODF_Format when 14; 'N' else 'D' end - %{<table:table table:name="Table#{count}" table:style-name="Table#{type}">#{@br}} + + tag=SiSU_ODF_Format::Tags.new.set_bookmark_tag(@dob) + %{<table:table table:name="Table#{count}" table:style-name="Table#{type}">#{@p_num[:set_ref]}#{tag}#{@br}} + %{<table:table-column table:style-name="Table#{type}.#{alpha}" table:number-columns-repeated="#{@dob.cols}"/>#{@br}} end def table_close(tablefoot='') '</table:table>' \ - + %{<text:p text:style-name="P_group">#{@p_num}</text:p>} + + %{<text:p text:style-name="P_group">#{@p_num[:display]}</text:p>} end def table_tag_cell(str,i) txt_name_cell=if i==0 \ diff --git a/lib/sisu/v3/options.rb b/lib/sisu/v3/options.rb index 7aa3622d..39c392a9 100644 --- a/lib/sisu/v3/options.rb +++ b/lib/sisu/v3/options.rb @@ -57,11 +57,12 @@ =end module SiSU_Commandline - require "pathname" + require 'pathname' require_relative 'sysenv' # sysenv.rb @@base_path=nil class Options attr_accessor :cmd,:mod,:act,:dir_structure_by,:f_pths,:files,:files_mod,:base_path,:base_stub,:sub_location,:paths,:lngs,:f_pth,:pth,:fno,:fns,:fnb,:fnc,:fng,:fncb,:lng,:lng_base,:what + @@act=nil def initialize(a) @cmd,@f_pth,@pth,@fno,@fns,@fnb,@fnc,@fng,@fncb,@what,@lng,@lng_base,@base_path,@base_stub,@sub_location='','','','','','','','','','','','','','' @f_pths,@files,@files_mod,@paths,@mod,@act=Array.new(5){[]} @@ -185,10 +186,13 @@ module SiSU_Commandline @mod=['--v3'] @cmd=shortcut.cf_0 + 'm' end - SiSU_Screen::Ansi.new(@cmd,"\tsisu " + @cmd + ' ' + @mod.join(' ') + ' ' + @files.join(' ') + "\n").print_brown if @cmd =~/[vVM]/ + if @cmd =~/[vVM]/ \ + && @cmd !~/-vu?$/ + SiSU_Screen::Ansi.new(@cmd,"\tsisu " + @cmd + ' ' + @mod.join(' ') + ' ' + @files.join(' ') + "\n").print_brown + end end # @files=@files.uniq - @act=opt_act + @@act ? @act=@@act : @@act=@act=opt_act @files self end @@ -212,7 +216,7 @@ module SiSU_Commandline if x =~/^(?:https?|file):\/\/\S+/ #\ end pwd=Dir.pwd - fn_pod=x.gsub(/.+?([^\/]+)\.txz$/,'\1') + fn_pod=x.gsub(/([^\/]+)\.txz$/,'\1') fullname=@env.processing_path.processing + '/sisupod/' + fn_pod pt=Pathname.new(fullname) FileUtils::mkdir_p(pt.to_s) @@ -220,7 +224,7 @@ module SiSU_Commandline options=s.gsub(/(\s+--?\S+)+.+/,'\1') system(" chdir #{fullname} - tar xaf #{x} + tar xaf #{pwd}/#{x} chdir #{pwd} ") Dir.chdir(pt.realpath.to_s + '/sisupod/doc') @@ -315,9 +319,9 @@ module SiSU_Commandline else puts "file not found: #{x}" end elsif x =~ /\.termsheet\.rb$/ - if FileTest.file?(x); f << x - else puts "file not found: #{x}" - end + (FileTest.file?(x)) \ + ? (f << x) + : (puts "file not found: #{x}") else w=x puts "#{x} in #{a.join(' ')}?" end @@ -456,334 +460,342 @@ module SiSU_Commandline end def opt_act #note mod line commands have already been converted to command characters, cmd cmd,mod=@cmd,@mod - act={} - act[:license]=(cmd =~/L/ \ - || mod.inspect =~/"--license/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:site_init]=(cmd =~/C/ \ - || mod.inspect =~/"--init-site"|"--configure"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:rc]=if mod.inspect =~/"--rc=/ - x=Dir.pwd + '/' + mod.join.gsub(/--rc=/,'') - { bool: true, set: :on, inst: x } - else - { bool: false, set: :na, inst: '' } - end - act[:processing_path]=if mod.inspect =~/"--processing-path=/ - base_pth=mod.join(';').gsub(/^.*--processing-path=['"]?(.+?)(?:['"]?;.+)?$/,'\1') - { bool: true, set: :on, inst: base_pth } - elsif mod.inspect =~/"--processing-path/ - { bool: true, set: :on, inst: @base_path } - else - { bool: false, set: :na, inst: nil } - end - act[:dump]=if mod.inspect =~/"--dump=/ - base_pth=mod.join(';').gsub(/^.*--dump=['"]?(.+?)(?:['"]?;.+)?$/,'\1') - { bool: true, set: :on, inst: base_pth } - elsif mod.inspect =~/"--dump/ - { bool: true, set: :on, inst: @base_path } + @@act=if @@act + @act=@@act else - { bool: false, set: :na, inst: nil } - end - act[:redirect]=if mod.inspect =~/"--redirect=/ - base_pth=mod.join(';').gsub(/^.*--redirect=['"]?(.+?)(?:['"]?;.+)?$/,'\1') - { bool: true, set: :on, inst: base_pth } - elsif mod.inspect =~/"--redirect/ - { bool: true, set: :on, inst: @base_path } - else - { bool: false, set: :na, inst: nil } - end - act[:verbose]=(cmd =~/v/ \ - || mod.inspect =~/"--verbose"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:quiet]=(cmd =~/q/ \ - || mod.inspect =~/"--quiet"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:color_state]=if mod.inspect =~/"--color-on"|"--color"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--color-off"/ - { bool: false, set: :off } - else { bool: true, set: :na } #fix default color - end -# act[:color_toggle]=if cmd =~/c/ \ -# or mod.inspect =~/"--color-toggle"/ -# true -# else false -# end - act[:maintenance]=(cmd =~/M/ \ - || mod.inspect =~/"--maintenance|--keep-processing-files"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:profile]=(cmd =~/E/ \ - || mod.inspect =~/"--profile"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:switch]=if mod.inspect =~/"--switch-off=/ - off_list=mod.join(';').gsub(/^.*--switch-off=['"]?(.+?)(?:['"];.+)?$/,'\1') - off_list=off_list.scan(/[^,;\s]+/) - { bool: false, set: :off, off: off_list} - else { bool: true, set: :na, off: [] } - end - act[:output_by]=if mod.inspect =~/"--(?:output-)?by-language"/ - { set: :language } - elsif mod.inspect =~/"--(?:output-)?by-filename"/ - { set: :filename } - elsif mod.inspect =~/"--(?:output-)?by-filetype"/ - { set: :filetype } - else { set: :na } - end - act[:ocn]=if mod.inspect =~/"--inc-ocn"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-ocn"/ \ - || act[:switch][:off].inspect =~/"ocn"/ - { bool: false, set: :off } - else { bool: true, set: :na } - end - act[:toc]=if mod.inspect =~/"--inc-toc"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-toc"/ \ - || act[:switch][:off].inspect =~/"toc"/ - { bool: false, set: :off } - else { bool: true, set: :na } - end - act[:minitoc]=if mod.inspect =~/"--inc-minitoc"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-minitoc"/ \ - || act[:switch][:off].inspect =~/"minitoc"/ - { bool: false, set: :off } - else { bool: true, set: :na } - end - act[:manifest]=if mod.inspect =~/"--inc-manifest"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-manifest"/ \ - || act[:switch][:off].inspect =~/"manifest"/ - { bool: false, set: :off } - elsif act[:manifest]=(cmd =~/y/ \ - || mod.inspect =~/"--manifest"/) - { bool: true, set: :on } - else { bool: true, set: :na } - end - act[:links_to_manifest]=if mod.inspect =~/"--inc-links-to-manifest"|"--inc-manifest-links"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-links-to-manifest"|"--(?:exc|no)-manifest-links"/ \ - || act[:switch][:off].inspect =~/"links_to_manifest"|"manifest_links"|"--(?:exc|no)-manifest"/ \ - || mod.inspect =~/"--(?:redirect|dump)/ - { bool: false, set: :off } - else { bool: true, set: :na } - end - act[:manifest_minitoc]=if mod.inspect =~/"--inc-manifest-minitoc"|"--inc-minitoc"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-manifest-minitoc"|"--(?:exc|no)-minitoc"/ \ - || act[:switch][:off].inspect =~/"manifest_minitoc"|"minitoc"/ - #|| mod.inspect =~/"--(?:redirect|dump)/ - { bool: false, set: :off } - else { bool: true, set: :na } - end - act[:metadata]=if mod.inspect =~/"--inc-metadata"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-metadata"/ \ - || act[:switch][:off].inspect =~/"metadata"/ - { bool: false, set: :off } - else { bool: true, set: :na } - end - act[:html_minitoc]=if mod.inspect =~/"--inc-html-minitoc"|"--inc-minitoc"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-html-minitoc"|"--(?:exc|no)-minitoc"/ \ - || act[:switch][:off].inspect =~/"html_minitoc"|"minitoc"/ - { bool: false, set: :off } - else { bool: true, set: :na } - end - act[:html_navigation]=if mod.inspect =~/"--inc-html-navigation"|"--inc-navigation"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-html-navigation"|"--(?:exc|no)-navigation"/ \ - || act[:switch][:off].inspect =~/"html_navigation"|"nav"/ - { bool: false, set: :off } - else { bool: true, set: :na } - end - act[:html_navigation_bar]=if mod.inspect =~/"--inc-html-navigation-bar"|"--inc-navigation-bar"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-html-navigation-bar"|"--(?:exc|no)-navigation-bar"/ \ - || act[:switch][:off].inspect =~/"html_navigation_bar"|"navbar"/ - { bool: false, set: :off } - else { bool: true, set: :na } - end - act[:segsubtoc]=if mod.inspect =~/"--inc-segsubtoc"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-segsubtoc"/ \ - || act[:switch][:off].inspect =~/"segsubtoc"/ - { bool: false, set: :off } - else { bool: true, set: :na } - end - act[:search_form]=if mod.inspect =~/"--inc-search-form"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-search-form"/ \ - || act[:switch][:off].inspect =~/"search_form"|"search"/ - { bool: false, set: :off } - else { bool: true, set: :na } - end - act[:html_search_form]=if mod.inspect =~/"--inc-html-search-form"|"--inc-search-form"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-html-search-form"|"--(?:exc|no)-search-form"/ \ - || act[:switch][:off].inspect =~/"html_search_form"|"search_form"|"search"/ - { bool: false, set: :off } - else { bool: true, set: :na } - end - act[:html_right_pane]=if mod.inspect =~/"--inc-html-right-pane"|"--inc-right-pane"|"--inc-html-right-column"|"--inc-right-column"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-html-right-pane"|"--(?:exc|no)-right-pane"|"--(?:exc|no)-html-right-column"|"--(?:exc|no)-right-column"/ \ - || act[:switch][:off].inspect =~/"html_right_pane"|"html_right_column"|"promo"/ - { bool: false, set: :off } - else { bool: true, set: :na } - end - act[:html_top_band]=if mod.inspect =~/"--inc-html-top-band"|"--inc-top-band"/ - { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-html-top-band"|"--(?:exc|no)-top-band"/ \ - || act[:switch][:off].inspect =~/"html-top-band"|"top-band"/ - { bool: false, set: :off } - else { bool: true, set: :na } + act={} + act[:license]=(cmd =~/L/ \ + || mod.inspect =~/"--license/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:site_init]=(cmd =~/C/ \ + || mod.inspect =~/"--init-site"|"--configure"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:rc]=if mod.inspect =~/"--rc=/ + x=Dir.pwd + '/' + mod.join.gsub(/--rc=/,'') + { bool: true, set: :on, inst: x } + else + { bool: false, set: :na, inst: '' } + end + act[:processing_path]=if mod.inspect =~/"--processing-path=/ + base_pth=mod.join(';').gsub(/^.*--processing-path=['"]?(.+?)(?:['"]?;.+)?$/,'\1') + { bool: true, set: :on, inst: base_pth } + elsif mod.inspect =~/"--processing-path/ + { bool: true, set: :on, inst: @base_path } + else + { bool: false, set: :na, inst: nil } + end + act[:dump]=if mod.inspect =~/"--dump=/ + base_pth=mod.join(';').gsub(/^.*--dump=['"]?(.+?)(?:['"]?;.+)?$/,'\1') + { bool: true, set: :on, inst: base_pth } + elsif mod.inspect =~/"--dump/ + { bool: true, set: :on, inst: @base_path } + else + { bool: false, set: :na, inst: nil } + end + act[:redirect]=if mod.inspect =~/"--redirect=/ + base_pth=mod.join(';').gsub(/^.*--redirect=['"]?(.+?)(?:['"]?;.+)?$/,'\1') + { bool: true, set: :on, inst: base_pth } + elsif mod.inspect =~/"--redirect/ + { bool: true, set: :on, inst: @base_path } + else + { bool: false, set: :na, inst: nil } + end + act[:verbose]=(cmd =~/v/ \ + || mod.inspect =~/"--verbose"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:version_info]=(cmd =~/[vVM]/ \ + || mod.inspect =~/"--verbose"|"--maintenance"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:quiet]=(cmd =~/q/ \ + || mod.inspect =~/"--quiet"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:color_state]=if mod.inspect =~/"--color-on"|"--color"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--color-off"/ + { bool: false, set: :off } + else { bool: true, set: :na } #fix default color + end +# act[:color_toggle]=if cmd =~/c/ \ +# or mod.inspect =~/"--color-toggle"/ +# true +# else false +# end + act[:maintenance]=(cmd =~/M/ \ + || mod.inspect =~/"--maintenance|--keep-processing-files"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:profile]=(cmd =~/E/ \ + || mod.inspect =~/"--profile"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:switch]=if mod.inspect =~/"--switch-off=/ + off_list=mod.join(';').gsub(/^.*--switch-off=['"]?(.+?)(?:['"];.+)?$/,'\1') + off_list=off_list.scan(/[^,;\s]+/) + { bool: false, set: :off, off: off_list} + else { bool: true, set: :na, off: [] } + end + act[:output_by]=if mod.inspect =~/"--(?:output-)?by-language"/ + { set: :language } + elsif mod.inspect =~/"--(?:output-)?by-filename"/ + { set: :filename } + elsif mod.inspect =~/"--(?:output-)?by-filetype"/ + { set: :filetype } + else { set: :na } + end + act[:ocn]=if mod.inspect =~/"--inc-ocn"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--(?:exc|no)-ocn"/ \ + || act[:switch][:off].inspect =~/"ocn"/ + { bool: false, set: :off } + else { bool: true, set: :na } + end + act[:toc]=if mod.inspect =~/"--inc-toc"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--(?:exc|no)-toc"/ \ + || act[:switch][:off].inspect =~/"toc"/ + { bool: false, set: :off } + else { bool: true, set: :na } + end + act[:minitoc]=if mod.inspect =~/"--inc-minitoc"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--(?:exc|no)-minitoc"/ \ + || act[:switch][:off].inspect =~/"minitoc"/ + { bool: false, set: :off } + else { bool: true, set: :na } + end + act[:manifest]=if mod.inspect =~/"--inc-manifest"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--(?:exc|no)-manifest"/ \ + || act[:switch][:off].inspect =~/"manifest"/ + { bool: false, set: :off } + elsif act[:manifest]=(cmd =~/y/ \ + || mod.inspect =~/"--manifest"/) + { bool: true, set: :on } + else { bool: true, set: :na } + end + act[:links_to_manifest]=if mod.inspect =~/"--inc-links-to-manifest"|"--inc-manifest-links"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--(?:exc|no)-links-to-manifest"|"--(?:exc|no)-manifest-links"/ \ + || act[:switch][:off].inspect =~/"links_to_manifest"|"manifest_links"|"--(?:exc|no)-manifest"/ \ + || mod.inspect =~/"--(?:redirect|dump)/ + { bool: false, set: :off } + else { bool: true, set: :na } + end + act[:manifest_minitoc]=if mod.inspect =~/"--inc-manifest-minitoc"|"--inc-minitoc"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--(?:exc|no)-manifest-minitoc"|"--(?:exc|no)-minitoc"/ \ + || act[:switch][:off].inspect =~/"manifest_minitoc"|"minitoc"/ + #|| mod.inspect =~/"--(?:redirect|dump)/ + { bool: false, set: :off } + else { bool: true, set: :na } + end + act[:metadata]=if mod.inspect =~/"--inc-metadata"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--(?:exc|no)-metadata"/ \ + || act[:switch][:off].inspect =~/"metadata"/ + { bool: false, set: :off } + else { bool: true, set: :na } + end + act[:html_minitoc]=if mod.inspect =~/"--inc-html-minitoc"|"--inc-minitoc"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--(?:exc|no)-html-minitoc"|"--(?:exc|no)-minitoc"/ \ + || act[:switch][:off].inspect =~/"html_minitoc"|"minitoc"/ + { bool: false, set: :off } + else { bool: true, set: :na } + end + act[:html_navigation]=if mod.inspect =~/"--inc-html-navigation"|"--inc-navigation"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--(?:exc|no)-html-navigation"|"--(?:exc|no)-navigation"/ \ + || act[:switch][:off].inspect =~/"html_navigation"|"nav"/ + { bool: false, set: :off } + else { bool: true, set: :na } + end + act[:html_navigation_bar]=if mod.inspect =~/"--inc-html-navigation-bar"|"--inc-navigation-bar"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--(?:exc|no)-html-navigation-bar"|"--(?:exc|no)-navigation-bar"/ \ + || act[:switch][:off].inspect =~/"html_navigation_bar"|"navbar"/ + { bool: false, set: :off } + else { bool: true, set: :na } + end + act[:segsubtoc]=if mod.inspect =~/"--inc-segsubtoc"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--(?:exc|no)-segsubtoc"/ \ + || act[:switch][:off].inspect =~/"segsubtoc"/ + { bool: false, set: :off } + else { bool: true, set: :na } + end + act[:search_form]=if mod.inspect =~/"--inc-search-form"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--(?:exc|no)-search-form"/ \ + || act[:switch][:off].inspect =~/"search_form"|"search"/ + { bool: false, set: :off } + else { bool: true, set: :na } + end + act[:html_search_form]=if mod.inspect =~/"--inc-html-search-form"|"--inc-search-form"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--(?:exc|no)-html-search-form"|"--(?:exc|no)-search-form"/ \ + || act[:switch][:off].inspect =~/"html_search_form"|"search_form"|"search"/ + { bool: false, set: :off } + else { bool: true, set: :na } + end + act[:html_right_pane]=if mod.inspect =~/"--inc-html-right-pane"|"--inc-right-pane"|"--inc-html-right-column"|"--inc-right-column"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--(?:exc|no)-html-right-pane"|"--(?:exc|no)-right-pane"|"--(?:exc|no)-html-right-column"|"--(?:exc|no)-right-column"/ \ + || act[:switch][:off].inspect =~/"html_right_pane"|"html_right_column"|"promo"/ + { bool: false, set: :off } + else { bool: true, set: :na } + end + act[:html_top_band]=if mod.inspect =~/"--inc-html-top-band"|"--inc-top-band"/ + { bool: true, set: :on } + elsif mod.inspect =~/"--(?:exc|no)-html-top-band"|"--(?:exc|no)-top-band"/ \ + || act[:switch][:off].inspect =~/"html-top-band"|"top-band"/ + { bool: false, set: :off } + else { bool: true, set: :na } + end + act[:dal]=(cmd =~/m/ \ + || mod.inspect =~/"--dal"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:html]=(cmd =~/h/ \ + || mod.inspect =~/"--html"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:concordance]=(cmd =~/w/ \ + || mod.inspect =~/"--concordance"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:images]=(cmd =~/j/ \ + || mod.inspect =~/"--images"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:pdf]=(cmd =~/p/ \ + || mod.inspect =~/"--pdf"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:epub]=(cmd =~/e/ \ + || mod.inspect =~/"--epub"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:odt]=(cmd =~/o/ \ + || mod.inspect =~/"--odt"|"--odf"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:xml_sax]=(cmd =~/x/ \ + || mod.inspect =~/"--xml-sax"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:xml_dom]=(cmd =~/X/ \ + || mod.inspect =~/"--xml-dom"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:xhtml]=(cmd =~/b/ \ + || mod.inspect =~/"--xhtml"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:txt]=(cmd =~/[at]/ \ + || mod.inspect =~/"--txt"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:manpage]=(cmd =~/i/ \ + || mod.inspect =~/"--manpage"|"--man"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:texinfo]=(cmd =~/I/ \ + || mod.inspect =~/"--texinfo"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:fictionbook]=(cmd =~/f/ \ + || mod.inspect =~/"--fictionbook"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:psql]=(cmd =~/D/ \ + || mod.inspect =~/"--pg"|"--pgsql"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:sqlite]=(cmd =~/d/ \ + || mod.inspect =~/"--sqlite"/) \ + && (mod.inspect =~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:sqlite_discreet]=(cmd =~/d/ \ + || mod.inspect =~/"--sql"|"--sqlite"/) \ + && (mod.inspect =~/"--both"/ \ + || mod.inspect !~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:harvest]=(mod.inspect =~/"--harvest"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:po4a]=(cmd =~/P/ \ + || mod.inspect =~/"--po4a"|"--pot?"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:git]=(cmd =~/g/ \ + || mod.inspect =~/"--git"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:zap]=(cmd =~/Z/ \ + || mod.inspect =~/"--zap"|"--delete"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:hash_digests]=(cmd =~/N/ \ + || mod.inspect =~/"--hash-digests"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:sample_search_form]=(cmd =~/F/ \ + || mod.inspect =~/"--sample-search-form"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:webrick]=(cmd =~/W/ \ + || mod.inspect =~/"--webrick"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:share_source]=(cmd =~/s/ \ + || mod.inspect =~/"--source"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:sisupod]=(cmd =~/S/ \ + || mod.inspect =~/"--sisupod"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:scp]=(cmd =~/r/ \ + || mod.inspect =~/"--scp"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:rsync]=(cmd =~/R/ \ + || mod.inspect =~/"--rsync"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:delete_output]=(cmd =~/z/ \ + || mod.inspect =~/"--delete"|"--zap"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:urls_all]=(cmd =~/U/ \ + || mod.inspect =~/"--urls-all"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:urls_selected]=(cmd =~/u/ \ + || mod.inspect =~/"--urls"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:sitemap]=(cmd =~/Y/ \ + || mod.inspect =~/"--sitemap"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:qrcode]=(cmd =~/Q/ \ + || mod.inspect =~/"--qrcode"/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + act[:help]=(mod.inspect =~/"--help/) \ + ? { bool: true, set: :on } + : { bool: false, set: :na } + @act=act end - act[:dal]=(cmd =~/m/ \ - || mod.inspect =~/"--dal"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:html]=(cmd =~/h/ \ - || mod.inspect =~/"--html"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:concordance]=(cmd =~/w/ \ - || mod.inspect =~/"--concordance"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:images]=(cmd =~/j/ \ - || mod.inspect =~/"--images"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:pdf]=(cmd =~/p/ \ - || mod.inspect =~/"--pdf"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:epub]=(cmd =~/e/ \ - || mod.inspect =~/"--epub"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:odt]=(cmd =~/o/ \ - || mod.inspect =~/"--odt"|"--odf"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:xml_sax]=(cmd =~/x/ \ - || mod.inspect =~/"--xml-sax"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:xml_dom]=(cmd =~/X/ \ - || mod.inspect =~/"--xml-dom"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:xhtml]=(cmd =~/b/ \ - || mod.inspect =~/"--xhtml"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:txt]=(cmd =~/[at]/ \ - || mod.inspect =~/"--txt"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:manpage]=(cmd =~/i/ \ - || mod.inspect =~/"--manpage"|"--man"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:texinfo]=(cmd =~/I/ \ - || mod.inspect =~/"--texinfo"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:fictionbook]=(cmd =~/f/ \ - || mod.inspect =~/"--fictionbook"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:psql]=(cmd =~/D/ \ - || mod.inspect =~/"--pg"|"--pgsql"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:sqlite]=(cmd =~/d/ \ - || mod.inspect =~/"--sqlite"/) \ - && (mod.inspect =~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:sqlite_discreet]=(cmd =~/d/ \ - || mod.inspect =~/"--sql"|"--sqlite"/) \ - && (mod.inspect =~/"--both"/ \ - || mod.inspect !~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:harvest]=(mod.inspect =~/"--harvest"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:po4a]=(cmd =~/P/ \ - || mod.inspect =~/"--po4a"|"--pot?"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:git]=(cmd =~/g/ \ - || mod.inspect =~/"--git"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:zap]=(cmd =~/Z/ \ - || mod.inspect =~/"--zap"|"--delete"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:hash_digests]=(cmd =~/N/ \ - || mod.inspect =~/"--hash-digests"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:sample_search_form]=(cmd =~/F/ \ - || mod.inspect =~/"--sample-search-form"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:webrick]=(cmd =~/W/ \ - || mod.inspect =~/"--webrick"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:share_source]=(cmd =~/s/ \ - || mod.inspect =~/"--source"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:sisupod]=(cmd =~/S/ \ - || mod.inspect =~/"--sisupod"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:scp]=(cmd =~/r/ \ - || mod.inspect =~/"--scp"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:rsync]=(cmd =~/R/ \ - || mod.inspect =~/"--rsync"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:delete_output]=(cmd =~/z/ \ - || mod.inspect =~/"--delete"|"--zap"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:urls_all]=(cmd =~/U/ \ - || mod.inspect =~/"--urls-all"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:urls_selected]=(cmd =~/u/ \ - || mod.inspect =~/"--urls"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:sitemap]=(cmd =~/Y/ \ - || mod.inspect =~/"--sitemap"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:qrcode]=(cmd =~/Q/ \ - || mod.inspect =~/"--qrcode"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - act[:help]=(mod.inspect =~/"--help/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } - @act=act end def cmd @cmd @@ -792,7 +804,7 @@ module SiSU_Commandline @mod end def act - @act + @@act end def files_mod files_mod=files diff --git a/lib/sisu/v3/param.rb b/lib/sisu/v3/param.rb index f6084aab..bffba529 100644 --- a/lib/sisu/v3/param.rb +++ b/lib/sisu/v3/param.rb @@ -165,10 +165,11 @@ module SiSU_Param end def validate_length(s,l,n) #s=(s.length <= l) ? s : nil - s=if s.class==String \ + s=if s.is_a?(String) \ and s.length <= l s - elsif s.class==NilClass; nil + elsif s.is_a?(NilClass) + nil elsif s.class !=String STDERR.puts "#{n} is #{s.class}: programming error, String expected #{__FILE__}:#{__LINE__}" s @@ -226,6 +227,13 @@ module SiSU_Param if x =~/^%\s/ #ignore comment elsif x =~/:(\S+?):\s+(.+)/ a,b=/:(\S+?):\s+(.+)\Z/m.match(x)[1,2] + 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 @@ -307,7 +315,7 @@ module SiSU_Param names=@h['editor'] \ ? name_format(@h['editor']) : nil - s=(names.class==Hash) \ + s=(names.is_a?(Hash)) \ ? names[:name_str] : nil s=if s @@ -320,7 +328,7 @@ module SiSU_Param names=@h['editor'] \ ? name_format(@h['editor']) : nil - (names.class==Hash) \ + (names.is_a?(Hash)) \ ? names[:name_a_h] : nil end @@ -328,7 +336,7 @@ module SiSU_Param names=@h['contributor'] \ ? name_format(@h['contributor']) : nil - s=(names.class==Hash) \ + s=(names.is_a?(Hash)) \ ? names[:name_str] : nil s=if s @@ -341,7 +349,7 @@ module SiSU_Param names=@h['contributor'] \ ? name_format(@h['contributor']) : nil - (names.class==Hash) \ + (names.is_a?(Hash)) \ ? names[:name_a_h] : nil end @@ -349,7 +357,7 @@ module SiSU_Param names=@h['illustrator'] \ ? name_format(@h['illustrator']) : nil - s=(names.class==Hash) \ + s=(names.is_a?(Hash)) \ ? names[:name_str] : nil s=if s @@ -362,7 +370,7 @@ module SiSU_Param names=@h['illustrator'] \ ? name_format(@h['illustrator']) : nil - (names.class==Hash) \ + (names.is_a?(Hash)) \ ? names[:name_a_h] : nil end @@ -370,7 +378,7 @@ module SiSU_Param names=@h['photographer'] \ ? name_format(@h['photographer']) : nil - s=(names.class==Hash) \ + s=(names.is_a?(Hash)) \ ? names[:name_str] : nil s=if s @@ -383,7 +391,7 @@ module SiSU_Param names=@h['photographer'] \ ? name_format(@h['photographer']) : nil - (names.class==Hash) \ + (names.is_a?(Hash)) \ ? names[:name_a_h] : nil end @@ -391,7 +399,7 @@ module SiSU_Param names=@h['translator'] \ ? name_format(@h['translator']) : nil - s=(names.class==Hash) \ + s=(names.is_a?(Hash)) \ ? names[:name_str] : nil s=if s @@ -404,7 +412,7 @@ module SiSU_Param names=@h['translator'] \ ? name_format(@h['translator']) : nil - (names.class==Hash) \ + (names.is_a?(Hash)) \ ? names[:name_a_h] : nil end @@ -412,7 +420,7 @@ module SiSU_Param names=@h['audio'] \ ? name_format(@h['audio']) : nil - s=(names.class==Hash) \ + s=(names.is_a?(Hash)) \ ? names[:name_str] : nil s=if s @@ -425,7 +433,7 @@ module SiSU_Param names=@h['audio'] \ ? name_format(@h['audio']) : nil - (names.class==Hash) \ + (names.is_a?(Hash)) \ ? names[:name_a_h] : nil end @@ -433,7 +441,7 @@ module SiSU_Param names=@h['digitized_by'] \ ? name_format(@h['digitized_by']) : nil - s=(names.class==Hash) \ + s=(names.is_a?(Hash)) \ ? names[:name_str] : nil s=if s @@ -446,7 +454,7 @@ module SiSU_Param names=@h['digitized_by'] \ ? name_format(@h['digitized_by']) : nil - (names.class==Hash) \ + (names.is_a?(Hash)) \ ? names[:name_a_h] : nil end @@ -454,7 +462,7 @@ module SiSU_Param names=@h['prepared_by'] \ ? name_format(@h['prepared_by']) : nil - s=(names.class==Hash) \ + s=(names.is_a?(Hash)) \ ? names[:name_str] : nil s=if s @@ -468,7 +476,7 @@ module SiSU_Param ? name_format(@h['prepared_by']) : nil names=name_format(@h['prepared_by']) - (names.class==Hash) \ + (names.is_a?(Hash)) \ ? names[:name_a_h] : nil end @@ -540,7 +548,7 @@ module SiSU_Param (str =~/https?:\/\/\S+$/) ? ' ;' : ';' end def all - s=if @h['all']; @h['all'] + s=if @h['all'] then @h['all'] else s='' if defined? copyright.text \ @@ -553,36 +561,36 @@ module SiSU_Param and copyright.translation \ and not copyright.translation.empty? v=sep(copyright.translation) - s +='<br> translation ' + copyright.translation + v + s +='\\\\ translation ' + copyright.translation + v end if defined? copyright.illustrations \ and copyright.illustrations \ and not copyright.illustrations.empty? v=sep(copyright.illustrations) - s +='<br> illustrations ' + copyright.illustrations + v + s +='\\\\ illustrations ' + copyright.illustrations + v end if defined? copyright.photographs \ and copyright.photographs \ and not copyright.photographs.empty? v=sep(copyright.photographs) - s +='<br> photographs ' + copyright.photographs + v + s +='\\\\ photographs ' + copyright.photographs + v end if defined? copyright.digitization \ and copyright.digitization \ and not copyright.digitization.empty? v=sep(copyright.digitization) - s +='<br> digitization ' + copyright.digitization + v + s +='\\\\ digitization ' + copyright.digitization + v end if defined? copyright.audio \ and copyright.audio \ and not copyright.audio.empty? v=sep(copyright.audio) - s +='<br> audio ' + copyright.audio + v + s +='\\\\ audio ' + copyright.audio + v end if defined? copyright.license \ and copyright.license \ and not copyright.license.empty? - s +='<br> License: ' + copyright.license + s +='\\\\ License: ' + copyright.license end if s.empty? SiSU_Screen::Ansi.new(@opt.cmd,'WARNING Document Rights information missing; provide @rights: :copyright:').warn unless @opt.cmd =~/q/ @@ -597,7 +605,7 @@ module SiSU_Param self end def classify - a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) + a=@s.split(/(\n%\s.+?$|[ ]*)(?:\n[ ]*(?=:)|\Z)/m) @h=build_hash(a) def coverage s=@h['coverage'] @@ -797,9 +805,9 @@ module SiSU_Param end end def emphasis - if @h['emphasis'] =~/bold/; 'bold' - elsif @h['emphasis'] =~/italics?/; 'italics' - elsif @h['emphasis'] =~/under(?:line|score)/; 'underscore' + if @h['emphasis'] =~/bold/ then 'bold' + elsif @h['emphasis'] =~/italics?/ then 'italics' + elsif @h['emphasis'] =~/under(?:line|score)/ then 'underscore' else nil end end @@ -811,8 +819,8 @@ module SiSU_Param matches='' w.each do |x| c=(x[1] =~/[i],/) ? :i : :s - matches=matches + x[0].gsub(/([${}])/,'\\\\\1') + '|' - arr_hash << { + matches=matches + x[0].gsub(/([${}])/,'\\\\\1') + '|' + arr_hash << { match: x[0].gsub(/([${}])/,'\\\\\1'), replace: x[2], case_s: c @@ -1024,7 +1032,6 @@ module SiSU_Param end def links a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) - a end def notes a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) @@ -1185,7 +1192,7 @@ module SiSU_Param SiSU_Screen::Ansi.new(@opt.cmd,'No SiSU markup version provided').warn if @opt.cmd =~/[VM]/ end else - mv=if defined? @markup_version.determined and not @markup_version.determined.nil? + mv=if @markup_version.determined.is_a?(Float) x=@markup_version.determined "markup version determined #{x}" else '' @@ -1229,13 +1236,13 @@ module SiSU_Param @notes=SiSU_Param::Parameters::Md.new($1.strip,@opt,@env).notes when /^@links:\s+(.+?)\Z/m #% * header metadata - links doc_links=SiSU_Param::Parameters::Md.new($1.strip,@opt,@env).links - count=1 + a_idx=0 @links=[] doc_links.each do |doc_link| if doc_link=~/\{.+?\}(?:(?:https?|file|ftp):\/|\.\.)\/\S+(?:\s|$)/ - @links[count]={} - @links[count][:say],@links[count][:url]=/\{\s*(.+?)\s*\}((?:(?:https?|file|ftp):\/|\.\.)\/\S+)/im.match(doc_link)[1,2] - count +=1 + @links[a_idx]={} + @links[a_idx][:say],@links[a_idx][:url]=/\{\s*(.+?)\s*\}((?:(?:https?|file|ftp):\/|\.\.)\/\S+)/im.match(doc_link)[1,2] + a_idx +=1 end end @lnk=@links @@ -1330,7 +1337,7 @@ module SiSU_Param if @markup.nil? \ or @markup.empty? @markup=@markup_version.determined.to_s - elsif @markup !~/0\.38/; @markup=@markup.strip + "; #{@markup_version.determined}" + elsif @markup !~/0\.38/ then @markup=@markup.strip + "; #{@markup_version.determined}" end if not defined? @title.full.nil? tf=para[/^:A~\S*(.+)$/m,1] @@ -1358,7 +1365,8 @@ module SiSU_Param if para =~/~\{|\^~ |~\^|\{.+?\[[1-6]\]\}\S+?\.ss[tm]/m @flag_auto_endnotes,@flag_endnotes=true,true end - if para =~/^(?:table\{|\{table)/i; @flag_tables=true + if para =~/^(?:table\{|\{table)/i + @flag_tables=true end end if para =~/^:?A~/ @@ -1395,6 +1403,12 @@ module SiSU_Param @sem_tag=true if para=~/[:;]\{.+?\}[:;][a-z+]/ #refix later end end #% here endeth the document loop + unless @make + if @opt.cmd =~/[VM]/ + SiSU_Screen::Ansi.new(@opt.cmd,'@make:','header absent').warn + end + @make=SiSU_Param::Parameters::Md.new('@make: ',@opt,@env).make + end if @ec[:image].length > 0 @ec[:image]=@ec[:image].flatten.uniq @ec[:image].delete_if {|x| x =~/https?:\/\// } @@ -1404,29 +1418,29 @@ module SiSU_Param @ec[:multimedia]=@ec[:multimedia].uniq.flatten.sort unless @rights if defined? @creator.author \ - and @creator.author \ + and @creator.author.is_a?(String) \ and defined? @date.published \ - and @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 + and @creator.author.is_a?(String) @rights=SiSU_Param::Parameters::MdDefault.new.rights("[#{@creator.author}]",'') end end if defined? @classify.topic_register \ - and not @classify.topic_register.nil? \ + and @classify.topic_register.is_a?(String) \ and @classify.topic_register.length >3 topic_register=@classify.topic_register - u=topic_register.scan(/[^;]+/) + u=topic_register.scan(/[^;]+/m).sort v=[] u.each do |l| - v << l.scan(/[^:]+/) + v << l.scan(/[^:]+/m) end v.each do |m| - m[-1]=m[-1].scan(/[^|]+/) if m[-1] =~/[|]/ + m[-1]=m[-1].scan(/[^|]+/m) if m[-1] =~/[|]/m @topic_register_array << m end - @topic_register_array=@topic_register_array.sort + @topic_register_array end if @i18n @i18n=@i18n.uniq @@ -1453,9 +1467,9 @@ module SiSU_Param # gsub(/:?C/,'3'). # gsub(/:?B/,'2'). # gsub(/:?A/,'1') - translate=if translate =~/^\d+$/; translate.to_i - else translate - end + translate=(translate =~/^\d+$/) \ + ? translate.to_i + : translate else nil end end @@ -1489,7 +1503,7 @@ module SiSU_Param @dgst_skin=skin ? (@sys.md5(skin)) : nil end end - @publisher ||= "#@@publisher (this copy)" + @publisher ||= "#{@@publisher} (this copy)" fn_set_lang=SiSU_Env::StandardiseLanguage.new(@opt.lng).language unless @language[:code] \ and @language[:name] @@ -1506,9 +1520,9 @@ module SiSU_Param # @flv.each do |l| # lang=SiSU_Env::StandardiseLanguage.new.file_to_language(l) # c={ a: '', b: '', c: '' } -# if @fnl[:pre] =~/\S/; c[:a]="#{lang[:c]}." -# elsif @fnl[:mid] =~/\S/; c[:b]=".#{lang[:c]}" -# elsif @fnl[:post] =~/\S/; c[:c]=".#{lang[:c]}" +# if @fnl[:pre] =~/\S/ then c[:a]="#{lang[:c]}." +# elsif @fnl[:mid] =~/\S/ then c[:b]=".#{lang[:c]}" +# elsif @fnl[:post] =~/\S/ then c[:c]=".#{lang[:c]}" # end # @lang << [lang[:n],"#{c[:a]}sisu_manifest#{c[:b]}.html#{c[:c]}"] # end if @flv diff --git a/lib/sisu/v3/particulars.rb b/lib/sisu/v3/particulars.rb index b95ba52a..97a3da3e 100644 --- a/lib/sisu/v3/particulars.rb +++ b/lib/sisu/v3/particulars.rb @@ -97,9 +97,9 @@ module SiSU_Particulars @opt=opt set_sst_idx end - def get_idx_tex(opt) + def get_idx_raw(opt) @opt=opt - set_tex_idx + set_raw_idx end def get_idx_html(opt) @opt=opt @@ -126,7 +126,7 @@ module SiSU_Particulars @opt=opt set_ocn_htmlseg_map end - attr_accessor :opt,:md,:sst_idx,:tex_idx,:html_idx,:xhtml_idx + attr_accessor :opt,:md,:sst_idx,:raw_idx,:html_idx,:xhtml_idx def set_md begin @md=SiSU_Param::Parameters.new(@opt).get @@ -180,9 +180,9 @@ module SiSU_Particulars end end end - def set_tex_idx + def set_raw_idx begin - @tex_idx=SiSU_DAL::Source.new(@opt).get_idx_tex + @raw_idx=SiSU_DAL::Source.new(@opt).get_idx_raw self rescue SiSU_Errors::InfoError.new($!,$@,@opt.cmd,@opt.fns).error do diff --git a/lib/sisu/v3/plaintext.rb b/lib/sisu/v3/plaintext.rb index 2fa98883..c86fddb9 100644 --- a/lib/sisu/v3/plaintext.rb +++ b/lib/sisu/v3/plaintext.rb @@ -350,7 +350,7 @@ WOK p_num='' if @env.plaintext_ocn? if defined? dob.ocn \ - and not dob.ocn.nil? + and dob.ocn.is_a?(Fixnum) p_num=SiSU_PlaintextFormat::ParagraphNumber.new(dob.ocn).display end end @@ -409,7 +409,7 @@ WOK @sisu=[] emptyline=0 @content.each do |para| # this is a hack - if para.class==Array \ + if para.is_a?(Array) \ and para.length > 0 para.each do |line| if line diff --git a/lib/sisu/v3/plaintext_format.rb b/lib/sisu/v3/plaintext_format.rb index 445d8c66..fe24112d 100644 --- a/lib/sisu/v3/plaintext_format.rb +++ b/lib/sisu/v3/plaintext_format.rb @@ -76,7 +76,7 @@ module SiSU_PlaintextFormat class FormatTextObject def initialize(md,t_o) @md,@t_o=md,t_o - if t_o.class==Hash + if t_o.is_a?(Hash) @txt =t_o[:txt] || nil @lnk_url =t_o[:lnk_url] || nil @lnk_txt =t_o[:lnk_txt] || nil diff --git a/lib/sisu/v3/po4a.rb b/lib/sisu/v3/po4a.rb index 7ce825ee..53bab960 100644 --- a/lib/sisu/v3/po4a.rb +++ b/lib/sisu/v3/po4a.rb @@ -214,7 +214,7 @@ module SiSU_Po4a end desc="#{d}#{s_mark}#{instruct}" orig=(orig_notes[i].to_s =~/^\^~[\d*+]+/) ? (orig_notes[i].to_s.gsub(/^\^~[\d*+]+/,'^~')) : orig_notes[i].to_s - trans=if trn_notes.class==Array \ + trans=if trn_notes.is_a?(Array) \ and trn_notes.length==orig_notes.length (trn_notes[i].to_s =~/^\^~[\d*+]+/) ? (trn_notes[i].to_s.gsub(/^\^~[\d*+]+/,'^~')) : trn_notes[i].to_s else '' @@ -749,12 +749,12 @@ GSUB #next if data_trn[t].is == :comment end end - if (defined? data_src[s].ocn and data_src[s].ocn.class == Fixnum) \ - and (defined? data_trn[t].ocn and data_trn[t].ocn.class == Fixnum) \ + if (defined? data_src[s].ocn and data_src[s].ocn.is_a?(Fixnum)) \ + and (defined? data_trn[t].ocn and 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 and data_src[s].ocn.class == Fixnum) \ - and (defined? data_trn[t].ocn and data_trn[t].ocn.class == Fixnum) \ + elsif (defined? data_src[s].ocn and data_src[s].ocn.is_a?(Fixnum)) \ + and (defined? data_trn[t].ocn and data_trn[t].ocn.is_a?(Fixnum)) \ and (data_src[s].ocn != data_trn[t].ocn) p '--- OCN ---' p 'mis-match' @@ -934,7 +934,7 @@ GSUB @sisu=[] emptyline=0 @content.each do |para| # this is a hack - if para.class==Array \ + if para.is_a?(Array) \ and para.length > 0 para.each do |line| if line diff --git a/lib/sisu/v3/po4a_set.rb b/lib/sisu/v3/po4a_set.rb index af6fba88..0dcc25a9 100644 --- a/lib/sisu/v3/po4a_set.rb +++ b/lib/sisu/v3/po4a_set.rb @@ -162,7 +162,7 @@ WOK line_wrap end def array_wrap - if @orig.class==Array + if @orig.is_a?(Array) @arr=[] @orig.each do |line| @arr << SiSU_TextUtils::Wrap.new(line,@n_char_max,@n_indent,@n_hang).line_wrap diff --git a/lib/sisu/v3/qrcode.rb b/lib/sisu/v3/qrcode.rb index d05bf442..0d126266 100644 --- a/lib/sisu/v3/qrcode.rb +++ b/lib/sisu/v3/qrcode.rb @@ -117,16 +117,18 @@ module SiSU_QRcode def output_metadata fn=@f.base_filename.manifest_txt mn='' - if @md.opt =~/M/ + if @md.opt.cmd =~/M/ pt=@f.output_path.manifest.dir fn=@f.base_filename.manifest_txt manifest=@f.write_file.manifest_txt end @manifest[:txt].each do |x| - manifest << x if @md.opt =~/M/ + x=x.gsub(/\\\\/m,"\n") + puts x if @md.opt.cmd =~/V/ + manifest << x if @md.opt.cmd =~/M/ mn += x end - manifest.close if @md.opt =~/M/ + manifest.close if @md.opt.cmd =~/M/ #system(%{ # cat #{pt}/#{fn} | qrencode -s 3 -o qrcm.autonomy_markup0.png #}) @@ -166,9 +168,9 @@ WOK end def summarize_sources(id,file,pth,rel,url) sys=SiSU_Env::SystemCall.new - dgst =if @dg =~/^sha(?:2|256)$/; sys.sha256("#{pth}/#{file}") - else sys.md5("#{pth}/#{file}") - end + dgst=(@dg =~/^sha(?:2|256)$/) \ + ? (sys.sha256("#{pth}/#{file}")) + : (sys.md5("#{pth}/#{file}")) SiSU_Screen::Ansi.new(@md.opt.cmd,"#{dgst[1]} #{file}").warn if @md.opt.cmd =~/[vVM]/ size=(File.size("#{pth}/#{file}")/1024.00).to_s kb=/([0-9]+\.[0-9]{0,1})/m.match(size)[1] @@ -242,9 +244,9 @@ WOK @manifest[:txt_title] << %{#{info}\n} end def links(url,lnk,target) - static=if url =~/^\.\//; url.gsub(/^\.(\.)?/,@base_url) - elsif url =~/^\.\.\//; url.gsub(/^\.(\.)?/,@env.url.root) - else url + static=if url =~/^\.\// then url.gsub(/^\.(\.)?/,@base_url) + elsif url =~/^\.\.\// then url.gsub(/^\.(\.)?/,@env.url.root) + else url end @manifest[:txt] << %{#{url} #{lnk} #{@brace_url.txt_open}#{static}#{@brace_url.txt_close}\n} end @@ -384,12 +386,12 @@ WOK summarize(id,file,pth,rel,url) end if FileTest.file?(@f.place_file.txt.dir)==true - if @md.opt.cmd =~/a/; id='Plaintext (Unix (UTF-8) with footnotes)' - elsif @md.opt.cmd =~/e/; id='Plaintext (Unix (UTF-8) with endnotes)' - elsif @md.opt.cmd =~/A/; id='Plaintext (dos (UTF-8) with footnotes)' - elsif @md.opt.cmd =~/E/; id='Plaintext (dos (UTF-8) with endnotes)' - else id='Plaintext (UTF-8)' - end + id=if @md.opt.cmd =~/a/ then 'Plaintext (Unix (UTF-8) with footnotes)' + elsif @md.opt.cmd =~/e/ then 'Plaintext (Unix (UTF-8) with endnotes)' + elsif @md.opt.cmd =~/A/ then 'Plaintext (dos (UTF-8) with footnotes)' + elsif @md.opt.cmd =~/E/ then 'Plaintext (dos (UTF-8) with endnotes)' + else 'Plaintext (UTF-8)' + end pth=@f.output_path.txt.dir rel=@f.output_path.txt.rel_sm url=@f.output_path.txt.url @@ -668,7 +670,7 @@ WOK @sp=' ' @md.topic_register_array.each do |t| t.each_with_index do |st,i| - if st.class==Array + if st.is_a?(Array) st.each do |v| @manifest[:txt] << %{#{@sp*i}#{v}\n} end diff --git a/lib/sisu/v3/response.rb b/lib/sisu/v3/response.rb index 675b249e..d660d398 100644 --- a/lib/sisu/v3/response.rb +++ b/lib/sisu/v3/response.rb @@ -61,9 +61,9 @@ module SiSU_Response response='redo' print ask + " ['yes', 'no' or 'quit']: " response=File.new('/dev/tty').gets.strip - ans=if response=='yes'; true - elsif response=='no'; false - elsif response =~/^quit|exit$/; exit + ans=if response=='yes' then true + elsif response=='no' then false + elsif response =~/^quit|exit$/ then exit else puts "[please type: 'yes', 'no' or 'quit']" response?(ask) end diff --git a/lib/sisu/v3/screen_text_color.rb b/lib/sisu/v3/screen_text_color.rb index 67022087..a9c0b367 100644 --- a/lib/sisu/v3/screen_text_color.rb +++ b/lib/sisu/v3/screen_text_color.rb @@ -69,16 +69,11 @@ module SiSU_Screen @color_instruct=txt[0] flag=SiSU_Env::InfoProcessingFlag.new if @cmd - if flag.color #set default colors on or off -c acts as toggle against this default, if default is off -c turns on, if default is on -c turns off - @use_color=if @cmd =~/c/; false - else true - end - else - @use_color=if @cmd =~/c/; true - else false - end - end - if @cmd =~/k/; @use_color=false + #set default colors on or off -c acts as toggle against this default, if default is off -c turns on, if default is on -c turns off + @use_color=(flag.color) \ + ? ((@cmd =~/c/) ? false : true) + : ((@cmd =~/c/) ? true : false) + if @cmd =~/k/ then @use_color=false # useful color off switch, however, k may be used for something else in future end else @use_color=false end @@ -254,13 +249,6 @@ module SiSU_Screen %{#{@cX.off} } + %{#{@cX.cyan}nav only: #{@txt[4]}#{@cX.off}.} end - def php_numbers - puts %{ #{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.cyan}files processed#{@cX.off}. } + - %{php_scr only: #{@txt[1]}, } + - %{#{@cX.cyan}php_seg only: #{@txt[2]}#{@cX.off}, } + - %{joint php scroll & seg: #{@txt[3]}, } + - %{php_nav only: #{@txt[4]}} - end def txt_white puts "\t#{@cX.white}#{@txt[0]}#{@cX.off} #{@cX.white}#{@txt[1]}#{@cX.off}" end @@ -348,6 +336,9 @@ module SiSU_Screen 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 @@ -403,9 +394,6 @@ module SiSU_Screen 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 php_title - puts %{\n#{@cX.green_hi}#{@cX.black}PHP#{@cX.off*2}} - end def segmented puts "\t#{@cX.grey}Seg#{@cX.off} #{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.grey}segments#{@cX.off}" end diff --git a/lib/sisu/v3/shared_images.rb b/lib/sisu/v3/shared_images.rb index c92719f6..e55f03ad 100644 --- a/lib/sisu/v3/shared_images.rb +++ b/lib/sisu/v3/shared_images.rb @@ -78,7 +78,7 @@ module SiSU_Images end end def images_set - @pwd=ENV['PWD'] + @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) diff --git a/lib/sisu/v3/shared_markup_alt.rb b/lib/sisu/v3/shared_markup_alt.rb index 98c55e66..4efedff1 100644 --- a/lib/sisu/v3/shared_markup_alt.rb +++ b/lib/sisu/v3/shared_markup_alt.rb @@ -58,7 +58,7 @@ module SiSU_TextRepresentation class Alter def initialize(x) - if x.class==String + if x.is_a?(String) @t_o,@s=nil,x else @t_o,@s=x,x.obj.dup @@ -196,7 +196,7 @@ module SiSU_TextRepresentation class ModifiedTextPlusHashDigest def initialize(md,x) @md=md - if x.class==String + if x.is_a?(String) @t_o,@s=nil,x else @t_o,@s=x,x.obj.dup diff --git a/lib/sisu/v3/shared_metadata.rb b/lib/sisu/v3/shared_metadata.rb index a8698fd7..cd1e97db 100644 --- a/lib/sisu/v3/shared_metadata.rb +++ b/lib/sisu/v3/shared_metadata.rb @@ -259,12 +259,12 @@ module SiSU_Metadata meta << self.meta_para end if defined? @md.dgst \ - and @md.dgst.class==Array + and @md.dgst.is_a?(Array) @tag,@inf,@class='Source Digest',"#{@md.dgst[0]} #{@md.dgst[1]}",'src' meta << self.meta_para end if defined? @md.dgst_skin \ - and @md.dgst_skin.class==Array + and @md.dgst_skin.is_a?(Array) @tag,@inf,@class='Skin Digest',"#{@md.dgst_skin[0]} #{@md.dgst_skin[1]}",'src' meta << self.meta_para end @@ -288,7 +288,7 @@ module SiSU_Metadata meta << self.meta_para end if defined? @md.generated \ - and @md.generated.class==Time + and @md.generated.is_a?(Time) @tag,@inf,@class=tr.last_generated,@md.generated,'date' meta << self.meta_para end @@ -734,7 +734,7 @@ module SiSU_Metadata @s=str def utf8 if @s \ - and @s.class==String + and @s.is_a?(String) @s=@s.gsub(/<br(?: \/)?>/u,Mx[:br_paragraph]). gsub(/</um,'<'). # '<' # < gsub(/</um,'<'). # '<' # < @@ -908,7 +908,7 @@ WOK def odf def meta_para url_brace=SiSU_Viz::Skin.new.url_decoration - if @inf.class==String + if @inf.is_a?(String) @inf=@inf.gsub(/</,'<').gsub(/>/,'>'). gsub(/<br(?: \/)?>/,'<br />') if @inf =~/&/ @@ -979,7 +979,7 @@ WOK @br="\\\\\n" end def meta_para(tag,inf,sc=true) - inf=((inf.class==String && sc) ? spec_char(inf) : inf) + inf=((inf.is_a?(String) && sc) ? spec_char(inf) : inf) %{\\begin\{bfseries\}#{tag}:\\end\{bfseries\} #{inf} } end @@ -1193,7 +1193,7 @@ WOK meta << meta_para(tag,inf) end if defined? @md.dgst \ - and @md.dgst.class==Array + and @md.dgst.is_a?(Array) hash_of=spec_char(@md.dgst[0]) hash_of=word_break_points(hash_of) dgst=number_break_points(@md.dgst[1]) @@ -1201,7 +1201,7 @@ WOK meta << meta_para(tag,inf,false) end if defined? @md.dgst_skin \ - and @md.dgst_skin.class==Array + and @md.dgst_skin.is_a?(Array) hash_of=spec_char(@md.dgst_skin[0]) hash_of=word_break_points(hash_of) dgst=number_break_points(@md.dgst_skin[1]) @@ -1210,7 +1210,7 @@ WOK end meta << %{#{@br}\\begin\{bfseries\}Generated \\end\{bfseries\}} if defined? @md.generated \ - and @md.generated.class==Time + and @md.generated.is_a?(Time) tag,inf=tr.last_generated,@md.generated meta << meta_para(tag,inf) end diff --git a/lib/sisu/v3/shared_sem.rb b/lib/sisu/v3/shared_sem.rb index bd906efc..1fa919c2 100644 --- a/lib/sisu/v3/shared_sem.rb +++ b/lib/sisu/v3/shared_sem.rb @@ -104,11 +104,13 @@ module SiSU_Sem 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}" + 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}" + if @para=~/;\{\s*(.+?)\s*\};([a-z]+(?:[_:.][a-z]+)*)/ + puts ";{ #{$1} };#{$2}" end end def match_pair_c diff --git a/lib/sisu/v3/shared_sisupod_source.rb b/lib/sisu/v3/shared_sisupod_source.rb index 2aff984c..18821e37 100644 --- a/lib/sisu/v3/shared_sisupod_source.rb +++ b/lib/sisu/v3/shared_sisupod_source.rb @@ -86,7 +86,6 @@ module SiSU_Source image: path_pod + '/' + Gt[:image], audio: path_pod + '/' + Gt[:audio], video: path_pod + '/' + Gt[:video], - conf: path_pod + '/' + Gt[:conf] } end def read @@ -107,7 +106,7 @@ module SiSU_Source load "#{SiSU_lib}/defaults.rb" @skin={} skin_path = [ - "#{@env.path.pwd}/_sisu/skin", + "#{@opt.base_path}/_sisu/skin", "#{@env.path.home}/.sisu/skin", '/etc/sisu/skin', "#{@path_pod[:pod]}/external_document/skin" #CHECK @@ -214,7 +213,7 @@ module SiSU_Source FileUtils::mkdir_p(@path_pod[:image]) #unattractive hard coding ... ! image_path='_sisu/image' - images_pwd="#{@env.path.pwd}/#{image_path}" + images_pwd="#{@opt.base_path}/#{image_path}" ##sequence copies base images, defaults used in all html outputs #image_source_base='/usr/share/sisu/image' #dir_pwd=Dir.pwd @@ -238,9 +237,9 @@ module SiSU_Source if doc_import.length > 0 \ and @opt.fno =~/\.ssm$/ doc_import.each do |f| - if FileTest.file?("#{@env.path.pwd}#{doc_import_dir}/#{f}") - FileUtils::cp("#{@env.path.pwd}#{doc_import_dir}/#{f}","#{@path_pod[:doc]}/#{f}") - else STDERR.puts %{\t*WARN* did not find image - "#{@env.path.pwd}#{doc_import_dir}/#{f}" [#{__FILE__}:#{__LINE__}]} + 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 @@ -253,57 +252,57 @@ module SiSU_Source lng_f=$1 if @opt.lng == lng_f if @opt.fno =~/\.ssm$/ - if FileTest.file?("#{@env.path.pwd}#{doc_import_dir}/#{f[:f]}") - FileUtils::cp("#{@env.path.pwd}#{doc_import_dir}/#{f[:f]}", + 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 - "#{@env.path.pwd}#{doc_import_dir}/#{f[:f]}" [#{__FILE__}:#{__LINE__}]} + else STDERR.puts %{\t*WARN* did not find - "#{@opt.base_path}#{doc_import_dir}/#{f[:f]}" [#{__FILE__}:#{__LINE__}]} end else - if FileTest.file?("#{@env.path.pwd}/#{f[:f]}") + 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/ - p "#{@env.path.pwd}/#{f[:f]} --> #{@path_pod[:doc]}/#{f[:n]}" + p "#{@opt.base_path}/#{f[:f]} --> #{@path_pod[:doc]}/#{f[:n]}" :yes elsif f[:f] !~ /^(?:#{Px[:lng_lst_rgx]})\/|~(?:#{Px[:lng_lst_rgx]})\.sst/ \ and @opt.f_pth[:lng_is] == 'en' - p "#{@env.path.pwd}/#{f[:f]} --> #{@path_pod[:doc]}/#{f[:n]}" + p "#{@opt.base_path}/#{f[:f]} --> #{@path_pod[:doc]}/#{f[:n]}" :yes else :no end if cpy == :yes - FileUtils::cp("#{@env.path.pwd}/#{f[:f]}", + FileUtils::cp("#{@opt.base_path}/#{f[:f]}", "#{@path_pod[:doc]}/#{f[:n]}") end - else STDERR.puts %{\t*WARN* did not find - "#{@env.path.pwd}/#{f[:f]}" [#{__FILE__}:#{__LINE__}]} + 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?("#{@env.path.pwd}#{doc_import_dir}/#{f[:f]}") - FileUtils::cp_r("#{@env.path.pwd}#{doc_import_dir}/#{f[:f]}", + 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 - "#{@env.path.pwd}#{doc_import_dir}/#{f[:f]}" [#{__FILE__}:#{__LINE__}]} + else STDERR.puts %{\t*WARN* did not find - "#{@opt.base_path}#{doc_import_dir}/#{f[:f]}" [#{__FILE__}:#{__LINE__}]} end else - if FileTest.file?("#{@env.path.pwd}/#{f[:f]}") + 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/ - p "#{@env.path.pwd}/#{f[:f]} --> #{@path_pod[:doc]}/#{f[:n]}" + p "#{@opt.base_path}/#{f[:f]} --> #{@path_pod[:doc]}/#{f[:n]}" :yes elsif f[:f] !~ /^(?:#{Px[:lng_lst_rgx]})\/|~(?:#{Px[:lng_lst_rgx]})\.sst/ \ and @opt.f_pth[:lng_is] == 'en' - p "#{@env.path.pwd}/#{f[:f]} --> #{@path_pod[:doc]}/#{f[:n]}" + p "#{@opt.base_path}/#{f[:f]} --> #{@path_pod[:doc]}/#{f[:n]}" :yes else :no end if cpy == :yes - FileUtils::cp("#{@env.path.pwd}/#{f[:f]}", + FileUtils::cp("#{@opt.base_path}/#{f[:f]}", "#{@path_pod[:doc]}/#{f[:n]}") end - else STDERR.puts %{\t*WARN* did not find - "#{@env.path.pwd}/#{f[:f]}" [#{__FILE__}:#{__LINE__}]} + else STDERR.puts %{\t*WARN* did not find - "#{@opt.base_path}/#{f[:f]}" [#{__FILE__}:#{__LINE__}]} end end end diff --git a/lib/sisu/v3/shared_txt.rb b/lib/sisu/v3/shared_txt.rb index 39363fcf..228109c1 100644 --- a/lib/sisu/v3/shared_txt.rb +++ b/lib/sisu/v3/shared_txt.rb @@ -114,7 +114,7 @@ module SiSU_TextUtils line_wrap end def array_wrap - if @para.class==Array + 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 diff --git a/lib/sisu/v3/shared_xml.rb b/lib/sisu/v3/shared_xml.rb index cff58007..6860d80c 100644 --- a/lib/sisu/v3/shared_xml.rb +++ b/lib/sisu/v3/shared_xml.rb @@ -109,8 +109,8 @@ module SiSU_XML_Munge 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; dob.obj - elsif dob.class==String; dob + str=if defined? dob.obj then dob.obj + elsif dob.is_a?(String) then dob end if str #¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûü @@ -217,7 +217,7 @@ module SiSU_XML_Munge dob=if defined? dob.obj dob.obj=str dob - elsif dob.class==String + elsif dob.is_a?(String) str end dob diff --git a/lib/sisu/v3/sitemaps.rb b/lib/sisu/v3/sitemaps.rb index 86a8e2fb..d45af899 100644 --- a/lib/sisu/v3/sitemaps.rb +++ b/lib/sisu/v3/sitemaps.rb @@ -97,10 +97,9 @@ module SiSU_Sitemaps end end def make_file(path,filename) - if File.writable?("#{path}/."); File.new("#{path}/#{filename}",'w+') - else - SiSU_Screen::Ansi.new('',"is the file or directory writable?, could not create #{filename}").warn - end + (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 diff --git a/lib/sisu/v3/sst_convert_markup.rb b/lib/sisu/v3/sst_convert_markup.rb index 6b224ddb..20b6d775 100644 --- a/lib/sisu/v3/sst_convert_markup.rb +++ b/lib/sisu/v3/sst_convert_markup.rb @@ -196,7 +196,7 @@ WOK and @opt.files.length > 0 mr=nil #%% changes to make m match, r replace --------------------------> - if @opt.mod.inspect =~/--help/; help + if @opt.mod.inspect =~/--help/ then help elsif @opt.mod.inspect =~/(?:convert|to)[=-](?:xml |sxs|sax|sxd|dom|sxn|node)/ ext=case @opt.mod.inspect when /(?:convert|to)[=-](?:xml|sxs|sax)/; '.sxs.xml' @@ -272,13 +272,13 @@ WOK end end end - if y=~/^\s*$/; @empty1=true - else @empty1=false - end + @empty1=(y=~/^\s*$/) \ + ? true + : false @file.puts y unless (@empty1==true and @empty2==true) - if y=~/^\s*$/; @empty2=true - else @empty2=false - end + @empty2=(y=~/^\s*$/) \ + ? true + : false end @file.close else puts "NO conversion match in #{i}" unless @opt.cmd=~/q/ diff --git a/lib/sisu/v3/sst_do_inline_footnotes.rb b/lib/sisu/v3/sst_do_inline_footnotes.rb index 4ceb54fa..b30fa8d2 100644 --- a/lib/sisu/v3/sst_do_inline_footnotes.rb +++ b/lib/sisu/v3/sst_do_inline_footnotes.rb @@ -107,9 +107,9 @@ module SiSU_ConvertFootnotes @@fns=@opt.fns @@dal_array=[] end - dal=if @@dal_array.empty?; read_fnm - else @@dal_array.dup #check - end + dal=(@@dal_array.empty?) \ + ? read_fnm + : @@dal_array.dup #check rescue SiSU_Errors::InfoError.new($!,$@,@opt.cmd,@opt.fns).error do __LINE__.to_s + ':' + __FILE__ @@ -124,7 +124,7 @@ module SiSU_ConvertFootnotes SiSU_Screen::Ansi.new(@opt.cmd,'convert footnotes').green_title_hi unless @opt.cmd =~/q/ file_array=IO.readlines(@opt.fns,'') file_array.each do |l| - if l =~/\r\n/; l.gsub!(/\r\n/,"\n") + if l =~/\r\n/ then l.gsub!(/\r\n/,"\n") end end meta=file_array.dup @@ -145,9 +145,9 @@ module SiSU_ConvertFootnotes end def read_fnm dal=[] - dal=if FileTest.file?(@fnm); File.open(@fnm){ |f| dal=Marshal.load(f)} - else SiSU_ConvertFootnotes::Source.new(@opt).create_dal #watch - end + dal=(FileTest.file?(@fnm)) \ + ? (File.open(@fnm){ |f| dal=Marshal.load(f)}) + : (SiSU_ConvertFootnotes::Source.new(@opt).create_dal) #watch end end class Output @@ -192,9 +192,9 @@ module SiSU_ConvertFootnotes data=data.join.split("\n\n") data_new=[] data.each do |x| - data_new << if x =~ /\n\n/m; x.split(/\n\n+/) - else x - end + data_new << (x =~ /\n\n/m) \ + ? (x.split(/\n\n+/)) + : x end data=data_new.flatten data=SiSU_ConvertFootnotes::Make.new(@md,data).substitutions_and_insertions? @@ -360,9 +360,9 @@ module SiSU_ConvertFootnotes if para !~/^(?:@\S+:|0~\S+)\s/m \ and para !~/\A\s*\Z/m @md.set_heading_top=true - head=if @md.title.full ; ":A~ #{@md.title.full}" - else ':A~ [no title provided]' - end + head=(@md.title.full) \ + ? (":A~ #{@md.title.full}") + : (':A~ [no title provided]') @tuned_file << head end end @@ -382,9 +382,9 @@ module SiSU_ConvertFootnotes and para !~/\A\s*\Z/m \ and para !~/<:p[bn]>/ @md.set_heading_seg=true - head=if @md.title.full ; "1~seg [#{@md.title.full}]" - else '1~seg [segment]' - end + head=(@md.title.full) \ + ? ("1~seg [#{@md.title.full}]") + : ('1~seg [segment]') @tuned_file << head end end diff --git a/lib/sisu/v3/sst_identify_markup.rb b/lib/sisu/v3/sst_identify_markup.rb index 60c28bf5..012475be 100644 --- a/lib/sisu/v3/sst_identify_markup.rb +++ b/lib/sisu/v3/sst_identify_markup.rb @@ -236,9 +236,9 @@ WOK end else puts 'file not found: ' + @opt.fns end - if defined? markup.version; markup.version - else 'markup type/version not determined' - end + (defined? markup.version) \ + ? markup.version + : 'markup type/version not determined' end def markup_version? if @opt.fns.empty? diff --git a/lib/sisu/v3/sst_to_s_xml_sax.rb b/lib/sisu/v3/sst_to_s_xml_sax.rb index 20f68aca..cc08be70 100644 --- a/lib/sisu/v3/sst_to_s_xml_sax.rb +++ b/lib/sisu/v3/sst_to_s_xml_sax.rb @@ -427,7 +427,7 @@ WOK @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.class==File + if filename_sxm.is_a?(File) @sisu.each {|para| filename_sxm.puts para} filename_sxm.close else puts 'file not created, is directory writable?' diff --git a/lib/sisu/v3/sysenv.rb b/lib/sisu/v3/sysenv.rb index 23326b40..c4b364ad 100644 --- a/lib/sisu/v3/sysenv.rb +++ b/lib/sisu/v3/sysenv.rb @@ -87,7 +87,7 @@ module SiSU_Env @t.month end def year_static - '2012' + YEAR end end class InfoSystem @@ -224,10 +224,6 @@ module SiSU_Env "#{@@home}/.sisu", "#{@@sisu_etc}/#{SiSU_version_dir}", ] - @@yamlrc_path=@@rc_path - #@@yamlrc_path=(stub_pwd !~/^sisupod$/) \ - #? (["#{@@pwd}/_sisu/#{SiSU_version_dir}","#{@@pwd}/_sisu","#{@@home}/.sisu/#{SiSU_version_dir}","#{@@home}/.sisu","#{@@sisu_etc}/#{SiSU_version_dir}"]) - #: ["#{@@home}/.sisu/#{SiSU_version_dir}","#{@@home}/.sisu","#{@@sisu_etc}/#{SiSU_version_dir}"] #security policy: prevent reading of sisurc.yml in sisupod @@ad_path=(stub_pwd !~/^sisupod$/) \ ? ([ "#{@@pwd}/.sisu/skin/yml", @@ -236,10 +232,10 @@ module SiSU_Env "#{@@sisu_etc}/skin/yml", ]) : ["#{@@home}/.sisu",@@sisu_etc] - 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,:yamlrc_path,:ad_path + 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,@rc_path,@yamlrc_path,@ad_path=\ - @@user,@@home,@@hostname,@@pwd,@@sisu_etc,@@host,@@arch,@@rbver,@@dir_arch,@@dir_sitearch,@@dir_bin,@@locale,@@default_dir,@@rc_path,@@yamlrc_path,@@ad_path + @user,@home,@hostname,@pwd,@sisu_etc,@host,@arch,@rbver,@dir_arch,@dir_sitearch,@dir_bin,@locale,@default_dir,@rc_path,@ad_path=\ + @@user,@@home,@@hostname,@@pwd,@@sisu_etc,@@host,@@arch,@@rbver,@@dir_arch,@@dir_sitearch,@@dir_bin,@@locale,@@default_dir,@@rc_path,@@ad_path #note rbver is duplicated in InfoVersion end end @@ -297,7 +293,7 @@ module SiSU_Env def sisu_yaml def rc unless @@rc - @yamlrc_path.each do |v| + @rc_path.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 @@ -467,8 +463,8 @@ module SiSU_Env filename=(@fns =~/\.ssm\.sst$/) \ ? @fns.gsub(/\.ssm\.sst$/,'.ssm') : @fns - unless (filename.nil? \ - or filename.empty?) + 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] @@ -781,7 +777,7 @@ module SiSU_Env @texpdf end def latex2pdf(md,papersize='a4') #convert from latex to pdf - tell=if @cmd =~/[MV]/ + tell=if @cmd =~/[MV]/ '' elsif @cmd =~/[v]/ %q{2>&1 | grep -v ' WARNING '} @@ -790,18 +786,16 @@ module SiSU_Env mode='batchmode' #mode='nonstopmode' program_ref="\n\t\tSee http://www.tug.org/applications/pdftex/\n\t\tOn Debian this is is included in tetex-extra" texpdf=tex2pdf_engine - if @pdfetex_flag; + if @pdfetex_flag texpdf_cmd=case texpdf when /xetex/ - @input =~/landscape\.tex$/ \ - ? %{#{texpdf} -interaction=#{mode} -fmt=xelatex -papersize="#{papersize} -l" #{@input} #{tell}\n} - : %{#{texpdf} -interaction=#{mode} -fmt=xelatex -papersize="#{papersize}" #{@input} #{tell}\n} + %{#{texpdf} -interaction=#{mode} -fmt=xelatex -papersize="#{papersize}" #{@input} #{tell}\n} when /xelatex/ - @input =~/landscape\.tex$/ \ - ? %{#{texpdf} -interaction=#{mode} -papersize="#{papersize} -l" #{@input} #{tell}\n} - : %{#{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" + %{#{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: #{program[0]}, #{program[1]}, #{program[2]} is installed. #{program_ref}" @@ -979,7 +973,7 @@ module SiSU_Env include FileUtils attr_accessor :filename,:sys,:home,:hostname,:user,:env,:rc,:www,:fnb,:fnn,:fnt,:flv,:webserv_path,:stub_pwd,:stub_src,:webserv_host_cgi,:webserv_port_cgi,:processing,:processing_git,:etc,:yamlrc_dir @@image_flag,@@local_image=true,true #warning on @@image_flag - @@fb=@@man_path=nil,nil + @@fb,@@man_path=nil,nil def initialize(fns='',md=nil) super() #you may not want to re-execute this static info so frequently! @fns,@md=fns,md @@ -990,7 +984,7 @@ module SiSU_Env elsif defined? @env.fnb \ and @env.fnb @env.fnb - elsif not @fns.nil? \ + elsif @fns.is_a?(String) \ and not @fns.empty? m=/(.+)?\.(?:(?:-|ssm\.)?sst|ssm)$/m @fns[m,1] if not @fns.empty? @@ -1193,25 +1187,25 @@ module SiSU_Env end def html_minitoc? flag=if defined? @rc['html']['minitoc'] \ - and not @rc['html']['minitoc'].nil? + and @rc['html']['minitoc'].is_a?(String) @rc['html']['minitoc'] else false end end def manifest_minitoc? - flag=if (defined? @rc['manifest']['minitoc'] \ - and not @rc['manifest']['minitoc'].nil?) + flag=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 not @rc['omit_list'].nil?) + @off_list ||=if defined? @rc['omit_list'] \ + and @rc['omit_list'].is_a?(String) @rc['omit_list'] - elsif (defined? @rc['omit']['list'] \ - and not @rc['omit']['list'].nil?) + elsif defined? @rc['omit']['list'] \ + and @rc['omit']['list'].is_a?(String) @rc['omit']['list'] else nil @@ -1390,7 +1384,7 @@ module SiSU_Env true elsif defined? @vz.widget_promo \ and not @vz.widget_promo.nil? \ - and @vz.widget_promo.class==Array \ + and @vz.widget_promo.is_a?(Array) \ and @vz.widget_promo.length > 0 @flag[:sk]=true true @@ -1745,18 +1739,15 @@ WOK self end def read_source_file(fns) - fns_array=if RUBY_VERSION < '1.9' - x=unless fns =~/\.ssm.sst$/ - IO.readlines(fns,'') - else IO.readlines("#{processing_path.composite_file}/#{fns}",'') - end - else #ruby version >= '1.9' - x=unless fns =~/\.ssm.sst$/ - IO.readlines(fns,'r:utf-8') - else IO.readlines("#{processing_path.composite_file}/#{fns}",'r:utf-8') - end + fns_array=unless fns =~/\.ssm.sst$/ + IO.readlines(fns, mode: 'r:utf-8', cr_newline: true) + else + IO.readlines("#{processing_path.composite_file}/#{fns}", mode: 'r:utf-8', cr_newline: true) end end + def source_file_processing_array(fns) + sf=read_source_file(fns).join.split(/\s*\n\s*\n/m) + end def path #dir def home @sys.home @@ -2077,8 +2068,7 @@ WOK end def dal pth=if defined? @rc['processing']['dal'] \ - and not @rc['processing']['dal'].nil? \ - and not @rc['processing']['dal'].empty? + and @rc['processing']['dal'].is_a?(String) "#{processing}/#{@rc['processing']['dal']}" else "#{processing}/#{defaults[:processing_dal]}" end @@ -2087,8 +2077,7 @@ WOK end def tune pth=if defined? @rc['processing']['tune'] \ - and not @rc['processing']['tune'].nil? \ - and not @rc['processing']['tune'].empty? + and @rc['processing']['tune'].is_a?(String) "#{processing}/#{@rc['processing']['tune']}" else "#{processing}/#{defaults[:processing_tune]}" end @@ -2102,8 +2091,7 @@ WOK end def git pth=if defined? @rc['git']['dir'] \ - and not @rc['git']['dir'].nil? \ - and not @rc['git']['dir'].empty? + and @rc['git']['dir'].is_a?(String) x=(@rc['git']['dir'] =~/^(?:~|home)$/) \ ? home + '/' + Gt[:git] : @rc['git']['dir'] + '/' + Gt[:git] @@ -2168,8 +2156,7 @@ WOK end def tex pth=if defined? @rc['processing']['latex'] \ - and not @rc['processing']['latex'].nil? \ - and not @rc['processing']['latex'].empty? + and @rc['processing']['latex'].is_a?(String) "#{processing}/#{@rc['processing']['latex']}" else "#{processing}/#{defaults[:processing_latex]}" end @@ -2178,8 +2165,7 @@ WOK end def texi pth=if defined? @rc['processing']['texinfo'] \ - and not @rc['processing']['texinfo'].nil? \ - and not @rc['processing']['texinfo'].empty? + and @rc['processing']['texinfo'].is_a?(String) "#{processing}/#{@rc['processing']['texinfo']}" else "#{processing}/#{defaults[:processing_texinfo]}" end @@ -2194,8 +2180,7 @@ WOK end def lout pth=if defined? @rc['processing']['lout'] \ - and not @rc['processing']['lout'].nil? \ - and not @rc['processing']['lout'].empty? + and @rc['processing']['lout'].is_a?(String) "#{processing}/#{@rc['processing']['lout']}" else "#{processing}/#{defaults[:processing_lout]}" end @@ -2209,8 +2194,7 @@ WOK end def sqlite pth=if defined? @rc['processing']['sqlite'] \ - and not @rc['processing']['sqlite'].nil? \ - and not @rc['processing']['sqlite'].empty? + and @rc['processing']['sqlite'].is_a?(String) "#{processing}/#{@rc['processing']['sqlite']}" else "#{processing}/#{defaults[:processing_sqlite]}" end @@ -2219,8 +2203,7 @@ WOK end def postgresql pth=if defined? @rc['processing']['postgresql'] \ - and not @rc['processing']['postgresql'].nil? \ - and not @rc['processing']['postgresql'].empty? + and @rc['processing']['postgresql'].is_a?(String) "#{processing}/#{@rc['processing']['postgresql']}" else "#{processing}/#{defaults[:processing_postgresql]}" end @@ -2292,82 +2275,41 @@ WOK else defaults[:webserv_host_cgi] end end - def webrick_port - if @md \ - and @md.opt.cmd.inspect=~/-F/ \ - and @md.opt.mod.inspect=~/port=(\d+)/ - $1 - else - if defined? @rc['webserv_cgi']['port'] - if @rc['webserv_cgi']['port'].nil? \ - and (defined? @md.opt.mod \ - and not @md.opt.mod.nil? \ - and @md.opt.mod.inspect=~/webrick/) - 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 - if @md \ - and defined? @md.opt \ - and @md.opt.cmd.inspect=~/-F/ \ - and @md.opt.mod.inspect=~/port=(\d+)/ - $1 - else - if defined? @rc['webserv_cgi']['port'] - if @rc['webserv_cgi']['port'].nil? \ - and (defined? @md.opt.mod \ - and not @md.opt.mod.nil? \ - and @md.opt.mod.inspect=~/webrick/) - defaults[:webserv_port_cgi] - elsif not @rc['webserv_cgi']['port'].nil? - @rc['webserv_cgi']['port'] - else nil - end - else nil - end - end - end def webserv_cgi #web url for local webserv (localhost, or hostname) if defined? @rc['webserv_cgi']['host'] \ - and not @rc['webserv_cgi']['host'].nil? + and @rc['webserv_cgi']['host'].is_a?(String) http=((@rc['webserv_cgi']['host'] =~ /https?:\/\//) ? '' : 'http://') #check https? missing - if webserv_port_cgi - "#{http}#{@rc['webserv_cgi']['host']}:#{webserv_port_cgi}/#{@stub_pwd}" + 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 webserv_port_cgi - "#{http}#{webserv_host_base}:#{webserv_port_cgi}/#{@stub_pwd}" + if port.webserv_port_cgi + "#{http}#{webserv_host_base}:#{port.webserv_port_cgi}/#{@stub_pwd}" else "#{http}#{webserv_host_base}/#{@stub_pwd}" end end end def webserv_base_cgi #web url for local webserv (localhost, or hostname) if defined? @rc['webserv_cgi']['host'] \ - and not @rc['webserv_cgi']['host'].nil? + and @rc['webserv_cgi']['host'].is_a?(String) http=((@rc['webserv_cgi']['host'] =~ /https?:\/\//) ? '' : 'http://') - if webserv_port_cgi - "#{http}#{@rc['webserv_cgi']['host']}:#{webserv_port_cgi}" + if port.webserv_port_cgi + "#{http}#{@rc['webserv_cgi']['host']}:#{port.webserv_port_cgi}" else "#{http}#{@rc['webserv_cgi']['host']}" end else http=((webserv_host_base=~/https?:\/\//) ? '' : 'http://') - if webserv_port_cgi - "#{http}#{webserv_host_base}:#{webserv_port_cgi}" + if port.webserv_port_cgi + "#{http}#{webserv_host_base}:#{port.webserv_port_cgi}" else "#{http}#{webserv_host_base}" end end end def webrick #must have a port #REMOVE if defined? @rc['webserv_cgi']['host'] \ - and not @rc['webserv_cgi']['host'].nil? + and @rc['webserv_cgi']['host'].is_a?(String) http=if @rc['webserv_cgi']['host'] =~/http:\/\// 'http://' elsif @rc['webserv_cgi']['host'] =~/https:\/\// @@ -2376,7 +2318,7 @@ WOK end "#{http}#{@rc['webserv_cgi']['host']}" elsif webserv_host_base \ - and not webserv_host_base.nil? + and webserv_host_base.is_a?(String) "#{http}#{webserv_host_base}" else "#{http}localhost" end end @@ -2391,8 +2333,8 @@ WOK elsif defined? @rc['webserv']['webrick_url'] \ and @rc['webserv']['webrick_url']==false "file://#{path.webserv}" - elsif webserv_port_cgi =~/\S+/ - "#{url.hostname}:#{webserv_port_cgi}" + elsif port.webserv_port_cgi =~/\S+/ + "#{url.hostname}:#{port.webserv_port_cgi}" else url.hostname end @@ -2485,6 +2427,50 @@ WOK end self end + def port + def webrick_port + if @md \ + and @md.opt.cmd.inspect=~/-F/ \ + and @md.opt.mod.inspect=~/port=(\d+)/ + $1 + else + if defined? @rc['webserv_cgi']['port'] + if @rc['webserv_cgi']['port'].nil? \ + and (defined? @md.opt.mod \ + and not @md.opt.mod.nil? \ + and @md.opt.mod.inspect=~/webrick/) + 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 + if @md \ + and defined? @md.opt \ + and @md.opt.cmd.inspect=~/-F/ \ + and @md.opt.mod.inspect=~/port=(\d+)/ + $1 + else + if defined? @rc['webserv_cgi']['port'] + if @rc['webserv_cgi']['port'].nil? \ + and (defined? @md.opt.mod \ + and not @md.opt.mod.nil? \ + and @md.opt.mod.inspect=~/webrick/) + defaults[:webserv_port_cgi] + elsif not @rc['webserv_cgi']['port'].nil? + @rc['webserv_cgi']['port'] + else nil + end + else nil + end + end + end + self + end def digest def type if defined? @rc['default']['digest'] \ @@ -2745,48 +2731,42 @@ WOK end def cf_0 #processing flag shortcuts if defined? @rc['flag']['default'] \ - and not (@rc['flag']['default'].nil? \ - or @rc['flag']['default'].empty?) + and @rc['flag']['default'].is_a?(String) @rc['flag']['default'] else '-NQhewpotbxXdyYv' end end def cf_1 #processing flag shortcuts if defined? @rc['flag']['i'] \ - and not (@rc['flag']['i'].nil? \ - or @rc['flag']['i'].empty?) + and @rc['flag']['i'].is_a?(String) @rc['flag']['i'] else '-Qhewpoty' end end def cf_2 #processing flag shortcuts if defined? @rc['flag']['ii'] \ - and not (@rc['flag']['ii'].nil? \ - or @rc['flag']['ii'].empty?) + and @rc['flag']['ii'].is_a?(String) @rc['flag']['ii'] else '-NQhewpotbxXdy' end end def cf_3 #processing flag shortcuts if defined? @rc['flag']['iii'] \ - and not (@rc['flag']['iii'].nil? \ - or @rc['flag']['iii'].empty?) + and @rc['flag']['iii'].is_a?(String) @rc['flag']['iii'] else '-NQhewpotbxXdyY' end end def cf_4 #processing flag shortcuts if defined? @rc['flag']['iv'] \ - and not (@rc['flag']['iv'].nil? \ - or @rc['flag']['iv'].empty?) + and @rc['flag']['iv'].is_a?(String) @rc['flag']['iv'] else '-NQhewpotbxXdDyY --update' end end def cf_5 #processing flag shortcuts if defined? @rc['flag']['v'] \ - and not (@rc['flag']['v'].nil? \ - or @rc['flag']['v'].empty?) + and @rc['flag']['v'].is_a?(String) @rc['flag']['v'] else '-NQhewpotbxXdDyYv --update' end @@ -2984,7 +2964,7 @@ WOK def remote_host #see InfoRemote remote_host_base_general r=[] r=if (defined? @rc['remote'] \ - and @rc['remote'].class==Array) + and @rc['remote'].is_a?(Array)) r_array=@rc['remote'] r_array.each_with_index do |renv,i| r[i]={} @@ -3001,7 +2981,7 @@ WOK end r elsif (defined? @rc['remote'] \ - and @rc['remote'].class==Hash \ + and @rc['remote'].is_a?(Hash) \ and defined? @rc['remote']['user'] \ and defined? @rc['remote']['host']) r[0]={} @@ -3467,8 +3447,8 @@ WOK def dal_idx_sst_rel_html_seg "#{@env.processing_path.dal}/#{@fns}.idx_sst.rbm" end - def dal_idx_sst_rel - "#{@env.processing_path.dal}/#{@fns}.idx_tex.rbm" + def dal_idx_sst_rel #used by tex & odf + "#{@env.processing_path.dal}/#{@fns}.idx_raw.rbm" end def dal_idx_html "#{@env.processing_path.dal}/#{@fns}.idx_html.rbm" @@ -3879,7 +3859,7 @@ WOK def port #PGPORT ((defined? @rc['db']['postgresql']['port']) \ && ( @rc['db']['postgresql']['port'] =~/\d+/ \ - || @rc['db']['postgresql']['port'].class==Fixnum)) \ + || @rc['db']['postgresql']['port'].is_a?(Fixnum))) \ ? @rc['db']['postgresql']['port'] : (@defaults[:postgresql_port]) end @@ -5630,7 +5610,7 @@ WOK @env=SiSU_Env::InfoEnv.new end def webrick - @env.url.webrick_port + @env.port.webrick_port end end class InfoProgram < InfoEnv #revisit @@ -5643,7 +5623,8 @@ WOK class InfoSkin def initialize(md=nil,skin=nil) @md=md - @d_sk=if skin.class==String ; skin + @d_sk=if skin.is_a?(String) + skin elsif defined? md.doc_skin \ and md.doc_skin md.doc_skin @@ -6032,15 +6013,3 @@ module SiSU_Errors end __END__ https? intro check 2007-09-22 - -fns_array=unless fns =~/\.ssm.sst$/ - if RUBY_VERSION < '1.9' - IO.readlines(fns,'') - else IO.readlines(fns,'r:utf-8') - end -else - if RUBY_VERSION < '1.9' - IO.readlines("#{processing_path.composite_file}/#{fns}",'') - else IO.readlines("#{processing_path.composite_file}/#{fns}",'r:utf-8') - end -end diff --git a/lib/sisu/v3/texinfo_format.rb b/lib/sisu/v3/texinfo_format.rb index 7374d01e..78f2a188 100644 --- a/lib/sisu/v3/texinfo_format.rb +++ b/lib/sisu/v3/texinfo_format.rb @@ -66,10 +66,10 @@ module SiSU_TexInfoFormat @@tex_pattern_margin_number="\\\\marginpar.+?\s+" def initialize(md,dob=nil) @md,@dob=md,dob - if dob.class==Hash + if dob.is_a?(Hash) p dob.class p caller - elsif dob.class==String + elsif dob.is_a?(String) p dob.class p caller end diff --git a/lib/sisu/v3/texpdf.rb b/lib/sisu/v3/texpdf.rb index 4c224b22..0665c9b4 100644 --- a/lib/sisu/v3/texpdf.rb +++ b/lib/sisu/v3/texpdf.rb @@ -401,8 +401,9 @@ module SiSU_TeX def tables(data) @tex_file=[] data.each do |dob| - @tex_file << if dob.class==String \ - or dob.class==Hash; 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 @@ -468,13 +469,14 @@ module SiSU_TeX || dob.is==:group \ || dob.is==:alt \ || dob.is==:verse - dob.tmp=dob.tmp.gsub(/#{Mx[:nbsp]}/m,'{~}'). - gsub(/#{Mx[:gl_bullet]}/m,'$\txtbullet$\hspace{\enspace}'). #Bullet environment not used for grouped text, ∴ no hanging indent here + 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" \ @@ -485,6 +487,9 @@ module SiSU_TeX + "\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" \ @@ -531,14 +536,14 @@ module SiSU_TeX h=tst.heading_major heading="\\clearpage\n" + h.tmp idx_arr=[] - idx=SiSU_Particulars::CombinedSingleton.instance.get_idx_tex(@md.opt).tex_idx + idx=SiSU_Particulars::CombinedSingleton.instance.get_idx_raw(@md.opt).raw_idx idx.each do |x| - x=if x.class==String + 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.class==String + idx_arr << x.sub(/,$/,'') if x.is_a?(String) end idx_str=idx_arr.join(br) l=heading + br + idx_str @@ -577,7 +582,7 @@ module SiSU_TeX dob.tmp=dob.tmp.strip unless dob.is==:code dob=enclose(dob) unless dob.tmp =~/^$/ end - if dob.class==String + 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 @@ -705,8 +710,8 @@ WOK % \\sloppy \\begin{document} WOK - sisu_rc_footnote=if @md.sc_info; @tex_ml.doc_sc_info_footnote_full - else @tex_ml.doc_sc_info_footnote_brief + sisu_rc_footnote=if @md.sc_info then @tex_ml.doc_sc_info_footnote_full + else @tex_ml.doc_sc_info_footnote_brief end @copymark='' #check and remove as now is superflous x={} @@ -771,7 +776,7 @@ WOK @tex_file << x x=nil data.each do |dob| #% case follows with levels 1-6 indents & graphics - if dob.class==Hash + if dob.is_a?(Hash) elsif dob.of==:para \ || dob.of==:block #GATEWAY FIX FIX stuff dob=markup_common(dob) @@ -792,7 +797,7 @@ WOK end end end - elsif dob.tmp.class==Hash \ + elsif dob.tmp.is_a?(Hash) \ and (dob.tmp[:p] and dob.tmp[:l]) dob = { p: markup_common(dob.tmp[:p]), @@ -839,7 +844,7 @@ WOK def number_paras(data) tex_file=[] data.each do |dob| - dob=if dob.class==Hash + dob=if dob.is_a?(Hash) if ( dob['a4'] \ or dob['a5'] \ or dob['b5'] \ @@ -927,7 +932,7 @@ WOK file[:portrait] << @@tex_head[ps][:p] file[:landscape] << @@tex_head[ps][:l] array.each do |morph| - if morph.class==String + if morph.is_a?(String) #morph.gsub!(/^\s+/,'') if morph !~/\A\s*\Z/ file[:portrait].puts morph,"\n" @@ -935,7 +940,7 @@ WOK end elsif morph.class.inspect =~ /SiSU_DAL_DocumentStructure/ \ and morph.tmp \ - and morph.tmp.class==String + and morph.tmp.is_a?(String) if morph.is !=:code \ && morph.of !=:block morph.tmp=morph.tmp.gsub(/^\s+/,'') @@ -946,10 +951,10 @@ WOK file[:portrait].puts morph.tmp,"\n" file[:landscape].puts morph.tmp,"\n" end - elsif morph.class==Hash #inserted headers and the like, only + 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.class==Hash #tables & images? + elsif morph.tmp.is_a?(Hash) #tables & images? h={ ps: ps, h: morph.tmp, filename: file } output_morph_hash(h) end diff --git a/lib/sisu/v3/texpdf_format.rb b/lib/sisu/v3/texpdf_format.rb index 43763157..2bd558bc 100644 --- a/lib/sisu/v3/texpdf_format.rb +++ b/lib/sisu/v3/texpdf_format.rb @@ -719,7 +719,7 @@ module SiSU_TeX_Pdf def initialize(md,t_o) @md,@t_o=md,t_o @env=SiSU_Env::InfoEnv.new(@md.fns) - if t_o.class==Hash + if t_o.is_a?(Hash) @txt =t_o[:txt] || nil @subtitle=t_o[:subtitle] || nil @ps=t_o[:paper_size] || nil @@ -1284,8 +1284,7 @@ WOK "\\1#{@brace_url.tex_open}\\begin{scriptsize}\\url{\\2}\\end{scriptsize}#{@brace_url.tex_close}\\3") #url matching with decoration <url> 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(/<!>/,' '). #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+>(.+?)<\/h\d+>/,'\begin{bfseries}\1 \end{bfseries}'). diff --git a/lib/sisu/v3/urls.rb b/lib/sisu/v3/urls.rb index 1dcf988f..0aba1d89 100644 --- a/lib/sisu/v3/urls.rb +++ b/lib/sisu/v3/urls.rb @@ -278,10 +278,11 @@ module SiSU_Urls end def urls_select unless @opt.cmd =~/q/ - i="(output manifest) [#{@opt.f_pth[:lng_is]}] #{@md.file.output_path.manifest.dir}/#{@md.file.base_filename.manifest}" + i1="[#{@opt.f_pth[:lng_is]}]" + i2="file://#{@md.file.output_path.manifest.dir}/#{@md.file.base_filename.manifest}" @opt.cmd=~/[MVvz]/ \ ? SiSU_Screen::Ansi.new(@opt.cmd,'URLs').green_title_hi - : SiSU_Screen::Ansi.new(@opt.cmd,'URL',i).grey_title_hi + : SiSU_Screen::Ansi.new(@opt.cmd,'URL (output manifest)',i1, i2).grey_title_grey_blue SiSU_Screen::Ansi.new(@opt.cmd,@opt.fns,"#{@md.file.output_path.manifest.dir}/#{@md.file.base_filename.manifest}").flow if @opt.cmd =~/[MVv]/ end m=/.+\/(?:src\/)?(\S+)/im # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m diff --git a/lib/sisu/v3/webrick.rb b/lib/sisu/v3/webrick.rb index f8189bba..96280d0c 100644 --- a/lib/sisu/v3/webrick.rb +++ b/lib/sisu/v3/webrick.rb @@ -56,77 +56,54 @@ suffixes, see man pages for options =end -def brick(port,get='') - cgidir=if get=~/pwd/; Dir.pwd - else '/usr/lib/cgi-bin' # @env.path.cgi - 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::InfoError.new($!,$@,'-W',nil).error do #fix - __LINE__.to_s + ':' + __FILE__ - end - ensure - end -end -begin #% - require 'webrick' - include WEBrick - require 'time' - require_relative 'sysenv' # sysenv.rb - include SiSU_Env; include SiSU_Screen - @cX=SiSU_Screen::Ansi.new('yes').cX - @env=SiSU_Env::InfoEnv.new - port=SiSU_Env::InfoPort.new - @argv=$* - @host=@env.url.webrick - host='localhost' - @port="#{@argv[0].to_i}" - @port="#{port.webrick}" if @port =~ /^0$/ - @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.cyan}#{x}#{@cX.off}\t#{@cX.grey}see#{@cX.off} #{@cX.blue}#{@host}:#{@port}#{x}/wb.cgi#{@cX.off} #{@cX.ruby}@#{@cX.off} #{@cX.blue}#{@host}:#{@port}#{x}/#{@cX.off}" - } - puts "#{@cX.grey}" - 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 - require 'time' - require 'cgi' - require 'fcgi' - ls=Dir.entries('./') - dir_contents=[] - ls.each { |x| dir_contents << "<a href=\"./#{x}/\">#{x}</a><br>" unless x =~/^(\.)+$/ } - dir_contents=dir_contents.sort.join(' ') - #host=ENV['HOSTNAME'] - #host=%x{echo $HOSTNAME} - ) - wb_s1=<<WOK +module SiSU_Webserv + class WebrickStart + require 'webrick' + include WEBrick + require 'time' + require_relative 'sysenv' # sysenv.rb + include SiSU_Env + include SiSU_Screen + def initialize + begin #% + @cX=SiSU_Screen::Ansi.new('yes').cX + @env=SiSU_Env::InfoEnv.new + port=SiSU_Env::InfoPort.new + @host=@env.url.webrick + host='localhost' + @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.cyan}#{x}#{@cX.off}\t#{@cX.grey}see#{@cX.off} #{@cX.blue}#{@host}:#{@port}#{x}/wb.cgi#{@cX.off} #{@cX.ruby}@#{@cX.off} #{@cX.blue}#{@host}:#{@port}#{x}/#{@cX.off}" + } + puts "#{@cX.grey}" + 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 + require 'time' + require 'cgi' + require 'fcgi' + ls=Dir.entries('./') + dir_contents=[] + ls.each { |x| dir_contents << "<a href=\"./#{x}/\">#{x}</a><br>" unless x =~/^(\.)+$/ } + dir_contents=dir_contents.sort.join(' ') + #host=ENV['HOSTNAME'] + #host=%x{echo $HOSTNAME} + ) + wb_s1=<<WOK page=CGI.new "html3" page.out { @@ -142,36 +119,66 @@ begin # page.p {''} + page.p {page.b{"Webrick Served Directories: "}} + WOK - #% wb_s2 (mounts) - @mount.each do |x,y| wb_s2 <<<<WOK - page.p {page.b{'<a href="#{@host}:#{@port}#{x}/">#{x}</a> '} + '<a href="#{@host}:#{@port}#{x}/">#{@host}:#{@port}#{x}</a> (mounts: #{y}/) <a href="#{@host}:#{@port}#{x}/wb.cgi">info (wb.cgi)</a>'} + + #% wb_s2 (mounts) + @mount.each do |x,y| wb_s2 <<<<WOK + page.p {page.b{'<a href="#{@host}:#{@port}#{x}/">#{x}</a> '} + '<a href="#{@host}:#{@port}#{x}/">#{@host}:#{@port}#{x}</a> (mounts: #{y}/) <a href="#{@host}:#{@port}#{x}/wb.cgi">info (wb.cgi)</a>'} + WOK -end - #% wb_end - wb_end=<<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 &") - } - puts " #{@cX.off}" - get=@argv.shift if @argv[0] =~/pwd/ #% argv - brick(@port,get) -rescue; - require_relative 'sysenv' # sysenv.rb - SiSU_Errors::InfoError.new($!,$@,'-W',nil).error do #fix - __LINE__.to_s + ':' + __FILE__ + @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 &") + } + puts " #{@cX.off}" + #get=@argv.shift if @argv[0] =~/pwd/ #% argv + get=Dir.pwd + brick(@port,get) + rescue + require_relative 'sysenv' # sysenv.rb + SiSU_Errors::InfoError.new($!,$@,'-W',nil).error do #fix + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end + def brick(port,get='') + cgidir=if get=~/pwd/; Dir.pwd + else '/usr/lib/cgi-bin' # @env.path.cgi + 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::InfoError.new($!,$@,'-W',nil).error do #fix + __LINE__.to_s + ':' + __FILE__ + end + ensure + end + end end ensure end diff --git a/lib/sisu/v3/xhtml_table.rb b/lib/sisu/v3/xhtml_table.rb index 753b0242..30701433 100644 --- a/lib/sisu/v3/xhtml_table.rb +++ b/lib/sisu/v3/xhtml_table.rb @@ -84,7 +84,7 @@ module SiSU_XHTML_Table end nc+=1 end - trc=trc.class==Array ? trc.flatten.join : trc + trc=(trc.is_a?(Array)) ? trc.flatten.join : trc trc=" <tr>#{trc}</tr>\n" nr+=1 table_rows << trc diff --git a/lib/sisu/v3/xml_format.rb b/lib/sisu/v3/xml_format.rb index a9f6fb01..52874eb1 100644 --- a/lib/sisu/v3/xml_format.rb +++ b/lib/sisu/v3/xml_format.rb @@ -195,17 +195,9 @@ module SiSU_XML_Format @vz=SiSU_Env::GetInit.instance.skin #margin,paragraph,table,banner,url,png,txt,color,font,nav_txt,nav_png,credits,js,php @index='index' end - def toc_head_escript #embedded script in this case PHP - end def table_close '</font> </td></tr></table>' end - def buttons_home - %{\n#{@banner.home_and_index_buttons}\n} - end - def copyat - %{copy @ <a href="#{@url.home}" #{@js.home}>#{@txt.home}</a>} - end def toc_head <<WOK <html> @@ -382,17 +374,6 @@ WOK %{ </font> #{@vz.table_close}} end - def buttons_home - %{<!- home and index buttons -!> - #{@vz.banner_home_and_index_buttons} -<!- home and index buttons -!>} - end - def copyat - %{#{@vz.paragraph_font_tiny}copy @ - <a href="#{@vz.url_home}" #{@vz.js_home}> - #{@vz.txt_home} - </a></font>} - end def html_close #moved %{</body> </html>} @@ -541,8 +522,7 @@ WOK #{@vz.color_body} <a name="top" id="top"></a> <a name="up" id="up"></a> -<a name="start" id="start"></a> -#{@vz.js_top}} +<a name="start" id="start"></a>} end def links_guide_open(type='horizontal') if type=='vertical'; links_guide_vertical_open @@ -629,7 +609,7 @@ WOK def metadata %{#{@vz.margin_css} <h4 class="toc"> - <a href="#{@metalink}" #{@vz.js_metalink}> + <a href="#{@metalink}"> <i>MetaData</i> </a> </h4> @@ -719,25 +699,24 @@ WOK #{@vz.color_body} <a name="top" id="top"></a> <a name="up" id="up"></a> -<a name="start" id="start"></a> -#{@vz.js_top}} +<a name="start" id="start"></a>} end def title_banner(title,subtitle,creator) end def dot_control_pre_next %{<table summary="segment hidden control pre and next" width="100%" border="0" cellpadding="0" bgcolor=#{@vz.color_grey_pale} align="center"> <tr><td align="left"> - <a href="#{@seg_name_html[@seg_name_html_tracker-1]}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top" #{@vz.js_prev}> + <a href="#{@seg_name_html[@seg_name_html_tracker-1]}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top"> #{@vz.png_nav_dot_pre} </a> </td> <td align="center"> - <a href="#{@index}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top" #{@vz.js_toc}> + <a href="#{@index}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top"> #{@vz.png_nav_dot_toc} </a> </td> <td align="right"> - <a href="#{@seg_name_html[@seg_name_html_tracker+1]}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top" #{@vz.js_next}> + <a href="#{@seg_name_html[@seg_name_html_tracker+1]}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top"> #{@vz.png_nav_dot_nxt} </a> #{@vz.table_close}} @@ -745,17 +724,17 @@ WOK def toc_nav(f_pre=false,f_nxt=false,use=1) pre=nxt='' toc=%{<td align="center" bgcolor=#{@vz.color_band1}> - <a href="#{@index}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top" #{@vz.js_toc}> + <a href="#{@index}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top"> #{@vz.png_nav_toc} </a> </td>} pre=%{<td align="center" bgcolor=#{@vz.color_band1}> - <a href="#{@seg_name_html[@seg_name_html_tracker-use]}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top" #{@vz.js_prev}> + <a href="#{@seg_name_html[@seg_name_html_tracker-use]}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top"> #{@vz.png_nav_pre} </a> </td>} if f_pre==true nxt=%{<td align="center" bgcolor=#{@vz.color_band1}> - <a href="#{@seg_name_html[@seg_name_html_tracker+1]}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top" #{@vz.js_next}> + <a href="#{@seg_name_html[@seg_name_html_tracker+1]}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top"> #{@vz.png_nav_nxt} </a> </td>} if f_nxt==true @@ -935,8 +914,7 @@ WOK #{@vz.color_body} <a name="top" id="top"></a> <a name="up" id="up"></a> -<a name="start" id="start"></a> -#{@vz.js_top}} +<a name="start" id="start"></a>} end def title_banner(title,subtitle,creator) %{ @@ -999,7 +977,7 @@ WOK 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.class==Hash + if t_o.is_a?(Hash) @txt =t_o[:txt] || nil @ocn =t_o[:ocn] || nil @ocn_display =t_o[:ocn_display] || nil diff --git a/lib/sisu/v3/xml_tables.rb b/lib/sisu/v3/xml_tables.rb index 98dc0140..ba89e791 100644 --- a/lib/sisu/v3/xml_tables.rb +++ b/lib/sisu/v3/xml_tables.rb @@ -97,11 +97,9 @@ module SiSU_Tables 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, %{<tr> - <td width="\\1%" valign="top"> - #{@vz.paragraph_table_xml}<b>}). + <td width="\\1%" valign="top"><b>}). gsub(/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u, - %{</b></td><td width="\\1%" valign="top"> - #{@vz.paragraph_table_xml}<b>}). + %{</b></td><td width="\\1%" valign="top"><b>}). gsub(/#{Mx[:tc_c]}/,"</b>\n</td>\n</tr>") @@tablehead=0 end @@ -109,13 +107,11 @@ module SiSU_Tables else @parablock=@parablock.gsub(/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u, %{<tr> - <td width="\\1%" valign="top"> - #{@vz.paragraph_table_xml}}). + <td width="\\1%" valign="top">}). gsub(/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u, %{ </td> - <td width="\\1%" valign="top"> - #{@vz.paragraph_table_xml}}). + <td width="\\1%" valign="top">}). gsub(/#{Mx[:tc_c]}/,"\n</td>\n</tr>\n") end @parablock |