lib/sisu/*, single libs directory (c&d gone) (7)
authorRalph Amissah <ralph@amissah.com>
Tue, 21 Apr 2015 18:45:52 +0000 (14:45 -0400)
committerRalph Amissah <ralph@amissah.com>
Fri, 1 May 2015 22:49:41 +0000 (18:49 -0400)
* removed lib/sisu/{current,develop} dir branches
  v7 (v5 & v6 retired)
* simplify dir structure, offer single version per snapshot
* have enjoyed carrying stable and development versions v5 & v6
  in a single tarball, may return to this structure

365 files changed:
bin/sisu
bin/sisu5 [deleted symlink]
bin/sisu6 [deleted symlink]
conf/sisu/sisurc.yml [new file with mode: 0644]
conf/sisu/v5/sisurc.yml [deleted symlink]
conf/sisu/v6/sisurc.yml [deleted symlink]
data/doc/sisu/CHANGELOG_v5
data/doc/sisu/CHANGELOG_v6
data/doc/sisu/markup-samples/manual/_sisu/sisu_document_make
data/doc/sisu/markup-samples/manual/_sisu/sisurc.yml [new file with mode: 0644]
data/doc/sisu/markup-samples/manual/_sisu/v5/sisurc.yml [deleted symlink]
data/doc/sisu/markup-samples/manual/_sisu/v6/sisurc.yml [deleted symlink]
lib/sisu.rb [moved from lib/sisu/current/zap.rb with 60% similarity]
lib/sisu/air.rb [moved from lib/sisu/current/air.rb with 98% similarity]
lib/sisu/ao.rb [moved from lib/sisu/current/ao.rb with 99% similarity]
lib/sisu/ao_character_check.rb [moved from lib/sisu/current/ao_character_check.rb with 98% similarity]
lib/sisu/ao_composite.rb [moved from lib/sisu/current/ao_composite.rb with 99% similarity]
lib/sisu/ao_doc_objects.rb [moved from lib/sisu/develop/ao_doc_objects.rb with 99% similarity]
lib/sisu/ao_doc_str.rb [moved from lib/sisu/current/ao_doc_str.rb with 99% similarity]
lib/sisu/ao_endnotes.rb [moved from lib/sisu/develop/ao_endnotes.rb with 99% similarity]
lib/sisu/ao_expand_insertions.rb [moved from lib/sisu/develop/ao_expand_insertions.rb with 99% similarity]
lib/sisu/ao_hash_digest.rb [moved from lib/sisu/develop/ao_hash_digest.rb with 99% similarity]
lib/sisu/ao_idx.rb [moved from lib/sisu/develop/ao_idx.rb with 99% similarity]
lib/sisu/ao_images.rb [moved from lib/sisu/develop/ao_images.rb with 99% similarity]
lib/sisu/ao_metadata.rb [moved from lib/sisu/develop/ao_metadata.rb with 98% similarity]
lib/sisu/ao_misc_arrange.rb [moved from lib/sisu/current/ao_misc_arrange.rb with 99% similarity]
lib/sisu/ao_numbering.rb [moved from lib/sisu/current/ao_numbering.rb with 99% similarity]
lib/sisu/ao_persist.rb [moved from lib/sisu/develop/ao_persist.rb with 99% similarity]
lib/sisu/ao_references.rb [moved from lib/sisu/develop/ao_references.rb with 99% similarity]
lib/sisu/ao_syntax.rb [moved from lib/sisu/develop/ao_syntax.rb with 99% similarity]
lib/sisu/cgi.rb [moved from lib/sisu/develop/cgi.rb with 99% similarity]
lib/sisu/cgi_pgsql.rb [moved from lib/sisu/current/cgi_pgsql.rb with 99% similarity]
lib/sisu/cgi_sql_common.rb [moved from lib/sisu/current/cgi_sql_common.rb with 99% similarity]
lib/sisu/cgi_sqlite.rb [moved from lib/sisu/develop/cgi_sqlite.rb with 99% similarity]
lib/sisu/conf.rb [moved from lib/sisu/develop/conf.rb with 99% similarity]
lib/sisu/constants.rb [moved from lib/sisu/current/constants.rb with 99% similarity]
lib/sisu/css.rb [moved from lib/sisu/current/css.rb with 99% similarity]
lib/sisu/current/ao_doc_objects.rb [deleted file]
lib/sisu/current/ao_endnotes.rb [deleted file]
lib/sisu/current/ao_expand_insertions.rb [deleted file]
lib/sisu/current/ao_hash_digest.rb [deleted file]
lib/sisu/current/ao_idx.rb [deleted file]
lib/sisu/current/ao_images.rb [deleted file]
lib/sisu/current/ao_metadata.rb [deleted file]
lib/sisu/current/ao_persist.rb [deleted file]
lib/sisu/current/ao_references.rb [deleted file]
lib/sisu/current/ao_syntax.rb [deleted file]
lib/sisu/current/cgi.rb [deleted file]
lib/sisu/current/cgi_sqlite.rb [deleted file]
lib/sisu/current/conf.rb [deleted file]
lib/sisu/current/db_create.rb [deleted file]
lib/sisu/current/db_indexes.rb [deleted file]
lib/sisu/current/db_load_tuple.rb [deleted file]
lib/sisu/current/db_remove.rb [deleted file]
lib/sisu/current/db_select.rb [deleted file]
lib/sisu/current/dbi_discrete.rb [deleted file]
lib/sisu/current/dp.rb [deleted file]
lib/sisu/current/dp_make.rb [deleted file]
lib/sisu/current/git.rb [deleted file]
lib/sisu/current/html.rb [deleted file]
lib/sisu/current/html_concordance.rb [deleted file]
lib/sisu/current/html_harvest.rb [deleted file]
lib/sisu/current/html_harvest_author_format.rb [deleted file]
lib/sisu/current/html_harvest_topics.rb [deleted file]
lib/sisu/current/html_manifest.rb [deleted file]
lib/sisu/current/html_minitoc.rb [deleted file]
lib/sisu/current/html_parts.rb [deleted file]
lib/sisu/current/html_persist.rb [deleted file]
lib/sisu/current/html_promo.rb [deleted file]
lib/sisu/current/html_scroll.rb [deleted file]
lib/sisu/current/html_segments.rb [deleted file]
lib/sisu/current/html_shared.rb [deleted file]
lib/sisu/current/html_table.rb [deleted file]
lib/sisu/current/html_tune.rb [deleted file]
lib/sisu/current/hub.rb [deleted file]
lib/sisu/current/hub_actions.rb [deleted file]
lib/sisu/current/hub_loop_markup_files.rb [deleted file]
lib/sisu/current/i18n.rb [deleted file]
lib/sisu/current/manpage.rb [deleted file]
lib/sisu/current/object_munge.rb [deleted file]
lib/sisu/current/relaxng.rb [deleted file]
lib/sisu/current/remote.rb [deleted file]
lib/sisu/current/se.rb [deleted file]
lib/sisu/current/se_clear.rb [deleted file]
lib/sisu/current/se_createsite.rb [deleted file]
lib/sisu/current/se_date.rb [deleted file]
lib/sisu/current/se_envcall.rb [deleted file]
lib/sisu/current/se_get_init.rb [deleted file]
lib/sisu/current/se_hub_particulars.rb [deleted file]
lib/sisu/current/se_info_system.rb [deleted file]
lib/sisu/current/se_load.rb [deleted file]
lib/sisu/current/se_programs.rb [deleted file]
lib/sisu/current/se_standardise_lang.rb [deleted file]
lib/sisu/current/se_version.rb [deleted file]
lib/sisu/current/shared_images.rb [deleted file]
lib/sisu/current/shared_sem.rb [deleted file]
lib/sisu/current/sitemaps.rb [deleted file]
lib/sisu/current/src_po4a_shelf.rb [deleted file]
lib/sisu/current/src_po4a_shelf_set.rb [deleted file]
lib/sisu/current/src_po4a_sst_ao_sst.rb [deleted file]
lib/sisu/current/src_po4a_sstm.rb [deleted file]
lib/sisu/current/src_shared.rb [deleted file]
lib/sisu/current/src_sisupod_make.rb [deleted file]
lib/sisu/current/src_sisupod_sstm.rb [deleted file]
lib/sisu/current/sst_convert_markup.rb [deleted file]
lib/sisu/current/sst_do_inline_footnotes.rb [deleted file]
lib/sisu/current/sst_identify_markup.rb [deleted file]
lib/sisu/current/termsheet.rb [deleted file]
lib/sisu/current/texinfo.rb [deleted file]
lib/sisu/current/texinfo_format.rb [deleted file]
lib/sisu/current/texpdf.rb [deleted file]
lib/sisu/current/texpdf_format.rb [deleted file]
lib/sisu/current/texpdf_parts.rb [deleted file]
lib/sisu/current/txt_asciidoc.rb [deleted file]
lib/sisu/current/txt_asciidoc_decorate.rb [deleted file]
lib/sisu/current/txt_markdown.rb [deleted file]
lib/sisu/current/txt_markdown_decorate.rb [deleted file]
lib/sisu/current/txt_orgmode.rb [deleted file]
lib/sisu/current/txt_rst.rb [deleted file]
lib/sisu/current/txt_rst_decorate.rb [deleted file]
lib/sisu/current/txt_shared.rb [deleted file]
lib/sisu/current/txt_textile_decorate.rb [deleted file]
lib/sisu/current/urls.rb [deleted file]
lib/sisu/current/utils.rb [deleted file]
lib/sisu/current/utils_response.rb [deleted file]
lib/sisu/current/utils_screen_text_color.rb [deleted file]
lib/sisu/current/wikispeak.rb [deleted file]
lib/sisu/current/xhtml_epub2_format.rb [deleted file]
lib/sisu/current/xhtml_epub2_persist.rb [deleted file]
lib/sisu/current/xhtml_parts.rb [deleted file]
lib/sisu/current/xml_docbook5.rb [deleted file]
lib/sisu/current/xml_dom.rb [deleted file]
lib/sisu/current/xml_fictionbook2.rb [deleted file]
lib/sisu/current/xml_md_oai_pmh_dc.rb [deleted file]
lib/sisu/current/xml_odf_odt.rb [deleted file]
lib/sisu/current/xml_odf_odt_format.rb [deleted file]
lib/sisu/current/xml_parts.rb [deleted file]
lib/sisu/current/xml_persist.rb [deleted file]
lib/sisu/current/xml_tables.rb [deleted file]
lib/sisu/db_columns.rb [moved from lib/sisu/current/db_columns.rb with 99% similarity]
lib/sisu/db_create.rb [moved from lib/sisu/develop/db_create.rb with 99% similarity]
lib/sisu/db_dbi.rb [moved from lib/sisu/current/db_dbi.rb with 99% similarity]
lib/sisu/db_drop.rb [moved from lib/sisu/current/db_drop.rb with 99% similarity]
lib/sisu/db_import.rb [moved from lib/sisu/current/db_import.rb with 99% similarity]
lib/sisu/db_indexes.rb [moved from lib/sisu/develop/db_indexes.rb with 99% similarity]
lib/sisu/db_load_tuple.rb [moved from lib/sisu/develop/db_load_tuple.rb with 99% similarity]
lib/sisu/db_remove.rb [moved from lib/sisu/develop/db_remove.rb with 99% similarity]
lib/sisu/db_select.rb [moved from lib/sisu/develop/db_select.rb with 99% similarity]
lib/sisu/db_sqltxt.rb [moved from lib/sisu/current/db_sqltxt.rb with 99% similarity]
lib/sisu/db_tests.rb [moved from lib/sisu/current/db_tests.rb with 99% similarity]
lib/sisu/dbi.rb [moved from lib/sisu/current/dbi.rb with 99% similarity]
lib/sisu/dbi_discrete.rb [moved from lib/sisu/develop/dbi_discrete.rb with 99% similarity]
lib/sisu/develop/air.rb [deleted file]
lib/sisu/develop/ao.rb [deleted file]
lib/sisu/develop/ao_character_check.rb [deleted file]
lib/sisu/develop/ao_composite.rb [deleted file]
lib/sisu/develop/ao_doc_str.rb [deleted file]
lib/sisu/develop/ao_misc_arrange.rb [deleted file]
lib/sisu/develop/ao_numbering.rb [deleted file]
lib/sisu/develop/cgi_pgsql.rb [deleted file]
lib/sisu/develop/cgi_sql_common.rb [deleted file]
lib/sisu/develop/constants.rb [deleted file]
lib/sisu/develop/css.rb [deleted file]
lib/sisu/develop/db_columns.rb [deleted file]
lib/sisu/develop/db_dbi.rb [deleted file]
lib/sisu/develop/db_drop.rb [deleted file]
lib/sisu/develop/db_import.rb [deleted file]
lib/sisu/develop/db_sqltxt.rb [deleted file]
lib/sisu/develop/db_tests.rb [deleted file]
lib/sisu/develop/dbi.rb [deleted file]
lib/sisu/develop/digests.rb [deleted file]
lib/sisu/develop/dp_identify_markup.rb [deleted file]
lib/sisu/develop/embedded.rb [deleted file]
lib/sisu/develop/errors.rb [deleted file]
lib/sisu/develop/generic_parts.rb [deleted file]
lib/sisu/develop/html_format.rb [deleted file]
lib/sisu/develop/html_harvest_authors.rb [deleted file]
lib/sisu/develop/html_lite_shared.rb [deleted file]
lib/sisu/develop/hub_options.rb [deleted file]
lib/sisu/develop/manpage_format.rb [deleted file]
lib/sisu/develop/prog_text_translation.rb [deleted file]
lib/sisu/develop/qrcode.rb [deleted file]
lib/sisu/develop/rexml.rb [deleted file]
lib/sisu/develop/se_cleanoutput.rb [deleted file]
lib/sisu/develop/se_css.rb [deleted file]
lib/sisu/develop/se_db.rb [deleted file]
lib/sisu/develop/se_file_op.rb [deleted file]
lib/sisu/develop/se_filemap.rb [deleted file]
lib/sisu/develop/se_info_env.rb [deleted file]
lib/sisu/develop/se_info_port.rb [deleted file]
lib/sisu/develop/se_processing.rb [deleted file]
lib/sisu/develop/se_remotes.rb [deleted file]
lib/sisu/develop/shared_markup_alt.rb [deleted file]
lib/sisu/develop/shared_metadata.rb [deleted file]
lib/sisu/develop/sisu_thor_lib.rb [deleted file]
lib/sisu/develop/src_kdissert_share.rb [deleted file]
lib/sisu/develop/src_po4a_share.rb [deleted file]
lib/sisu/develop/src_po4a_sst_ao_sst_set.rb [deleted file]
lib/sisu/develop/sst_from_xml.rb [deleted file]
lib/sisu/develop/sst_to_s_xml_sax.rb [deleted file]
lib/sisu/develop/txt_orgmode_decorate.rb [deleted file]
lib/sisu/develop/txt_output.rb [deleted file]
lib/sisu/develop/txt_plain.rb [deleted file]
lib/sisu/develop/txt_plain_decorate.rb [deleted file]
lib/sisu/develop/txt_read.rb [deleted file]
lib/sisu/develop/txt_textile.rb [deleted file]
lib/sisu/develop/update.rb [deleted file]
lib/sisu/develop/utils_composite.rb [deleted file]
lib/sisu/develop/utils_spell.rb [deleted file]
lib/sisu/develop/webrick.rb [deleted file]
lib/sisu/develop/xhtml.rb [deleted file]
lib/sisu/develop/xhtml_epub2.rb [deleted file]
lib/sisu/develop/xhtml_epub2_concordance.rb [deleted file]
lib/sisu/develop/xhtml_epub2_segments.rb [deleted file]
lib/sisu/develop/xhtml_epub2_tune.rb [deleted file]
lib/sisu/develop/xhtml_shared.rb [deleted file]
lib/sisu/develop/xhtml_table.rb [deleted file]
lib/sisu/develop/xml_format.rb [deleted file]
lib/sisu/develop/xml_sax.rb [deleted file]
lib/sisu/develop/xml_scaffold_structure_collapsed.rb [deleted file]
lib/sisu/develop/xml_scaffold_structure_sisu.rb [deleted file]
lib/sisu/develop/xml_shared.rb [deleted file]
lib/sisu/digests.rb [moved from lib/sisu/current/digests.rb with 99% similarity]
lib/sisu/dp.rb [moved from lib/sisu/develop/dp.rb with 99% similarity]
lib/sisu/dp_identify_markup.rb [moved from lib/sisu/current/dp_identify_markup.rb with 99% similarity]
lib/sisu/dp_make.rb [moved from lib/sisu/develop/dp_make.rb with 99% similarity]
lib/sisu/embedded.rb [moved from lib/sisu/current/embedded.rb with 99% similarity]
lib/sisu/errors.rb [moved from lib/sisu/current/errors.rb with 98% similarity]
lib/sisu/generic_parts.rb [moved from lib/sisu/current/generic_parts.rb with 98% similarity]
lib/sisu/git.rb [moved from lib/sisu/develop/git.rb with 99% similarity]
lib/sisu/html.rb [moved from lib/sisu/develop/html.rb with 99% similarity]
lib/sisu/html_concordance.rb [moved from lib/sisu/develop/html_concordance.rb with 99% similarity]
lib/sisu/html_format.rb [moved from lib/sisu/current/html_format.rb with 99% similarity]
lib/sisu/html_harvest.rb [moved from lib/sisu/develop/html_harvest.rb with 99% similarity]
lib/sisu/html_harvest_author_format.rb [moved from lib/sisu/develop/html_harvest_author_format.rb with 98% similarity]
lib/sisu/html_harvest_authors.rb [moved from lib/sisu/current/html_harvest_authors.rb with 99% similarity]
lib/sisu/html_harvest_topics.rb [moved from lib/sisu/develop/html_harvest_topics.rb with 99% similarity]
lib/sisu/html_lite_shared.rb [moved from lib/sisu/current/html_lite_shared.rb with 99% similarity]
lib/sisu/html_manifest.rb [moved from lib/sisu/develop/html_manifest.rb with 99% similarity]
lib/sisu/html_minitoc.rb [moved from lib/sisu/develop/html_minitoc.rb with 99% similarity]
lib/sisu/html_parts.rb [moved from lib/sisu/develop/html_parts.rb with 99% similarity]
lib/sisu/html_persist.rb [moved from lib/sisu/develop/html_persist.rb with 99% similarity]
lib/sisu/html_promo.rb [moved from lib/sisu/develop/html_promo.rb with 99% similarity]
lib/sisu/html_scroll.rb [moved from lib/sisu/develop/html_scroll.rb with 99% similarity]
lib/sisu/html_segments.rb [moved from lib/sisu/develop/html_segments.rb with 99% similarity]
lib/sisu/html_shared.rb [moved from lib/sisu/develop/html_shared.rb with 98% similarity]
lib/sisu/html_table.rb [moved from lib/sisu/develop/html_table.rb with 98% similarity]
lib/sisu/html_tune.rb [moved from lib/sisu/develop/html_tune.rb with 99% similarity]
lib/sisu/hub.rb [moved from lib/sisu/develop/hub.rb with 98% similarity]
lib/sisu/hub_actions.rb [moved from lib/sisu/develop/hub_actions.rb with 99% similarity]
lib/sisu/hub_loop_markup_files.rb [moved from lib/sisu/develop/hub_loop_markup_files.rb with 99% similarity]
lib/sisu/hub_options.rb [moved from lib/sisu/current/hub_options.rb with 99% similarity]
lib/sisu/i18n.rb [moved from lib/sisu/develop/i18n.rb with 99% similarity]
lib/sisu/manpage.rb [moved from lib/sisu/develop/manpage.rb with 99% similarity]
lib/sisu/manpage_format.rb [moved from lib/sisu/current/manpage_format.rb with 98% similarity]
lib/sisu/object_munge.rb [moved from lib/sisu/develop/object_munge.rb with 99% similarity]
lib/sisu/prog_text_translation.rb [moved from lib/sisu/current/prog_text_translation.rb with 99% similarity]
lib/sisu/qrcode.rb [moved from lib/sisu/current/qrcode.rb with 99% similarity]
lib/sisu/relaxng.rb [moved from lib/sisu/develop/relaxng.rb with 99% similarity]
lib/sisu/remote.rb [moved from lib/sisu/develop/remote.rb with 99% similarity]
lib/sisu/rexml.rb [moved from lib/sisu/current/rexml.rb with 99% similarity]
lib/sisu/se.rb [moved from lib/sisu/develop/se.rb with 99% similarity]
lib/sisu/se_cleanoutput.rb [moved from lib/sisu/current/se_cleanoutput.rb with 99% similarity]
lib/sisu/se_clear.rb [moved from lib/sisu/develop/se_clear.rb with 99% similarity]
lib/sisu/se_createsite.rb [moved from lib/sisu/develop/se_createsite.rb with 99% similarity]
lib/sisu/se_css.rb [moved from lib/sisu/current/se_css.rb with 99% similarity]
lib/sisu/se_date.rb [moved from lib/sisu/develop/se_date.rb with 98% similarity]
lib/sisu/se_db.rb [moved from lib/sisu/current/se_db.rb with 99% similarity]
lib/sisu/se_envcall.rb [moved from lib/sisu/develop/se_envcall.rb with 99% similarity]
lib/sisu/se_file_op.rb [moved from lib/sisu/current/se_file_op.rb with 99% similarity]
lib/sisu/se_filemap.rb [moved from lib/sisu/current/se_filemap.rb with 99% similarity]
lib/sisu/se_get_init.rb [moved from lib/sisu/develop/se_get_init.rb with 85% similarity]
lib/sisu/se_hub_particulars.rb [moved from lib/sisu/develop/se_hub_particulars.rb with 99% similarity]
lib/sisu/se_info_env.rb [moved from lib/sisu/current/se_info_env.rb with 99% similarity]
lib/sisu/se_info_port.rb [moved from lib/sisu/current/se_info_port.rb with 98% similarity]
lib/sisu/se_info_system.rb [moved from lib/sisu/develop/se_info_system.rb with 98% similarity]
lib/sisu/se_load.rb [moved from lib/sisu/develop/se_load.rb with 99% similarity]
lib/sisu/se_processing.rb [moved from lib/sisu/current/se_processing.rb with 99% similarity]
lib/sisu/se_programs.rb [moved from lib/sisu/develop/se_programs.rb with 99% similarity]
lib/sisu/se_remotes.rb [moved from lib/sisu/current/se_remotes.rb with 99% similarity]
lib/sisu/se_standardise_lang.rb [moved from lib/sisu/develop/se_standardise_lang.rb with 99% similarity]
lib/sisu/se_version.rb [moved from lib/sisu/develop/se_version.rb with 90% similarity]
lib/sisu/shared_images.rb [moved from lib/sisu/develop/shared_images.rb with 99% similarity]
lib/sisu/shared_markup_alt.rb [moved from lib/sisu/current/shared_markup_alt.rb with 99% similarity]
lib/sisu/shared_metadata.rb [moved from lib/sisu/current/shared_metadata.rb with 99% similarity]
lib/sisu/shared_sem.rb [moved from lib/sisu/develop/shared_sem.rb with 99% similarity]
lib/sisu/sisu_thor_lib.rb [moved from lib/sisu/current/sisu_thor_lib.rb with 100% similarity]
lib/sisu/sitemaps.rb [moved from lib/sisu/develop/sitemaps.rb with 99% similarity]
lib/sisu/src_kdissert_share.rb [moved from lib/sisu/current/src_kdissert_share.rb with 98% similarity]
lib/sisu/src_po4a_share.rb [moved from lib/sisu/current/src_po4a_share.rb with 99% similarity]
lib/sisu/src_po4a_shelf.rb [moved from lib/sisu/develop/src_po4a_shelf.rb with 99% similarity]
lib/sisu/src_po4a_shelf_set.rb [moved from lib/sisu/develop/src_po4a_shelf_set.rb with 99% similarity]
lib/sisu/src_po4a_sst_ao_sst.rb [moved from lib/sisu/develop/src_po4a_sst_ao_sst.rb with 99% similarity]
lib/sisu/src_po4a_sst_ao_sst_set.rb [moved from lib/sisu/current/src_po4a_sst_ao_sst_set.rb with 99% similarity]
lib/sisu/src_po4a_sstm.rb [moved from lib/sisu/develop/src_po4a_sstm.rb with 99% similarity]
lib/sisu/src_shared.rb [moved from lib/sisu/develop/src_shared.rb with 99% similarity]
lib/sisu/src_sisupod_make.rb [moved from lib/sisu/develop/src_sisupod_make.rb with 99% similarity]
lib/sisu/src_sisupod_sstm.rb [moved from lib/sisu/develop/src_sisupod_sstm.rb with 98% similarity]
lib/sisu/sst_convert_markup.rb [moved from lib/sisu/develop/sst_convert_markup.rb with 99% similarity]
lib/sisu/sst_do_inline_footnotes.rb [moved from lib/sisu/develop/sst_do_inline_footnotes.rb with 99% similarity]
lib/sisu/sst_from_xml.rb [moved from lib/sisu/current/sst_from_xml.rb with 99% similarity]
lib/sisu/sst_identify_markup.rb [moved from lib/sisu/develop/sst_identify_markup.rb with 99% similarity]
lib/sisu/sst_to_s_xml_sax.rb [moved from lib/sisu/current/sst_to_s_xml_sax.rb with 99% similarity]
lib/sisu/termsheet.rb [moved from lib/sisu/develop/termsheet.rb with 99% similarity]
lib/sisu/texinfo.rb [moved from lib/sisu/develop/texinfo.rb with 99% similarity]
lib/sisu/texinfo_format.rb [moved from lib/sisu/develop/texinfo_format.rb with 99% similarity]
lib/sisu/texpdf.rb [moved from lib/sisu/develop/texpdf.rb with 99% similarity]
lib/sisu/texpdf_format.rb [moved from lib/sisu/develop/texpdf_format.rb with 99% similarity]
lib/sisu/texpdf_parts.rb [moved from lib/sisu/develop/texpdf_parts.rb with 99% similarity]
lib/sisu/txt_asciidoc.rb [moved from lib/sisu/develop/txt_asciidoc.rb with 99% similarity]
lib/sisu/txt_asciidoc_decorate.rb [moved from lib/sisu/develop/txt_asciidoc_decorate.rb with 98% similarity]
lib/sisu/txt_markdown.rb [moved from lib/sisu/develop/txt_markdown.rb with 99% similarity]
lib/sisu/txt_markdown_decorate.rb [moved from lib/sisu/develop/txt_markdown_decorate.rb with 98% similarity]
lib/sisu/txt_orgmode.rb [moved from lib/sisu/develop/txt_orgmode.rb with 99% similarity]
lib/sisu/txt_orgmode_decorate.rb [moved from lib/sisu/current/txt_orgmode_decorate.rb with 98% similarity]
lib/sisu/txt_output.rb [moved from lib/sisu/current/txt_output.rb with 98% similarity]
lib/sisu/txt_plain.rb [moved from lib/sisu/current/txt_plain.rb with 99% similarity]
lib/sisu/txt_plain_decorate.rb [moved from lib/sisu/current/txt_plain_decorate.rb with 98% similarity]
lib/sisu/txt_read.rb [moved from lib/sisu/current/txt_read.rb with 99% similarity]
lib/sisu/txt_rst.rb [moved from lib/sisu/develop/txt_rst.rb with 99% similarity]
lib/sisu/txt_rst_decorate.rb [moved from lib/sisu/develop/txt_rst_decorate.rb with 98% similarity]
lib/sisu/txt_shared.rb [moved from lib/sisu/develop/txt_shared.rb with 99% similarity]
lib/sisu/txt_textile.rb [moved from lib/sisu/current/txt_textile.rb with 99% similarity]
lib/sisu/txt_textile_decorate.rb [moved from lib/sisu/develop/txt_textile_decorate.rb with 98% similarity]
lib/sisu/update.rb [moved from lib/sisu/current/update.rb with 99% similarity]
lib/sisu/urls.rb [moved from lib/sisu/develop/urls.rb with 99% similarity]
lib/sisu/utils.rb [moved from lib/sisu/develop/utils.rb with 99% similarity]
lib/sisu/utils_composite.rb [moved from lib/sisu/current/utils_composite.rb with 98% similarity]
lib/sisu/utils_response.rb [moved from lib/sisu/develop/utils_response.rb with 98% similarity]
lib/sisu/utils_screen_text_color.rb [moved from lib/sisu/develop/utils_screen_text_color.rb with 99% similarity]
lib/sisu/utils_spell.rb [moved from lib/sisu/current/utils_spell.rb with 98% similarity]
lib/sisu/webrick.rb [moved from lib/sisu/current/webrick.rb with 99% similarity]
lib/sisu/wikispeak.rb [moved from lib/sisu/develop/wikispeak.rb with 99% similarity]
lib/sisu/xhtml.rb [moved from lib/sisu/current/xhtml.rb with 99% similarity]
lib/sisu/xhtml_epub2.rb [moved from lib/sisu/current/xhtml_epub2.rb with 99% similarity]
lib/sisu/xhtml_epub2_concordance.rb [moved from lib/sisu/current/xhtml_epub2_concordance.rb with 99% similarity]
lib/sisu/xhtml_epub2_format.rb [moved from lib/sisu/develop/xhtml_epub2_format.rb with 99% similarity]
lib/sisu/xhtml_epub2_persist.rb [moved from lib/sisu/develop/xhtml_epub2_persist.rb with 99% similarity]
lib/sisu/xhtml_epub2_segments.rb [moved from lib/sisu/current/xhtml_epub2_segments.rb with 99% similarity]
lib/sisu/xhtml_epub2_tune.rb [moved from lib/sisu/current/xhtml_epub2_tune.rb with 99% similarity]
lib/sisu/xhtml_parts.rb [moved from lib/sisu/develop/xhtml_parts.rb with 99% similarity]
lib/sisu/xhtml_shared.rb [moved from lib/sisu/current/xhtml_shared.rb with 98% similarity]
lib/sisu/xhtml_table.rb [moved from lib/sisu/current/xhtml_table.rb with 98% similarity]
lib/sisu/xml_docbook5.rb [moved from lib/sisu/develop/xml_docbook5.rb with 99% similarity]
lib/sisu/xml_dom.rb [moved from lib/sisu/develop/xml_dom.rb with 99% similarity]
lib/sisu/xml_fictionbook2.rb [moved from lib/sisu/develop/xml_fictionbook2.rb with 99% similarity]
lib/sisu/xml_format.rb [moved from lib/sisu/current/xml_format.rb with 99% similarity]
lib/sisu/xml_md_oai_pmh_dc.rb [moved from lib/sisu/develop/xml_md_oai_pmh_dc.rb with 99% similarity]
lib/sisu/xml_odf_odt.rb [moved from lib/sisu/develop/xml_odf_odt.rb with 98% similarity]
lib/sisu/xml_odf_odt_format.rb [moved from lib/sisu/develop/xml_odf_odt_format.rb with 99% similarity]
lib/sisu/xml_parts.rb [moved from lib/sisu/develop/xml_parts.rb with 99% similarity]
lib/sisu/xml_persist.rb [moved from lib/sisu/develop/xml_persist.rb with 98% similarity]
lib/sisu/xml_sax.rb [moved from lib/sisu/current/xml_sax.rb with 99% similarity]
lib/sisu/xml_scaffold_structure_collapsed.rb [moved from lib/sisu/current/xml_scaffold_structure_collapsed.rb with 99% similarity]
lib/sisu/xml_scaffold_structure_sisu.rb [moved from lib/sisu/current/xml_scaffold_structure_sisu.rb with 99% similarity]
lib/sisu/xml_shared.rb [moved from lib/sisu/current/xml_shared.rb with 99% similarity]
lib/sisu/xml_tables.rb [moved from lib/sisu/develop/xml_tables.rb with 99% similarity]
lib/sisu/zap.rb [moved from lib/sisu/develop/zap.rb with 98% similarity]
man/man1/sisu5.1 [deleted symlink]
man/man1/sisu6.1 [deleted symlink]
qi
setup/qi_libs.rb
setup/qi_libs_base.rb
setup/rbuild
setup/rbuild_libs.rb

index f7c36bb3d71773e7c873f618b5209da57b14a2a4..6b18e5929d804e758534fb2f339bf71bdded84de 100755 (executable)
--- a/bin/sisu
+++ b/bin/sisu
@@ -8,23 +8,8 @@ class Orient
     super()
     @called_as,@argv=$0,$*
   end
-  def version
-    def stable
-     '5'
-    end
-    def unstable
-     '6'
-    end
-    def default
-     unstable
-    end
-    def current
-     'current'
-    end
-    def next
-     'next'
-    end
-    self
+  def version_major
+   '7'
   end
   def sisu_called_from_directory
     @@sisu_called_from_directory ||= Dir.pwd
@@ -35,7 +20,7 @@ class Orient
       :full_path_to_sisu_bin_in_sisu_dir_tree
     elsif processing.sisu_runtime_path =~/\/gems\// \
     and processing.sisu_runtime_path \
-    =~ /\/sisu-[#{version.stable}#{version.unstable}]\.(?:\d+|[a-z])\.(?:\d+|[a-z])\//
+    =~ /\/sisu-(?:\d+|[a-z])\.(?:\d+|[a-z])\.(?:\d+|[a-z])\//
       :gem_install
     else
       :system_install
@@ -54,112 +39,34 @@ class Orient
     def sisu_runtime_path
       __FILE__
     end
-    def stable
-      'v' + version.stable
-    end
-    def unstable
-      'v' + version.unstable
-    end
-    def default
-      'v' + version.default
-    end
-    def current
-      'current'
-    end
-    def next
-      'develop'
-    end
-    def stable_bin_file_regex
-      %r{\bsisu#{version.stable}$}
+    def bin_file_regex
+      %r{\bsisu$}
     end
-    def unstable_bin_file_regex
-      %r{\bsisu#{version.unstable}$}
-    end
-    def stable_gem_regex
-      %r{\/sisu-#{version.stable}\.(?:\d+|[a-z])\.(?:\d+|[a-z])\/}
-    end
-    def unstable_gem_regex
-      %r{\/sisu-#{version.unstable}\.(?:\d+|[a-z])\.(?:\d+|[a-z])\/}
-    end
-    def stable_modifier_regex
-      %r{"(?:--v#{version.stable}|--current|--stable|--release)"}
-    end
-    def unstable_modifier_regex
-      %r{"(?:--v#{version.unstable}|--next|--unstable|--dev)"}
+    def gem_regex
+      %r{\/sisu-(?:\d+|[a-z])\.(?:\d+|[a-z])\.(?:\d+|[a-z])\/}
     end
     self
   end
   def sisu_lib
-    "sisu/#{branch_name_}"
-  end
-  def sisu_path_lib
-    if sisu_path_specified_lib \
-    && FileTest.file?("#{sisu_path_specified_lib}/#{sisu_lib}/hub.rb")
-      "#{sisu_path_specified_lib}/#{sisu_lib}"
-    else sisu_lib
-    end
+    'sisu'
   end
   def sisu_version_info_path
-    "#{sisu_path_base_system_data}/version/#{branch_name?}.yml"
-  end
-  def branch_name_
-    if sisu_run_from? == :full_path_to_sisu_bin_in_sisu_dir_tree \
-    or sisu_run_from? == :system_install
-      case processing.called_as
-      when processing.stable_bin_file_regex      then processing.current
-      when processing.unstable_bin_file_regex    then processing.next
-      else
-        case processing.argv_str
-        when processing.stable_modifier_regex    then processing.current
-        when processing.unstable_modifier_regex  then processing.next
-        else                                          processing.current
-        end
-      end
-    elsif sisu_run_from? == :gem_install
-      case processing.sisu_runtime_path
-      when processing.stable_gem_regex           then processing.current
-      when processing.unstable_gem_regex         then processing.next
-      else                                            processing.current
-      end
-    else                                              processing.current
-    end
-  end
-  def branch_version_
-    if sisu_run_from? == :full_path_to_sisu_bin_in_sisu_dir_tree \
-    or sisu_run_from? == :system_install
-      case processing.called_as
-      when processing.stable_bin_file_regex      then processing.stable
-      when processing.unstable_bin_file_regex    then processing.unstable
-      else
-        case processing.argv_str
-        when processing.stable_modifier_regex    then processing.stable
-        when processing.unstable_modifier_regex  then processing.unstable
-        else                                          processing.stable
-        end
-      end
-    elsif sisu_run_from? == :gem_install
-      case processing.sisu_runtime_path
-      when processing.stable_gem_regex           then processing.stable
-      when processing.unstable_gem_regex         then processing.unstable
-      else                                            processing.stable
-      end
-    else                                              processing.stable
-    end
+    "#{sisu_path_base_system_data}/version.yml"
   end
   def paths_set
     if sisu_run_from? == :system_install \
     and processing.called_as \
-    =~ /^#{RbConfig::CONFIG['bindir']}\/sisu[#{version.stable}#{version.unstable}]?$/
+    =~ /^#{RbConfig::CONFIG['bindir']}\/sisu$/
       :set_path_system
     elsif sisu_run_from? == :full_path_to_sisu_bin_in_sisu_dir_tree \
     and processing.called_as \
-    !~ /^#{RbConfig::CONFIG['bindir']}\/sisu[#{version.stable}#{version.unstable}]?$/ \
+    !~ /^#{RbConfig::CONFIG['bindir']}\/sisu$/ \
     && File.expand_path(processing.called_as) \
-    =~ /bin\/sisu[#{version.stable}#{version.unstable}]?$/ \
+    =~ /bin\/sisu$/ \
     && FileTest.file?(processing.called_as)
       :set_dir_tree_full_path
     elsif sisu_run_from? ==:gem_install
-      :set_gem_path
+      :set_path_gem
     else nil
     end
   end
@@ -188,8 +95,8 @@ class Orient
       RbConfig::CONFIG['datadir'] + '/sisu'
     when :set_dir_tree_full_path
       File.expand_path(processing.called_as).
-        sub(/\/bin\/sisu[#{version.stable}#{version.unstable}]?$/,'')
-    when :set_gem_path
+        sub(/\/bin\/sisu$/,'')
+    when :set_path_gem
       Gem::Specification.find_by_name("sisu").gem_dir
     else nil
     end
@@ -200,18 +107,44 @@ class Orient
       RbConfig::CONFIG['datadir'] + '/sisu'
     when :set_dir_tree_full_path
       File.expand_path(processing.called_as).
-        sub(/\/bin\/sisu[#{version.stable}#{version.unstable}]?$/,'/data/sisu')
-    when :set_gem_path
+        sub(/\/bin\/sisu$/,'/data/sisu')
+    when :set_path_gem
       Gem::Specification.find_by_name("sisu").gem_dir + '/data/sisu'
     else nil
     end
   end
-  def sisu_path_specified_lib
+  def sisu_this_lib
+    if processing.sisu_runtime_path =~/\/gems\// \
+    and processing.sisu_runtime_path \
+    =~ /\/sisu-(?:\d+|[a-z])\.(?:\d+|[a-z])\.(?:\d+|[a-z])\//
+      # gem sought
+      processing.sisu_runtime_path.
+        gsub(/\/bin\/sisu[a-z0-7_-]*$/,'/lib/sisu')
+    elsif (processing.called_as \
+    !~ /^#{RbConfig::CONFIG['bindir']}\/sisu$/)
+      # called off file system, project directory tree
+      File.expand_path(processing.called_as).
+        sub(/bin\/sisu\S*/,'lib/sisu')
+    else
+      # distro installation
+      sisulib={
+        vendorlib: RbConfig::CONFIG['vendordir'] + '/sisu',
+        sitelib: RbConfig::CONFIG['sitelibdir'] + '/sisu',
+      }
+      if FileTest.directory?(sisulib[:sitelib])            # Arch Linux; Debian local
+        sisulib[:sitelib]
+      elsif FileTest.directory?(sisulib[:vendorlib])       # Debian GNU Linux system
+        sisulib[:vendorlib]
+      else 'sisu'                                          # assume lib paths work
+      end
+    end
+  end
+  def sisu_this_lib_
     if (processing.called_as \
-    !~ /^#{RbConfig::CONFIG['bindir']}\/sisu[#{version.stable}#{version.unstable}]?$/)
+    !~ /^#{RbConfig::CONFIG['bindir']}\/sisu$/)
       File.expand_path(processing.called_as).
-        sub(/bin\/sisu[#{version.stable}#{version.unstable}]?$/,'lib')
-    else nil
+        sub(/bin\/sisu\S*/,'lib/sisu')
+    else 'sisu'
     end
   end
   def language_list
@@ -224,8 +157,11 @@ class Orient
     self
   end
   def sisu_is
+    def version_major?
+      version_major
+    end
     def runtime_path?
-      sisu_runtime_path
+      processing.sisu_runtime_path
     end
     def runtime_type?
       sisu_run_from?
@@ -233,21 +169,12 @@ class Orient
     def called_from?
       sisu_called_from_directory
     end
-    def branch_name?
-      branch_name_
-    end
-    def branch_version?
-      branch_version_
-    end
     def path_base?
       sisu_path_base
     end
     def path_base_system_data?
       sisu_path_base_system_data
     end
-    def path_lib?
-      sisu_path_lib
-    end
     def version_info_path?
       sisu_version_info_path
     end
@@ -309,7 +236,7 @@ class Orient
     self
   end
   def control
-    require "#{sisu_is.path_lib?}/hub"
+    require sisu_this_lib
     sisu_called_from_directory
     begin
       if get_processing_info.processing_files.length > 0
@@ -322,7 +249,7 @@ class Orient
               Dir.chdir(markup_dir)
               $sisu_document_markup_directory_base_fixed_path=
                 Dir.pwd.gsub(/\/(?:#{language_list.regex})$/,'')
-              SiSU::HubMaster.new(argv_sub,sisu_is.runtime?)
+              SiSU_libs::CallHubMaster.new(argv_sub,sisu_is.runtime?)
             elsif markup_dir =~/https?:/
               markup_file.each do |mf|
                 (FileTest.file?(mf)) \
@@ -333,7 +260,7 @@ class Orient
               $sisu_document_markup_directory_base_fixed_path=
                 Dir.pwd.gsub(/\/(?:#{language_list.regex})$/,'')
               argv_sub=command_line_modifiers + markup_file
-              SiSU::HubMaster.new(argv_sub,sisu_is.runtime?)
+              SiSU_libs::CallHubMaster.new(argv_sub,sisu_is.runtime?)
             else p "Error directory specified #{markup_dir} not found"
             end
           ensure
@@ -345,11 +272,11 @@ class Orient
         $sisu_document_markup_directory=Dir.pwd.gsub(/\/$/,'')
         $sisu_document_markup_directory_base_fixed_path=
           Dir.pwd.gsub(/(^|\/)(?:#{language_list.regex})$/,'')
-        SiSU::HubMaster.new(processing.argv,sisu_is.runtime?)
+        SiSU_libs::CallHubMaster.new(processing.argv,sisu_is.runtime?)
       end
     rescue
     ensure
-      SiSU::HubClose.new(sisu_called_from_directory,@argv)
+      SiSU_libs::HubClose.new(@argv,sisu_called_from_directory)
       Dir.chdir(sisu_called_from_directory)
       system("cd #{sisu_called_from_directory}")
     end
@@ -358,7 +285,6 @@ end
 #% sisu select source & branch, begin
 $VERBOSE=nil
 require 'rbconfig'
-require 'rubygems'
 begin
   require 'singleton'
   s=Orient.instance
@@ -369,14 +295,15 @@ rescue #% -
   STDERR.puts $!
   STDERR.puts $@
   puts %{
-                   #{%x{ruby -v}.strip.to_s}
-                   #{RUBY_VERSION}
-    ruby version:  #{RbConfig::CONFIG['RUBY_PROGRAM_VERSION']}p#{RbConfig::CONFIG['PATCHLEVEL']}
-    ruby named:    #{RbConfig::CONFIG['ruby_version']}
-    rubylib:       #{RbConfig::CONFIG['rubylibdir']}
-    rubylib local: #{RbConfig::CONFIG['sitelibdir']}
-    gem dir:       #{Gem.dir}
-    gem path:      #{Gem.path}
+                    #{%x{ruby -v}.strip.to_s}
+                    #{RUBY_VERSION}
+    ruby version:   #{RbConfig::CONFIG['RUBY_PROGRAM_VERSION']}p#{RbConfig::CONFIG['PATCHLEVEL']}
+    ruby named:     #{RbConfig::CONFIG['ruby_version']}
+    rubylib:        #{RbConfig::CONFIG['rubylibdir']}
+    vendor lib      #{RbConfig::CONFIG['vendordir']}
+    site lib local: #{RbConfig::CONFIG['sitelibdir']}
+    gem dir:        #{Gem.dir}
+    gem path:       #{Gem.path}
   }
   system(%{echo "
     system RUBYPATH: ${RUBYPATH}
diff --git a/bin/sisu5 b/bin/sisu5
deleted file mode 120000 (symlink)
index b4999d5..0000000
--- a/bin/sisu5
+++ /dev/null
@@ -1 +0,0 @@
-sisu
\ No newline at end of file
diff --git a/bin/sisu6 b/bin/sisu6
deleted file mode 120000 (symlink)
index b4999d5..0000000
--- a/bin/sisu6
+++ /dev/null
@@ -1 +0,0 @@
-sisu
\ No newline at end of file
diff --git a/conf/sisu/sisurc.yml b/conf/sisu/sisurc.yml
new file mode 100644 (file)
index 0000000..790eb31
--- /dev/null
@@ -0,0 +1,163 @@
+# Name: SiSU
+# Author: ralph@amissah.com
+# Description: Site wide environment defaults set here
+# system environment info / resource configuration file, for sisu
+# License: GPL v3 or later
+#   site environment configuration file
+#   this file should be configured and live in
+#      /etc/sisu     #per environment settings, overridden by:
+#      ~/.sisu       #per user settings, overridden by:
+#     ./_sisu        #per local markup directory settings
+#% #image source directory, main path and subdirectories
+#image:
+#  path:         'sisu_working'
+#  public:       '_sisu/image'
+#  #all:           'image'
+#% presentation/web directory, main path and subdirectories (most subdirectories are created automatically based on markup directory name)
+#webserv:
+#  url_root:     'http://www.your.url' #without dir stub
+#  path:         '/var/www' #either (i) / [full path from root] or (ii) ~/ [home] or (iii) ./ [pwd] or (iv) will be made from home
+#  images:       '_sisu/image'
+#  man:          'man'
+#  cgi:          '/usr/lib/cgi-bin'
+#  feed:         'feed'
+#  sqlite:       'sisu/sqlite'
+#  webrick_url:  true
+#show_output_on: 'filesystem' #for -v and -u url information, alternatives: 'filesystem','webserver','remote_webserver','local:8111','localhost','localhost:8080','webrick','path'
+#show_output_on: 'local:8111'
+#webserv_cgi:
+#  host:         localhost
+#  base_path:    ~
+#  port:         '8081'
+#  user:         ~
+
+show_output_on: 'filesystem_url'
+#texinfo display output
+#texinfo:
+#  stub:         'texinfo'
+
+#% output_dir_structure_by:
+#  language (language and filetype directories);
+#  filetype (filetype directories, language code added to filename includes language code);
+#  filetype_mono or monolingual (filetype drectories, no language codes in filenames)
+#  filename (directory output similar to original v1 v2, filename includes language code);
+#  filename_mono (directory output similar to original v1 v2, filename without language code);
+output_dir_structure_by: language # language filetype filetype_mono filename filename_mono
+
+##% processing directories, main path and subdirectories (appended to $HOME), using defaults set in sysenv
+#processing:
+#  path:         '~'
+#  dir:         '.sisu_processing~'
+#  metaverse:    'metaverse'
+#  tune:         'tune'
+#  latex:        'tex'
+#  texinfo:      'texinfo'
+#  concord_max:  400000
+
+#% flag - set (non-default) processing flag shortcuts -1, -2 etc. (here adding colour and verbosity as default)
+flag:
+  color:        true                        # making colour default -c is toggle, and will now toggle colour off
+#  act0:      '--manifest --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --verbose'
+#  act1:      '--manifest --text --html'
+#  act2:      '--manifest --text --html --epub --pdf'
+#  act3:      '--manifest --qrcode --text --html --epub --concordance --pdf'
+#  act4:      '--manifest --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook'
+#  act5:      '--manifest --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --sqlite'
+#  act6:      '--manifest --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite'
+#  act7:      '--manifest --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --source --sisupod'
+#  act8:      '--manifest --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --pg --update'
+#  act9:      '--manifest --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --pg --update --source --sisupod'
+##  default:  '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest --verbose'
+##  i:        '--digest --qrcode --text --html --epub --concordance --pdf --manifest'
+##  ii:       '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --manifest'
+##  iii:      '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest'
+##  iv:       '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --pg --update --manifest'
+##  v:        '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --source --sisupod --manifest'
+
+#% papersize, (LaTeX/pdf) available values: A4, US_letter, book_b5, book_a5, US_legal
+default:
+  papersize:    'a4,letter' #'a4,letter,b5,a5,legal'
+  #language:      'en'
+  #texpdf_font:       'Liberation Sans' # 'Liberation Sans' 'Liberation Serif'
+  #texpdf_font_mono:  'Liberation Mono' #'Inconsolata'
+  #text_wrap:    78
+  #emphasis:     'bold' #make *{emphasis}* 'bold', 'italics' or 'underscore', default if not configured is 'bold'
+  #digest:       'sha' #sha is sha256, default is md5
+  #multilingual:  false
+  #language_file: 2
+#% markup, make *{emphasis}* 'bold' or 'italics', default if not configured is 'bold'
+
+#% settings used by ssh scp
+#remote:
+#  -
+#    user:         '[usrname]'
+#    host:         '[remote.hostname]'
+#    path:         '.' #no trailing slash eg 'sisu/www'
+#  -
+#    user:         '[usrname]'
+#    host:         '[remote.hostname]'
+#    path:         '.' #no trailing slash eg 'sisu/www'
+
+#% webrick information
+#webrick:
+#  port:         '8081'
+
+#% sql database info, postgresql and sqlite
+#db:
+#  share_source: false # boolean, default is false
+#  postgresql:
+#    port:       # '[port (default is 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:
+#    path:       ~ # './sisu_sqlite.db'
+#    port:       "**"
+
+#html:
+#  quick_ref:         true #default false
+#  seg_title_banner:  true #default false
+#odt:
+#  ocn:               true
+#plaintext:
+#  ocn:               true
+
+permission_set:
+  zap:               true
+  css_modify:        true
+#  remote_base_site:  true
+
+program_set:
+  rmagick:       false
+#  wc:           true
+#  editor:       true
+#  postgresql:   true
+#  sqlite:       true
+#  tidy:         true
+#  rexml:        true
+#  pdflatex:     true
+
+#program_select:
+#  editor:              'vim' #'gvim -c :R'
+#  pdf_viewer:          'evince'
+#  web_browser:         'iceweasel'
+#  console_web_browser: 'w3m' #'links2' #'elinks' #'w3m' #'lynx' #'links'
+#  odf_viewer:          'lowriter' #'oowriter' #'abiword'
+#  xml_viewer:          'xml-viewer'
+#  epub_viewer:         'ebook-viewer' #'calibre' #'fbreader' #'okular'
+#  info_viewer:         'pinfo -f'
+#  man:                 'man' #'groff -man -Tascii' # 'nroff -man'
+
+#search:
+#  sisu:
+#    flag:              true
+#    action:            http://www.sisudoc.org/cgi-bin/sisu_v6c_sqlite.cgi
+#    action:            http://localhost:8081/cgi-bin/sisu_pgsql.cgi
+#    action:            http://192.168.1.108/cgi-bin/sisu_pgsql.cgi
+#    action:            http://search.sisudoc.org
+#    db:                sisu
+#    title:             sample search form
+
+#promo:                 sisu_search_libre, sisu_icon, sisu, open_society, fsf, ruby
+
+#omit: minitoc
diff --git a/conf/sisu/v5/sisurc.yml b/conf/sisu/v5/sisurc.yml
deleted file mode 120000 (symlink)
index 53d8590..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../rc/sisurc_default.yml
\ No newline at end of file
diff --git a/conf/sisu/v6/sisurc.yml b/conf/sisu/v6/sisurc.yml
deleted file mode 120000 (symlink)
index 53d8590..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../rc/sisurc_default.yml
\ No newline at end of file
index af735e3f55abd2a5477b4fc1980aa4235fd9e43c..a6d552b9a554aaff5cda5ab310a7ba80f6765c1c 100644 (file)
@@ -5,20 +5,8 @@ SiSU CHANGELOG    -*- mode: org; -*-
   * debian/changelog
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob_plain;f=debian/changelog;hb=refs/heads/debian/sid>
 
-v5 stable branch (v6 development branch)
-   markup rule change, document structure rule introduced:
-   [v5 branch to become stable shortly, posted with 5.2.3, 2014-01-20]
-   * single document root == document title == heading level A~
-   * adds possible level D~
-   (from 5.2 on (earlier v5 development branch insulated from v4))
-v4 stable branch supersedes & replaces v3 branch
-   [v4 branch closure imminent, v5 to become stable, posted with 4.2.20,
-   2014-01-20]
-   initial goals:
-   * remove/retire "skins"; replace some functionality with headers and/or yml
-     file (consider header like syntax for document and site appearance info)
-   * bin/sisu $0 make possible to run sisu command on/within project dir tree
-   * bin/sisu $*, hub, make possible to specify dir path for markup files
+v5 branch is removed; it is available in sisu < 5.9.0
+v4 branch is removed; it is available in sisu < 5.3.0
 v3 branch is removed; it is available in sisu < 4.1.0
 v2 branch is removed; it is available in sisu =< 3.3.2
 
@@ -32,7 +20,7 @@ v2 branch is removed; it is available in sisu =< 3.3.2
 
 * Reverse Chronological:
 
---- HEAD ---
+--- HEAD --- [closed]
 
 ** 5.9.0.orig.tar.xz (2015-04-21:16/2)
 http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.9.0
index e260b312b4fdd71958165b12f1ab94a5110e16eb..3b167c792e3fcd8f1a1a5356ed12bb2adb3977f8 100644 (file)
@@ -5,10 +5,9 @@ SiSU CHANGELOG    -*- mode: org; -*-
   * debian/changelog
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob_plain;f=debian/changelog;hb=refs/heads/debian/sid>
 
-v6 branch for development and testing prior to roll-into v5, to provide v5 with
-   some insulation
-v5 stable branch
-v4 branch is removed; it is available in sisu < 4.2.20
+v6 branch is removed; it is available in sisu =< 6.5.0
+v5 branch is removed; it is available in sisu < 5.9.0
+v4 branch is removed; it is available in sisu < 5.3.0
 v3 branch is removed; it is available in sisu < 4.1.0
 v2 branch is removed; it is available in sisu =< 3.3.2
 
@@ -22,7 +21,7 @@ v2 branch is removed; it is available in sisu =< 3.3.2
 
 * Reverse Chronological:
 
---- HEAD ---
+--- HEAD --- [closed]
 
 ** 6.5.0.orig.tar.xz (2015-04-21:16/2)
 http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.4.1
index 5ffd7d14190122dcfda25442ea7a09016f4a322e..080786e2e8305b21b70aba4a1c1844e6da1dfeb9 100644 (file)
@@ -3,7 +3,7 @@
  :breaks: new=C; break=1
  :bold: /Debian|Ruby|SiSU/
  :italics: /Linux|GPL|GPLv3|LaTeX|PostgreSQL|SQLite|SQL|Vim|ascii|plaintext|UTF-?8|HTML|XHTML|XML|EPUB|OpenDocument|ODF|ODT|PDF|pgSQL|TeXinfo|YAML|YML|OCN|object citation system|object citation numbering|granular search|Dublin Core/
- :substitute: /${sisu_stable}/,'5.6.2'  /${sisu_dev}/,'6.2.3' /${debian_stable}/,'*{Wheezy}*' /${debian_testing}/,'*{Jessie}*'
+ :substitute: /${sisu_stable}/,'7.0.0'  /${sisu_dev}/,'7.0.0' /${debian_stable}/,'*{Jessie}*' /${debian_testing}/,'*{Stretch}*'
  :home_button_text: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org
  :footer: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org
 
diff --git a/data/doc/sisu/markup-samples/manual/_sisu/sisurc.yml b/data/doc/sisu/markup-samples/manual/_sisu/sisurc.yml
new file mode 100644 (file)
index 0000000..3cb4989
--- /dev/null
@@ -0,0 +1,148 @@
+# Name: SiSU - Simple information Structuring Universe
+# Author: ralph@amissah.com
+# Description: Site wide environment defaults set here
+# system environment info / resource configuration file, for sisu
+# License: GPL v3 or later
+#   site environment configuration file
+#   this file should be configured and live in
+#      /etc/sisu     #per environment settings, overridden by:
+#      ~/.sisu       #per user settings, overridden by:
+#     ./_sisu        #per local markup directory settings
+#% #image source directory, main path and subdirectories
+#image:
+#  path:         'sisu_working'
+#  public:       '_sisu/image'
+#  #all:           'image'
+#% presentation/web directory, main path and subdirectories (most subdirectories are created automatically based on markup directory name)
+#webserv:
+#  url_root:     'http://www.your.url' #url to document root, without dir stub
+#  path:         '/srv/www' #'/var/www' '/srv/www.sisudoc.org/web' #either (i) / [full path from root] or (ii) ~/ [home] or (iii) ./ [pwd] or (iv) will be made from home
+#  url_root:     'http://www.sisudoc.org' #without dir stub, e.g. this dir would map to http://www.sisudoc.org/samples
+#  images:       '_sisu/image'
+#  man:          'man'
+#  cgi:          '/usr/local/lib/sisu-cgi'
+#  feed:         'feed'
+#  sqlite:       'sisu/sqlite'
+#  webrick_url:  true
+#show_output_on: 'filesystem' #for -v and -u url information, alternatives: 'filesystem','webserver','remote_webserver','local:8111','localhost','localhost:8080','webrick','path'
+#show_output_on: 'local:8111'
+#webserv_cgi:
+#  host:         localhost
+#  base_path:    ~
+#  port:         '8081'
+#  user:         ~
+#  file_links:   www.sisudoc.org
+
+#show_output_on: 'filesystem_url'
+#texinfo display output
+#texinfo:
+#  stub:         'texinfo'
+
+#% output_dir_structure_by:
+#  language (language and filetype directories);
+#  filetype (filetype directories, language code added to filename includes language code);
+#  filetype_mono or monolingual (filetype drectories, no language codes in filenames)
+#  filename (directory output similar to original v1 v2, filename includes language code);
+#  filename_mono (directory output similar to original v1 v2, filename without language code);
+output_dir_structure_by: language # language filetype filetype_mono filename filename_mono
+#% language_default: lng_lst: %w[am bg bn br ca cs cy da de el en eo es et eu fi fr ga gl he hi hr hy ia is it ja ko la lo lt lv ml mr nl nn no oc pl pt pt_BR ro ru sa se sk sl sq sr sv ta te th tk tr uk ur us vi zh] ('en' default)
+#language_default: 'en'
+
+##% processing directories, main path and subdirectories (appended to $HOME), using defaults set in sysenv
+#processing:
+#  path:         'sisu_processing'
+#  metaverse:    'metaverse'
+#  tune:         'tune'
+#  latex:        'tex'
+#  texinfo:      'texinfo'
+#  concord_max:  400000
+
+#% flag - set (non-default) processing flag shortcuts -1, -2 etc. (here adding colour and verbosity as default)
+flag:
+  color:        true                        # making colour default -c is toggle, and will now toggle colour off
+#  act0:      '--manifest --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --verbose'
+#  act1:      '--manifest --text --html'
+#  act2:      '--manifest --text --html --epub --pdf'
+#  act3:      '--manifest --qrcode --text --html --epub --concordance --pdf'
+#  act4:      '--manifest --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook'
+#  act5:      '--manifest --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --sqlite'
+#  act6:      '--manifest --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite'
+#  act7:      '--manifest --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --source --sisupod'
+#  act8:      '--manifest --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --pg --update'
+#  act9:      '--manifest --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --pg --update --source --sisupod'
+
+#% papersize, (LaTeX/pdf) available values: A4, US_letter, book_b5, book_a5, US_legal
+default:
+  papersize:    'a4,letter' #'a4,letter,b5,a5,legal'
+  #language:      'en'
+  #texpdf_font:       'Liberation Sans' # 'Liberation Sans' 'Liberation Serif'
+  #texpdf_font_mono:  'Liberation Mono' #'Inconsolata'
+  #text_wrap:    78
+  #emphasis:     'bold' #make *{emphasis}* 'bold', 'italics' or 'underscore', default if not configured is 'bold'
+  #digest:       'sha' #sha is sha256, default is md5
+  #language:     'English'
+  #emphasis:     'italics'
+
+#% settings used by ssh scp
+#remote:
+#  -
+#    user:         '[usrname]'
+#    host:         '[remote.hostname]'
+#    path:         '.' #no trailing slash eg 'sisu/www'
+#  -
+#    user:         '[usrname]'
+#    host:         '[remote.hostname]'
+#    path:         '.' #no trailing slash eg 'sisu/www'
+
+#% webrick information
+#webrick:
+#  port:         '8081'
+
+#sql database info, postgresql and sqlite
+db:
+  postgresql:
+    port:       '5432' # '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:
+#    path:       ~ # './sisu_sqlite.db'
+#    port:       "**"
+
+permission_set:
+  zap:               true
+  css_modify:        true
+  remote_base_site:  true
+
+program_set:
+  rmagick:           true
+#  wc:           true
+#  editor:       true
+#  postgresql:   true
+#  sqlite:       true
+#  tidy:         true
+#  rexml:        true
+#  pdflatex:     true
+
+#program_select:
+#  editor:              'vim' #'gvim -c :R'
+#  pdf_viewer:          'evince'
+#  web_browser:         'iceweasel'
+#  console_web_browser: 'w3m' #'links2' #'elinks' #'w3m' #'lynx' #'links'
+#  odf_viewer:          'lowriter' #'oowriter' #'abiword'
+#  xml_viewer:          'xml-viewer'
+#  epub_viewer:         'ebook-viewer' #'calibre' #'fbreader' #'okular'
+#  info_viewer:         'pinfo -f'
+#  man:                 'man' #'groff -man -Tascii' # 'nroff -man'
+
+#search:
+#  sisu:
+#    flag:              true
+#    action:            http://www.sisudoc.org/cgi-bin/sisu_v6c_sqlite.cgi
+#    action:            http://search.sisudoc.org
+#    db:                manual
+#    title:             'SiSU search form (sample)'
+
+#promo:                 sisu_search_libre, sisu_icon, sisu, open_society, fsf, ruby
+
+#omit: minitoc
diff --git a/data/doc/sisu/markup-samples/manual/_sisu/v5/sisurc.yml b/data/doc/sisu/markup-samples/manual/_sisu/v5/sisurc.yml
deleted file mode 120000 (symlink)
index 53d8590..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../rc/sisurc_default.yml
\ No newline at end of file
diff --git a/data/doc/sisu/markup-samples/manual/_sisu/v6/sisurc.yml b/data/doc/sisu/markup-samples/manual/_sisu/v6/sisurc.yml
deleted file mode 120000 (symlink)
index 53d8590..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../rc/sisurc_default.yml
\ No newline at end of file
similarity index 60%
rename from lib/sisu/current/zap.rb
rename to lib/sisu.rb
index 6e1e0fb07f82a3d37c64156a238399fad67ab1a2..b4dee16b480cb47ae66fe562cc11f1ee381e7347 100644 (file)
@@ -4,7 +4,7 @@
 * Name: SiSU
 
 ** Description: documents, structuring, processing, publishing, search
-*** zap wipe clean previous output of the type specified
+*** hub
 
 ** Author: Ralph Amissah
   <ralph@amissah.com>
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/zap.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu.rb;hb=HEAD>
 
 =end
-module SiSU_Zap
-  require_relative 'se'                                 # se.rb
-    include SiSU_Env
-  class Source
-    def initialize(opt)
-      @opt=opt
-      @env=SiSU_Env::InfoEnv.new(opt.fns)
-    end
-    def read
-      zap_path="#{@env.path.output}/#{@env.fnb}"
-      z=SiSU_Env::CleanOutput.new(@opt)
-      if SiSU_Env::InfoSettings.new.permission?('zap')
-        unless @opt.act[:quiet][:set]==:on
-          tell=SiSU_Screen::Ansi.new(
-            @opt.act[:color_state][:set],
-            "Clean files related to processing #{@opt.selections.str} ->",
-            "#{@opt.fns} -> #{zap_path}"
-          )
-          tell.warn
+module SiSU_libs
+  require_relative 'sisu/hub'                               # sisu/hub.rb
+  require_relative 'sisu/se'                                # sisu/se.rb
+  require_relative 'sisu/utils'                             # sisu/utils.rb
+  class CallHubMaster
+    def initialize(argv,sisu_runtime)
+      begin
+        SiSU::HubMaster.new(argv,sisu_runtime)
+      rescue
+        SiSU_Screen::Ansi.new(argv).rescue do
+          __LINE__.to_s + ':' + __FILE__
         end
-        z.zap.remove_output
-      else
-        unless @opt.act[:quiet][:set]==:on
-          tell=SiSU_Screen::Ansi.new(
-            @opt.act[:color_state][:set],
-            'use of -Z (zap) has not enabled in sisurc.yml'
-          )
-          tell.warn
+      ensure
+        Dir.chdir(sisu_runtime[:call_path])
+      end
+    end
+  end
+  class HubClose
+    def initialize(argv,call_path)
+      begin
+        env=SiSU_Env::InfoEnv.new
+      rescue
+      ensure
+        if FileTest.directory?(env.processing_path.processing) \
+        and FileTest.directory?(env.processing_path.processing_base_tmp) \
+        and env.processing_path.processing_base_tmp =~/#{env.processing_path.processing}/ \
+        and env.processing_path.processing_base_tmp =~/^\/tmp\/\S+/ \
+        and not argv.inspect =~/"--maintenance"|"-M"/
+          FileUtils::cd(env.processing_path.processing_base_tmp) do
+            FileUtils::rm_rf('.')
+          end
         end
+        Dir.chdir(call_path)
       end
     end
   end
similarity index 98%
rename from lib/sisu/current/air.rb
rename to lib/sisu/air.rb
index 1876a0ec99d8ab8600b7e6c5c5ba2ee6bdec7c1e..ad1d3a47df90e9aa16caa6dfa9d72001418f9a37 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/air.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/air.rb;hb=HEAD>
 
 =end
 module SiSU_Air
similarity index 99%
rename from lib/sisu/current/ao.rb
rename to lib/sisu/ao.rb
index b7878dbf1a071bd82d7bea3fb75499e6ad235893..3e5f506e6e6c09184153432d327a3448babcd330 100644 (file)
@@ -52,7 +52,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao.rb;hb=HEAD>
 
 =end
 module SiSU_AO
similarity index 98%
rename from lib/sisu/current/ao_character_check.rb
rename to lib/sisu/ao_character_check.rb
index 9d91baa5290790499e1d23305be0b09308f45f03..7cd8f171b773204b89e5b3225b0fb6f55689decf 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao_character_check.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_character_check.rb;hb=HEAD>
 
 =end
 module SiSU_AO_CharacterCheck
similarity index 99%
rename from lib/sisu/current/ao_composite.rb
rename to lib/sisu/ao_composite.rb
index 24683cba2522afe1bd40b0f7c488510743349826..d110e52b2795f2957b4e0f210c6cdefc973c7026 100644 (file)
@@ -52,7 +52,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao_composite.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_composite.rb;hb=HEAD>
 
 =end
 module SiSU_Assemble
similarity index 99%
rename from lib/sisu/develop/ao_doc_objects.rb
rename to lib/sisu/ao_doc_objects.rb
index 5a59af7d837e1fae69314cf3f8f8b12492d38a55..6cb824e2807810ccf8614340689fe2861305721b 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/ao_doc_objects.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_doc_objects.rb;hb=HEAD>
 
 =end
 module SiSU_AO_DocumentStructure
similarity index 99%
rename from lib/sisu/current/ao_doc_str.rb
rename to lib/sisu/ao_doc_str.rb
index fba1724e06c9aeefcf50cffa885c6773f3003d97..9da488b6cf426b6c8ef60fab1c6a92f46263fa91 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao_doc_str.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_doc_str.rb;hb=HEAD>
 
 =end
 module SiSU_AO_DocumentStructureExtract
similarity index 99%
rename from lib/sisu/develop/ao_endnotes.rb
rename to lib/sisu/ao_endnotes.rb
index c523345205bd40e14b86e2b8749da3e463e39e54..bcb09e134dc5b84bbe3ac5a93960621cf6ea1f0d 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/ao_doc_endnotes.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_doc_endnotes.rb;hb=HEAD>
 
 =end
 module SiSU_AO_Endnotes
similarity index 99%
rename from lib/sisu/develop/ao_expand_insertions.rb
rename to lib/sisu/ao_expand_insertions.rb
index 897cb7e2746462358bf6808843357a21303a36c8..2d93f93306936c234b4d899d598b1d0044968977 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/ao_expand_insertions.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_expand_insertions.rb;hb=HEAD>
 
 =end
 module SiSU_AO_Insertions
similarity index 99%
rename from lib/sisu/develop/ao_hash_digest.rb
rename to lib/sisu/ao_hash_digest.rb
index 39f34f85f2e3f79c3d12fa59ad4e4e829863e02f..ccfd15604a4b57f6a9ffde834a2f7c033ae4970d 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/ao_hash_digest.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_hash_digest.rb;hb=HEAD>
 
 =end
 module SiSU_AO_Hash
similarity index 99%
rename from lib/sisu/develop/ao_idx.rb
rename to lib/sisu/ao_idx.rb
index cbe3f00c59cbf4af7af0a990060dbfeb1ed86394..494b939672594371d531466c5a6093c6062bc0e8 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/ao_idx.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_idx.rb;hb=HEAD>
 
 =end
 module SiSU_AO_BookIndex
similarity index 99%
rename from lib/sisu/develop/ao_images.rb
rename to lib/sisu/ao_images.rb
index f6ef8e12e090834a53d007449ecf70b93aa13b27..06aec13404d83e3f4890893cbdcdecb104501965 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/ao_images.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_images.rb;hb=HEAD>
 
 =end
 module SiSU_AO_Images
similarity index 98%
rename from lib/sisu/develop/ao_metadata.rb
rename to lib/sisu/ao_metadata.rb
index 957432130f56855ce98eb80bac9b4576149e2883..1a9418ce65a76b24fb93819c696fd263882f0b04 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/ao_metadata.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_metadata.rb;hb=HEAD>
 
 =end
 module SiSU_AO_Metadata
similarity index 99%
rename from lib/sisu/current/ao_misc_arrange.rb
rename to lib/sisu/ao_misc_arrange.rb
index d023c44f6a9c64694a905d4054cdfc59ff22cfa6..da54bb806c23624532f82c726585a7f09517118a 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao_misc_arrange.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_misc_arrange.rb;hb=HEAD>
 
 =end
 module SiSU_AO_MiscArrangeText
similarity index 99%
rename from lib/sisu/current/ao_numbering.rb
rename to lib/sisu/ao_numbering.rb
index 861bbf07794eaa5c001bb3f6a5d921e7119d30e1..fdf5460581a1c019844fb311934f3df4c6e43f6f 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao_numbering.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_numbering.rb;hb=HEAD>
 
 =end
 module SiSU_AO_Numbering
similarity index 99%
rename from lib/sisu/develop/ao_persist.rb
rename to lib/sisu/ao_persist.rb
index 51ff6e0b4862b806a0c3be50e00ede9b4ec5c746..6111cc4154d39c40267ab45e6c088bc6a8ae8177 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/ao_persist.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_persist.rb;hb=HEAD>
 
 =end
 module SiSU_AO_Persist
similarity index 99%
rename from lib/sisu/develop/ao_references.rb
rename to lib/sisu/ao_references.rb
index 5ef94c610fa3b97ae51d0f86ec8c06d8a6aee44c..cd410f771eba99fb1ee2383baaf9127a72b8d176 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/ao_references.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_references.rb;hb=HEAD>
 
 =end
 module SiSU_AO_References
similarity index 99%
rename from lib/sisu/develop/ao_syntax.rb
rename to lib/sisu/ao_syntax.rb
index 4632fb2d1c445462bd6eb22469d6b33808598230..010e92852ebc86b7060abfd54c95ee959f193048 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/ao_syntax.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/ao_syntax.rb;hb=HEAD>
 
 =end
 module SiSU_AO_Syntax
similarity index 99%
rename from lib/sisu/develop/cgi.rb
rename to lib/sisu/cgi.rb
index 23df361f7862fe4e697d0e7b3eb7ff0e25662783..6d8d8e04a915cb1893157557716179a721d35394 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/cgi.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/cgi.rb;hb=HEAD>
 
 =end
 module  SiSU_CGI                                        #% database building documents
similarity index 99%
rename from lib/sisu/current/cgi_pgsql.rb
rename to lib/sisu/cgi_pgsql.rb
index 9a4c555b1e35030894d6c1911314eb63e0a95180..0011d1828b7f7bfa6dfa7e1a85db0498cec32ba1 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/cgi_pgsql.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/cgi_pgsql.rb;hb=HEAD>
 
 =end
 module  SiSU_CGI_PgSQL                                  #% database building documents
similarity index 99%
rename from lib/sisu/current/cgi_sql_common.rb
rename to lib/sisu/cgi_sql_common.rb
index 62bec0412484ee6b716a0c1067e7ed2fe19cdd9a..2d599bf4fc999c4cc09b3ea8ebdfd893697b7925 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/cgi_sql_common.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/cgi_sql_common.rb;hb=HEAD>
 
 =end
 module SiSU_CGI_SQL
similarity index 99%
rename from lib/sisu/develop/cgi_sqlite.rb
rename to lib/sisu/cgi_sqlite.rb
index 7b3a5b029bf0e0b124a870127ccf9355c70ad7c7..6668028abd1282b771e53247e5247f7a422c46bf 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/cgi_sql_sqlite.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/cgi_sql_sqlite.rb;hb=HEAD>
 
 =end
 module  SiSU_CGI_SQLite                                 #% database building documents
similarity index 99%
rename from lib/sisu/develop/conf.rb
rename to lib/sisu/conf.rb
index 9036489907f57243e87f4cf2bdfd5c7b70eb8791..009dd7192bebad47f09eebab8c90fe0c320798ae 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/conf.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/conf.rb;hb=HEAD>
 
 =end
 module SiSU_Initialize
similarity index 99%
rename from lib/sisu/current/constants.rb
rename to lib/sisu/constants.rb
index 175c2e708800851b501427b0804f89907c941063..d6978a0934bb8234a72dbab3e7707cda54793b3b 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/constants.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/constants.rb;hb=HEAD>
 
 =end
 #Ax,Xx,Mx,Rx,Hx,Dx,Px,Ep,Db,Gt,Tex=Array.new(11){{}}
@@ -271,8 +271,8 @@ else
   }
 end
 Db={
-  name_prefix:               "SiSU#{SiSU_is.branch_version?}c_",
-  name_prefix_db:            "sisu_#{SiSU_is.branch_version?}c_",
+  name_prefix:               "SiSU#{SiSU_is.version_major?}a_",
+  name_prefix_db:            "sisu_#{SiSU_is.version_major?}a_",
   col_title:                  800,
   col_title_part:             400,
   col_title_edition:           10,
similarity index 99%
rename from lib/sisu/current/css.rb
rename to lib/sisu/css.rb
index 1832b66c8042ea08fa82aadcc57d9de844c3635d..80f75853a57ebad3cf39eca4333255eca411c62b 100644 (file)
@@ -51,7 +51,7 @@
 
 ** Git
   <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/css.rb;hb=HEAD>
+  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/css.rb;hb=HEAD>
 
 =end
 module SiSU_Style
diff --git a/lib/sisu/current/ao_doc_objects.rb b/lib/sisu/current/ao_doc_objects.rb
deleted file mode 100644 (file)
index a4b2fa8..0000000
+++ /dev/null
@@ -1,565 +0,0 @@
-# encoding: utf-8
-=begin
-
-* Name: SiSU
-
-** Description: documents, structuring, processing, publishing, search
-*** document abstraction
-
-** Author: Ralph Amissah
-  <ralph@amissah.com>
-  <ralph.amissah@gmail.com>
-
-** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-  2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
-  All Rights Reserved.
-
-** License: GPL 3 or later:
-
-  SiSU, a framework for document structuring, publishing and search
-
-  Copyright (C) Ralph Amissah
-
-  This program is free software: you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by the Free
-  Software Foundation, either version 3 of the License, or (at your option)
-  any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT
-  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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>
-
-** Git
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao_doc_objects.rb;hb=HEAD>
-
-=end
-module SiSU_AO_DocumentStructure
-  class Extract
-    def extract(h,o)
-      h ? h : o
-    end
-  end
-  class ObjectMetadata
-    attr_accessor :is,:of,:tags,:obj,:digest
-    def initialize
-      @tags={}
-      @is=@tmp=@digest=nil
-      @of=:meta
-    end
-    def metadata(tags)
-      of      = @of                                                                 #Symbol, classification - group
-      is      = :meta                                                               #Symbol, classification - specific type
-      tags    = tags            || ((defined? o.tags)      ? o.tags        : {})    #String, metadata type/tag
-      obj     = nil
-      @of,@is,@tags,@obj=of,is,tags,obj
-      self
-    end
-  end
-  class ObjectMeta
-    attr_accessor :obj,:is,:of,:tag,:digest,:tmp
-    def initialize
-      @is=@obj=@tag=@digest=@digest=@tmp=nil
-      @of=:meta
-    end
-    def metadata(h,o=nil)
-      of      = @of                                                                 #Symbol, classification - group
-      is      = :meta                                                               #Symbol, classification - specific type
-      tag     = h[:tag]         || ((defined? o.tag)       ? o.tag         : nil)   #String, metadata type/tag
-      obj     = h[:obj]         || ((defined? o.obj)       ? o.obj         : nil)   #String, text content
-      tmp     = h[:tmp]         || ((defined? o.tmp)       ? o.tmp         : nil)   #available for processing, empty after use
-      digest  = h[:digest]      || ((defined? o.digest)    ? o.digest      : nil)   #hash digests, sha512, sha256 or md5
-      @of,@is,@tag,@obj,@digest,@tmp=of,is,tag,obj,digest,tmp
-      self
-    end
-  end
-  class ObjectHeading
-    attr_accessor :obj,:is,:tags,:of,:lv,:ln,:lc,:use_,:name,:idx,:ocn,:odv,:osp,:node,:parent,:ocn_,:note_,:autonum_,:digest,:tmp
-    def initialize
-      @of=:para
-      @is=@obj=@lv=@ln=@lc=@use_=@name=@idx=@size=@ocn=@odv=@osp=@node=@parent=@ocn_=@note_=@autonum_=@digest=@tmp=nil
-      @tags=[]
-    end
-    def heading_ln(lv)
-      case lv
-      when /A/ then 0
-      when /B/ then 1
-      when /C/ then 2
-      when /D/ then 3
-      when /1/ then 4
-      when /2/ then 5
-      when /3/ then 6
-      when /4/ then 7
-      when /5/ then 8
-      when /6/ then 9
-      end
-    end
-    def heading_lv(ln)
-      case ln.to_s
-      when /0/ then 'A'
-      when /1/ then 'B'
-      when /2/ then 'C'
-      when /3/ then 'D'
-      when /4/ then '1'
-      when /5/ then '2'
-      when /6/ then '3'
-      when /7/ then '4'
-      when /8/ then '5'
-      when /9/ then '6'
-      end
-    end
-    def heading(h,o=nil)
-      if not h[:ln] \
-      and (h[:lv] and h[:lv]=~/[1-6A-D]/)
-        h[:ln]=heading_ln(h[:lv])
-      elsif not h[:lv] \
-      and (h[:ln] and h[:ln].to_s=~/[0-9]/)
-        h[:lv]=heading_lv(h[:ln])
-      end
-      of      = @of                                                                 #Symbol, classification - group
-      is      = :heading                                                            #Symbol, classification - specific type
-      name    = h[:name]        || ((defined? o.name)      ? o.name        : nil)   #String, named object?
-      tags    = h[:tags]        || ((defined? o.tags)      ? o.tags        : [])    #Array, associated object tags, names if any
-      obj     = h[:obj]         || ((defined? o.obj)       ? o.obj         : nil)   #String, text content
-      idx     = h[:idx]         || ((defined? o.idx)       ? o.idx         : nil)   #String, book index provided?
-      ocn     = h[:ocn]         || ((defined? o.ocn)       ? o.ocn         : nil)   #Integer, sequential on substantive-content objects
-      odv     = h[:odv]         || ((defined? o.odv)       ? o.odv         : nil)
-      osp     = h[:osp]         || ((defined? o.osp)       ? o.osp         : nil)
-      node    = h[:node]        || ((defined? o.node)      ? o.node        : nil)   #[Node relationship doc structure info]
-      parent  = h[:parent]      || ((defined? o.parent)    ? o.parent      : nil)   #[Node parent]
-      lv      = h[:lv]          || ((defined? o.lv)        ? o.lv          : nil)   #Alpha-numeric, document structure as used in markup, A-D then 1-6
-      ln      = h[:ln]          || ((defined? o.ln)        ? o.ln          : nil)   #Integer, document structure level, for convenience in processing 1-9
-      lc      = h[:lc]          || ((defined? o.lc)        ? o.lc          : nil)   #Integer, document structure collapsed level, convenience (collapse sisu's dual level document structure for markup with simple linear structure)
-      use_    = if lv \
-        and lv == '1'
-          h[:use_]              || ((defined? o.use_)      ? o.use_        : :ok)
-        elsif not lv.empty? \
-        and lv =~ /[A-D2-3]/
-          :ok
-        else
-           h[:use_]             || ((defined? o.use_)      ? o.use_        : :ok)
-        end
-      ocn_    = if h[:ocn_].nil?
-                                   ((defined? o.ocn_)      ? o.ocn_        : true)  #Bool? no ocn, non-substantive content, do not include in toc #consider
-        else                       h[:ocn_]
-        end
-      autonum_ = if h[:autonum_].nil?
-                                   ((defined? o.autonum_)  ? o.autonum_    : true)  #Bool? auto-numbering if requested default on, false suppresses
-        else                       h[:autonum_]
-        end
-      note_   = h[:note_]       || ((defined? o.note_)     ? o.note_       : false) #Bool, endnotes/footnotes? (processing optimization)
-      digest  = h[:digest]      || ((defined? o.digest)    ? o.digest      : nil)   #hash digests, sha512, sha256 or md5
-      tmp     = h[:tmp]         || ((defined? o.tmp)       ? o.tmp         : nil)   #available for processing, empty after use
-      @of,@is,@lv,@ln,@lc,@name,@tags,@obj,@idx,@ocn,@odv,@osp,@node,@parent,@use_,@ocn_,@note_,@autonum_,@digest,@tmp=
-      of, is, lv, ln, lc, name, tags, obj, idx, ocn, odv, osp, node, parent, use_, ocn_, note_, autonum_, digest, tmp
-      self
-    end
-    def heading_insert(h,o=nil)
-      heading(h,o=nil)
-      @is     = :heading_insert                                                     #String, classification - specific type
-      self
-    end
-  end
-  class ObjectPara
-    attr_accessor :obj,:is,:tags,:of,:name,:idx,:quote_,:bullet_,:indent,:hang,:ocn,:odv,:osp,:parent,:note_,:image_,:ocn_,:digest,:tmp
-    def initialize
-      @of=:para
-      @is=@obj=@name=@idx=@quote_=@bullet_=@indent=@hang=@size=@ocn=@odv=@osp=@parent=@note_=@image_=@ocn_=@digest=@tmp=nil
-      @tags=[]
-    end
-    def paragraph(h,o=nil)
-      of      = @of                                                                 #Symbol, classification - group
-      is      = :para                                                               #Symbol, classification - specific type
-      name    = h[:name]        || ((defined? o.name)      ? o.name        : nil)   #String, named object?
-      tags    = h[:tags]        || ((defined? o.tags)      ? o.tags        : [])    #Array, associated object tags, names if any
-      obj     = h[:obj]         || ((defined? o.obj)       ? o.obj         : nil)   #String, text content
-      idx     = h[:idx]         || ((defined? o.idx)       ? o.idx         : nil)   #String, book index provided?
-      ocn     = h[:ocn]         || ((defined? o.ocn)       ? o.ocn         : nil)   #Integer, sequential on substantive-content objects
-      odv     = h[:odv]         || ((defined? o.odv)       ? o.odv         : nil)
-      osp     = h[:osp]         || ((defined? o.osp)       ? o.osp         : nil)
-      parent  = h[:parent]      || ((defined? o.parent)    ? o.parent      : nil)   #[Node parent]
-      indent  = h[:indent].to_s || ((defined? o.indent)    ? o.indent.to_s : nil)   #Integer, indent level
-      hang    = h[:hang].to_s   || ((defined? o.hang)      ? o.hang.to_s   : nil)   #Integer, hanging indent level
-      bullet_ = h[:bullet_]     || ((defined? o.bullet_)   ? o.bullet_     : false) #Bool, bulleted?
-      quote_  = h[:quote_]      || ((defined? o.quote_)    ? o.quote_      : false) #Bool, quote (blockquote)?
-      note_   = h[:note_]       || ((defined? o.note_)     ? o.note_       : false) #Bool, endnotes/footnotes? (processing optimization)
-      image_  = h[:image_]      || ((defined? o.image_)    ? o.image_      : false) #Bool, images? (processing optimization)
-      ocn_    = if h[:ocn_].nil?
-                                   ((defined? o.ocn_)      ? o.ocn_        : true)  #Bool? no ocn, non-substantive content, do not include in toc #consider
-      else         h[:ocn_]
-      end
-      digest  = h[:digest]      || ((defined? o.digest)    ? o.digest      : nil)   #hash digests, sha512, sha256 or md5
-      tmp     = h[:tmp]         || ((defined? o.tmp)       ? o.tmp         : nil)   #available for processing, empty after use
-      @of,@is,@name,@tags,@obj,@indent,@hang,@bullet_,@quote_,@idx,@ocn,@odv,@osp,@parent,@image_,@note_,@ocn_,@digest,@tmp=
-      of, is, name, tags, obj, indent, hang, bullet_, quote_, idx, ocn, odv, osp, parent, image_, note_, ocn_, digest, tmp
-      self
-    end
-    def docinfo(h,o=nil)
-      of      = @of                                                                 #String, classification - group
-      is      = :docinfo                                                            #String, classification - specific type
-      name    = h[:name]        || ((defined? o.name)      ? o.name        : nil)   #String, named object?
-      tags    = h[:tags]        || ((defined? o.tags)      ? o.tags        : nil)   #Array, associated object tags, names if any
-      obj     = h[:obj]         || ((defined? o.obj)       ? o.obj         : nil)   #String, text content
-      idx     = nil                                                                 #String, book index provided?
-      ocn     = nil                                                                 #Integer, sequential on substantive-content objects
-      odv     = h[:odv]         || ((defined? o.odv)       ? o.odv         : nil)
-      osp     = h[:osp]         || ((defined? o.osp)       ? o.osp         : nil)
-      parent  = h[:parent]      || ((defined? o.parent)    ? o.parent      : nil)   #[Node parent]
-      indent  = nil                                                                 #Integer, indent level
-      hang    = nil                                                                 #Integer, indent level
-      bullet_ = false                                                               #Bool, bulleted?
-      note_   = false                                                               #Bool, endnotes/footnotes? (processing optimization)
-      image_  = h[:image_]      || ((defined? o.image_)    ? o.image_      : false) #Bool, images? (processing optimization)
-      ocn_    = if h[:ocn_].nil?
-                                   ((defined? o.ocn_)      ? o.ocn_        : true)  #Bool? no ocn, non-substantive content, do not include in toc #consider
-      else                         h[:ocn_]
-      end
-      digest  = h[:digest]      || ((defined? o.digest)    ? o.digest      : nil)   #hash digests, sha512, sha256 or md5
-      tmp     = h[:tmp]         || ((defined? o.tmp)       ? o.tmp         : nil)   #available for processing, empty after use
-      @of,@is,@name,@tags,@obj,@indent,@hang,@bullet_,@idx,@ocn,@odv,@osp,@parent,@image_,@note_,@ocn_,@digest,@tmp=
-      of, is, name, tags, obj, indent, hang, bullet_, idx, ocn, odv, osp, parent, image_, note_, ocn_, digest, tmp
-      self
-    end
-  end
-  class ObjectBlockTxt
-    attr_accessor :obj,:is,:of,:tags,:lngsyn,:idx,:ocn,:odv,:osp,:parent,:note_,:number_,:ocn_,:digest,:tmp
-    def initialize
-      @of=:block
-      @is=@obj=@lngsyn=@idx=@ocn=@odv=@osp=@parent=@note_=@number_=@ocn_=@digest=@tmp=nil
-      @tags=[]
-    end
-    def code(h,o=nil)
-      of       = @of                                                                #Symbol, classification - group #alt 'code'
-      is       = :code                                                              #Symbol, classification - specific type
-      tags     = h[:tags]       || ((defined? o.tags)      ? o.tags        : [])    #Array, associated object tags, names if any
-      obj      = h[:obj]        || ((defined? o.obj)       ? o.obj         : nil)   #String, text content
-      lngsyn   = h[:lngsyn]     || ((defined? o.lngsyn)    ? o.lngsyn      : :txt)  #symbol, code lngsyn
-      idx      = h[:idx]        || ((defined? o.idx)       ? o.idx         : nil)   #String, book index provided?
-      ocn      = h[:ocn]        || ((defined? o.ocn)       ? o.ocn         : nil)   #Integer, sequential on substantive-content objects
-      odv      = h[:odv]        || ((defined? o.odv)       ? o.odv         : nil)
-      osp      = h[:osp]        || ((defined? o.osp)       ? o.osp         : nil)
-      parent   = h[:parent]     || ((defined? o.parent)    ? o.parent      : nil)   #[Node parent]
-      number_  = h[:number_]    || ((defined? o.number_)   ? o.number_     : false) #Bool, numbered or not?
-      note_    = h[:note_]      || ((defined? o.note_)     ? o.note_       : false) #Bool, endnotes/footnotes? (processing optimization)
-      ocn_     = if h[:ocn_].nil?
-                                   ((defined? o.ocn_)      ? o.ocn_        : true)  #Bool? no ocn, non-substantive content, do not include in toc #consider
-      else                         h[:ocn_]
-      end
-      num      = h[:num]        || ((defined? o.num)       ? o.num         : nil)
-      digest   = h[:digest]     || ((defined? o.digest)    ? o.digest      : nil)   #hash digests, sha512, sha256 or md5
-      tmp      = h[:tmp]        || ((defined? o.tmp)       ? o.tmp         : nil)   #available for processing, empty after use
-      @of,@is,@tags,@obj,@lngsyn,@idx,@ocn,@odv,@osp,@parent,@number_,@note_,@ocn_,@num,@digest,@tmp=
-      of, is, tags, obj, lngsyn, idx, ocn, odv, osp, parent, number_, note_, ocn_, num, digest, tmp
-      self
-    end
-    def box(h,o=nil)
-      of       = @of                                                                #Symbol, classification - group
-      is       = :box                                                               #Symbol, classification - specific type
-      tags     = h[:tags]       || ((defined? o.tags)      ? o.tags        : [])    #Array, associated object tags, names if any
-      obj      = h[:obj]        || ((defined? o.obj)       ? o.obj         : nil)   #String, text content
-      idx      = h[:idx]        || ((defined? o.idx)       ? o.idx         : nil)   #String, book index provided?
-      ocn      = h[:ocn]        || ((defined? o.ocn)       ? o.ocn         : nil)   #Integer, sequential on substantive-content objects
-      odv      = h[:odv]        || ((defined? o.odv)       ? o.odv         : nil)
-      osp      = h[:osp]        || ((defined? o.osp)       ? o.osp         : nil)
-      parent   = h[:parent]     || ((defined? o.parent)    ? o.parent      : nil)   #[Node parent]
-      note_    = h[:note_]      || ((defined? o.note_)     ? o.note_       : false) #Bool, endnotes/footnotes? (processing optimization)
-      ocn_     = if h[:ocn_].nil?
-                                   ((defined? o.ocn_)      ? o.ocn_        : true)  #Bool? no ocn, non-substantive content, do not include in toc #consider
-      else                         h[:ocn_]
-      end
-      num      = h[:num]        || ((defined? o.num)       ? o.num         : nil)
-      digest   = h[:digest]     || ((defined? o.digest)    ? o.digest      : nil)   #hash digests, sha512, sha256 or md5
-      tmp      = h[:tmp]        || ((defined? o.tmp)       ? o.tmp         : nil)   #available for processing, empty after use
-      @of,@is,@tags,@obj,@idx,@ocn,@odv,@osp,@parent,@note_,@ocn_,@num,@digest,@tmp=
-      of, is, tags, obj, idx, ocn, odv, osp, parent, note_, ocn_, num, digest, tmp
-      self
-    end
-    def block(h,o=nil)
-      of       = @of                                                                #Symbol, classification - group
-      is       = :block                                                             #Symbol, classification - specific type
-      tags     = h[:tags]       || ((defined? o.tags)      ? o.tags        : [])    #Array, associated object tags, names if any
-      obj      = h[:obj]        || ((defined? o.obj)       ? o.obj         : nil)   #String, text content
-      idx      = h[:idx]        || ((defined? o.idx)       ? o.idx         : nil)   #String, book index provided?
-      ocn      = h[:ocn]        || ((defined? o.ocn)       ? o.ocn         : nil)   #Integer, sequential on substantive-content objects
-      odv      = h[:odv]        || ((defined? o.odv)       ? o.odv         : nil)
-      osp      = h[:osp]        || ((defined? o.osp)       ? o.osp         : nil)
-      parent   = h[:parent]     || ((defined? o.parent)    ? o.parent      : nil)   #[Node parent]
-      note_    = h[:note_]      || ((defined? o.note_)     ? o.note_       : false) #Bool, endnotes/footnotes? (processing optimization)
-      ocn_     = if h[:ocn_].nil?
-                                   ((defined? o.ocn_)      ? o.ocn_        : true)  #Bool? no ocn, non-substantive content, do not include in toc #consider
-      else                         h[:ocn_]
-      end
-      num      = h[:num]        || ((defined? o.num)       ? o.num         : nil)
-      digest   = h[:digest]     || ((defined? o.digest)    ? o.digest      : nil)   #hash digests, sha512, sha256 or md5
-      tmp      = h[:tmp]        || ((defined? o.tmp)       ? o.tmp         : nil)   #available for processing, empty after use
-      @of,@is,@tags,@obj,@idx,@ocn,@odv,@osp,@parent,@note_,@ocn_,@num,@digest,@tmp=
-      of, is, tags, obj, idx, ocn, odv, osp, parent, note_, ocn_, num, digest, tmp
-      self
-    end
-    def group(h,o=nil)
-      of       = @of                                                                #Symbol, classification - group
-      is       = :group                                                             #Symbol, classification - specific type
-      tags     = h[:tags]       || ((defined? o.tags)      ? o.tags        : [])    #Array, associated object tags, names if any
-      obj      = h[:obj]        || ((defined? o.obj)       ? o.obj         : nil)   #String, text content
-      idx      = h[:idx]        || ((defined? o.idx)       ? o.idx         : nil)   #String, book index provided?
-      ocn      = h[:ocn]        || ((defined? o.ocn)       ? o.ocn         : nil)   #Integer, sequential on substantive-content objects
-      odv      = h[:odv]        || ((defined? o.odv)       ? o.odv         : nil)
-      osp      = h[:osp]        || ((defined? o.osp)       ? o.osp         : nil)
-      parent   = h[:parent]     || ((defined? o.parent)    ? o.parent      : nil)   #[Node parent]
-      note_    = h[:note_]      || ((defined? o.note_)     ? o.note_       : false) #Bool, endnotes/footnotes? (processing optimization)
-      ocn_     = if h[:ocn_].nil?
-                                   ((defined? o.ocn_)      ? o.ocn_        : true)  #Bool? no ocn, non-substantive content, do not include in toc #consider
-      else          h[:ocn_]
-      end
-      num      = h[:num]        || ((defined? o.num)       ? o.num         : nil)
-      digest   = h[:digest]     || ((defined? o.digest)    ? o.digest      : nil)   #hash digests, sha512, sha256 or md5
-      tmp      = h[:tmp]        || ((defined? o.tmp)       ? o.tmp         : nil)   #available for processing, empty after use
-      @of,@is,@tags,@obj,@idx,@ocn,@odv,@osp,@parent,@note_,@ocn_,@num,@digest,@tmp=
-      of, is, tags, obj, idx, ocn, odv, osp, parent, note_, ocn_, num, digest, tmp
-      self
-    end
-    def alt(h,o=nil)                                                                #see block
-      of       = @of                                                                #Symbol, classification - group
-      is       = :alt                                                               #Symbol, classification - specific type
-      tags     = h[:tags]       || ((defined? o.tags)      ? o.tags        : [])    #Array, associated object tags, names if any
-      obj      = h[:obj]        || ((defined? o.obj)       ? o.obj         : nil)   #String, text content
-      idx      = h[:idx]        || ((defined? o.idx)       ? o.idx         : nil)   #String, book index provided?
-      ocn      = h[:ocn]        || ((defined? o.ocn)       ? o.ocn         : nil)   #Integer, sequential on substantive-content objects
-      odv      = h[:odv]        || ((defined? o.odv)       ? o.odv         : nil)
-      osp      = h[:osp]        || ((defined? o.osp)       ? o.osp         : nil)
-      parent   = h[:parent]     || ((defined? o.parent)    ? o.parent      : nil)   #[Node parent]
-      note_    = h[:note_]      || ((defined? o.note_)     ? o.note_       : false) #Bool, endnotes/footnotes? (processing optimization)
-      ocn_     = if h[:ocn_].nil?
-                                   ((defined? o.ocn_)      ? o.ocn_        : true)  #Bool? no ocn, non-substantive content, do not include in toc #consider
-      else                         h[:ocn_]
-      end
-      num      = h[:num]        || ((defined? o.num)       ? o.num         : nil)
-      digest   = h[:digest]     || ((defined? o.digest)    ? o.digest      : nil)   #hash digests, sha512, sha256 or md5
-      tmp      = h[:tmp]        || ((defined? o.tmp)       ? o.tmp         : nil)   #available for processing, empty after use
-      @of,@is,@tags,@obj,@idx,@ocn,@odv,@osp,@parent,@note_,@ocn_,@num,@digest,@tmp=
-      of, is, tags, obj, idx, ocn, odv, osp, parent, note_, ocn_, num, digest, tmp
-      self
-    end
-    def verse(h,o=nil)                                                              #part of poem decide how you deal with this
-      of       = @of                                                                #Symbol, classification - group
-      is       = :verse                                                             #Symbol, classification - specific type
-      tags     = h[:tags]       || ((defined? o.tags)      ? o.tags        : [])    #Array, associated object tags, names if any
-      obj      = h[:obj]        || ((defined? o.obj)       ? o.obj         : nil)   #String, text content
-      idx      = h[:idx]        || ((defined? o.idx)       ? o.idx         : nil)   #String, book index provided?
-      ocn      = h[:ocn]        || ((defined? o.ocn)       ? o.ocn         : nil)   #Integer, sequential on substantive-content objects
-      odv      = h[:odv]        || ((defined? o.odv)       ? o.odv         : nil)
-      osp      = h[:osp]        || ((defined? o.osp)       ? o.osp         : nil)
-      parent   = h[:parent]     || ((defined? o.parent)    ? o.parent      : nil)   #[Node parent]
-      ocn_     = if h[:ocn_].nil?
-                                   ((defined? o.ocn_)      ? o.ocn_        : true)  #Bool? no ocn, non-substantive content, do not include in toc #consider
-      else                         h[:ocn_]
-      end
-      num      = h[:num]        || ((defined? o.num)       ? o.num         : nil)
-      digest   = h[:digest]     || ((defined? o.digest)    ? o.digest      : nil)   #hash digests, sha512, sha256 or md5
-      tmp      = h[:tmp]        || ((defined? o.tmp)       ? o.tmp         : nil)   #available for processing, empty after use
-      @of,@is,@tags,@obj,@idx,@ocn,@odv,@osp,@parent,@note_,@ocn_,@num,@digest,@tmp=
-      of, is, tags, obj, idx, ocn, odv, osp, parent, note_, ocn_, num, digest, tmp
-      @h=nil
-      self
-    end
-  end
-  class ObjectTable
-    attr_accessor :obj,:is,:of,:lv,:tags,:name,:idx,:indent,:hang,:size,:ocn,:num,:head_,:cols,:widths,:odv,:osp,:parent,:note_,:ocn_,:digest,:tmp
-    def initialize
-      @of=:block
-      @is=@obj=@lv=@name=@idx=@indent=@hang=@size=@ocn,@num,@head_,@cols,@widths=@odv=@osp=@parent=@note_=@ocn_=@num=@digest=@tmp=nil
-      @tags=[]
-    end
-    def table(h,o=nil)
-      of      = @of                                                                 #Symbol, classification - group
-      is      = :table                                                              #Symbol, classification - specific type
-      tags    = h[:tags]        || ((defined? o.tags)      ? o.tags        : [])    #Array, associated object tags, names if any
-      cols    = h[:cols]        || ((defined? o.cols)      ? o.cols        : nil)
-      widths  = h[:widths]      || ((defined? o.widths)    ? o.widths      : nil)
-      obj     = h[:obj]         || ((defined? o.obj)       ? o.obj         : nil)   #String, text content
-      idx     = h[:idx]         || ((defined? o.idx)       ? o.idx         : nil)   #String, book index provided?
-      ocn     = h[:ocn]         || ((defined? o.ocn)       ? o.ocn         : nil)   #Integer, sequential on substantive-content objects
-      odv     = h[:odv]         || ((defined? o.odv)       ? o.odv         : nil)
-      osp     = h[:osp]         || ((defined? o.osp)       ? o.osp         : nil)
-      parent  = h[:parent]      || ((defined? o.parent)    ? o.parent      : nil)   #[Node parent]
-      head_   = h[:head_]       || ((defined? o.head_)     ? o.head_       : false)
-      note_   = h[:note_]       || ((defined? o.note_)     ? o.note_       : false) #Bool, endnotes/footnotes? (processing optimization)
-      ocn_    = if h[:ocn_].nil?
-                                   ((defined? o.ocn_)      ? o.ocn_        : true)  #Bool? no ocn, non-substantive content, do not include in toc #consider
-      else                         h[:ocn_]
-      end
-      num     = h[:num]         || ((defined? o.num)       ? o.num         : nil)
-      digest  = h[:digest]      || ((defined? o.digest)    ? o.digest      : nil)   #hash digests, sha512, sha256 or md5
-      tmp     = h[:tmp]         || ((defined? o.tmp)       ? o.tmp         : nil)   #available for processing, empty after use
-      @of,@is,@tags,@cols,@widths,@obj,@idx,@ocn,@odv,@osp,@parent,@head_,@note_,@ocn_,@num,@digest,@tmp=
-      of, is, tags, cols, widths, obj, idx, ocn, odv, osp, parent, head_, note_, ocn_, num, digest, tmp
-      self
-    end
-  end
-  class ObjectImage
-    attr_accessor :obj,:is,:of,:lv,:idx,:size,:ocn,:parent,:note_,:ocn_,:digest,:tmp
-    def initialize
-      @of=:image
-      @is=@obj=@lv=@idx=@size=@ocn=@parent=@note_=@ocn_=@tmp=@digest=nil
-      @tags=[]
-    end
-    def image(h,o=nil)                                                         #not yet used, and what of a paragraph containing several images, consider
-      of=     @of                                                              #Symbol, classification - group
-      is=     :image                                                           #Symbol, classification - specific type
-      tags=   h[:tags]    || ((defined? o.tags)      ? o.tags    : [])         #Array, associated object tags, names if any
-      obj=    h[:obj]     || ((defined? o.obj)       ? o.obj     : nil)        #String, text content
-      size=   h[:size]    || ((defined? o.size)      ? o.size    : nil)
-      idx=    h[:idx]     || ((defined? o.idx)       ? o.idx     : nil)        #String, book index provided?
-      ocn=    h[:ocn]     || ((defined? o.ocn)       ? o.ocn     : nil)        #Integer, sequential on substantive-content objects
-      odv=    h[:odv]     || ((defined? o.odv)       ? o.odv     : nil)
-      osp=    h[:osp]     || ((defined? o.osp)       ? o.osp     : nil)
-      parent= h[:parent]  || ((defined? o.parent)    ? o.parent  : nil)        #[Node parent]
-      note_=  h[:note_]   || ((defined? o.note_)     ? o.note_   : false)      #Bool, endnotes/footnotes? (processing optimization)
-      ocn_=if h[:ocn_].nil?
-                             ((defined? o.ocn_)  ? o.ocn_    : true)           #Bool? no ocn, non-substantive content, do not include in toc #consider
-      else                   h[:ocn_]
-      end
-      digest= h[:digest]  || ((defined? o.digest)    ? o.digest  : nil)        #hash digests, sha512, sha256 or md5
-      tmp=    h[:tmp]     || ((defined? o.tmp)       ? o.tmp     : nil)        #available for processing, empty after use
-      @of,@is,@tags,@obj,@size,@idx,@ocn,@odv,@osp,@parent,@note_,@ocn_,@digest,@tmp=of,is,tags,obj,size,idx,ocn,odv,osp,parent,note_,ocn_,digest,tmp
-      self
-    end
-  end
-  class ObjectStructure
-    attr_accessor :obj,:tag,:node,:lv,:ln,:lc,:status,:is,:of,:tmp
-    def initialize
-      @of=:structure
-      @is=@obj=@node=@lv=@ln=@lc=@status=@tmp=nil
-    end
-    def xml_dom(h,o=nil)
-      of=     @of                                                              #Symbol, classification - group
-      is=     :xml_dom                                                         #Symbol, classification - specific type
-      obj=    h[:obj]     || ((defined? o.obj)       ? o.obj     : '')         #String, text content
-      lv=     h[:lv]      || ((defined? o.lv)        ? o.lv      : nil)        #Alpha-numeric, document structure as used in markup, A-D then 1-6
-      ln=     h[:ln]      || ((defined? o.ln)        ? o.ln      : nil)        #Integer, document structure level, for convenience in processing 1-9
-      lc=     h[:lc]      || ((defined? o.lc)        ? o.lc      : nil)        #Integer, document structure collapsed level, convenience (collapse sisu's dual level document structure for markup with simple linear structure)
-      node=   h[:node]    || ((defined? o.node)      ? o.node    : nil)        #[Node relationship doc structure info]
-      status= h[:status]  || ((defined? o.status)    ? o.status  : nil)        #tag status Symbol :open or :close
-      tmp=    h[:tmp]     || ((defined? o.tmp)       ? o.tmp     : nil)        #available for processing, empty after use
-      @of,@is,@obj,@status,@node,@lv,@ln,@lc,@tmp=of,is,obj,status,node,lv,ln,lc,tmp
-      self
-    end
-  end
-  class ObjectFlag
-    attr_accessor :obj,:is,:of,:flag,:act,:selections,:tmp
-    def initialize
-      @of=:flag
-      @is=@obj=@flag=@act=@selections=@tmp=nil
-    end
-    def flag(h,o=nil)
-      of=     @of                                                              #Symbol, classification - group
-      is=     :flag                                                            #Symbol, classification - specific type
-      obj=    nil                                                              #String, text content
-      flag=   h[:flag]     || ((defined? o.flag)      ? o.flag    : nil)       #String, text content
-      act=    h[:act]      || ((defined? o.act)       ? o.act     : nil)       #String, text content
-      selections=    h[:selections]      || ((defined? o.selections) ? o.selections : nil)   #String, text content
-      tmp=    h[:flag]     || ((defined? o.tmp)       ? o.tmp     : nil)       #available for processing, empty after use
-      @of, @is,@obj,@flag,@act,@selections,@tmp=
-        of,is, obj, flag, act, selections, tmp
-      self
-    end
-    def flag_ocn(h,o=nil)
-      of=     @of                                                              #Symbol, classification - group
-      is=     :flag_ocn                                                        #Symbol, classification - specific type
-      obj=    nil                                                              #String, text content
-      flag=   h[:flag]     || ((defined? o.flag)      ? o.flag    : nil)       #String, text content
-      act=    h[:act]      || ((defined? o.act)       ? o.act     : nil)       #String, text content
-      selections= h[:selections] || ((defined? o.selections) ? o.selections : nil)   #String, text content
-      tmp=    h[:flag]     || ((defined? o.tmp)       ? o.tmp     : nil)       #available for processing, empty after use
-      @of, @is,@obj,@flag,@act,@selections,@tmp=
-        of,is, obj, flag, act, selections,tmp
-      self
-    end
-    def flag_lng(h,o=nil)
-      of=     @of                                                              #Symbol, classification - group
-      is=     :flag_lng
-      obj=    nil                                                              #String, text content
-      flag=   h[:flag]     || ((defined? o.flag)      ? o.flag    : nil)       #Symbol, :lng_on or :lng_off
-      act=    h[:act]      || ((defined? o.act)       ? o.act     : nil)       #Symbol, language set to :en etc.
-      selections= h[:selections] || ((defined? o.selections) ? o.selections : nil)   #String, text content
-      tmp=    h[:act]     || ((defined? o.tmp)       ? o.tmp     : nil)       #available for processing, empty after use
-      @of, @is,@obj,@flag,@act,@selections,@tmp=
-        of,is, obj, flag, act, selections,tmp
-      self
-    end
-  end
-  class ObjectLayout
-    attr_accessor :obj,:sym,:attr,:is,:is_for,:of,:from,:tmp,:num
-    def initialize
-      @of=:layout
-      @is=@is_for=@obj=@from=@tmp=@num=nil
-    end
-    def break(h,f=nil)                                                         #decide how to deal with
-      of=     @of                                                              #Symbol, classification - group
-      is=     :break                                                           #Symbol, classification - specific type
-      obj=    h[:obj]                                                          #String, text content
-      from=   f
-      tmp=    h[:tmp]                                                          #available for processing, empty after use
-      @of,@is,@obj,@from,@tmp=of,is,obj,from,tmp
-      self
-    end
-    def insert(h,o=nil)                                                        #decide how to deal with, could mimic paragraph?
-      of=     @of                                                              #Symbol, classification - group
-      is=     :insert                                                          #Symbol, classification - specific type
-      obj=    h[:obj]     || ((defined? o.obj)       ? o.obj     : nil)        #String, text content
-      tmp=    h[:tmp]     || ((defined? o.tmp)       ? o.tmp     : nil)        #available for processing, empty after use
-      @of,@is,@obj,@tmp=of,is,obj,tmp
-      self
-    end
-    def open_close(h,o=nil)                                                    #useful for poem & quote
-      of=     @of                                                              #Symbol, classification - group
-      is=     :open_close_tags                                                 #Symbol, classification - specific type
-      is_for= h[:is_for]  || ((defined? o.is_for)    ? o.is_for  : nil)        #String, text content
-      obj=    h[:obj]     || ((defined? o.obj)       ? o.obj     : nil)        #String, text content
-      sym=    h[:sym]     || ((defined? o.sym)       ? o.sym     : nil)        #Symbol tag_open, tag_close
-      attr=   h[:attr]    || ((defined? o.attr)      ? o.attr    : nil)        #String, text content
-      tmp=    h[:tmp]     || ((defined? o.tmp)       ? o.tmp     : nil)        #available for processing, empty after use
-      num=    h[:num]     || ((defined? o.num)       ? o.num     : nil)
-      @of,@is,@is_for,@obj,@sym,@attr,@tmp,@num=
-      of, is, is_for, obj, sym, attr, tmp, num
-      self
-    end
-  end
-  class ObjectComment
-    attr_accessor :obj,:is,:of,:tmp
-    def initialize
-      @of=:comment
-      @is=@obj=@tmp=nil
-    end
-    def comment(h,o=nil)
-      of=     @of                                                              #Symbol, classification - group
-      is=     :comment                                                         #Symbol, classification - specific type
-      obj=    h[:obj]     || ((defined? o.obj)       ? o.obj     : nil)        #String, text content
-      tmp=    h[:tmp]     || ((defined? o.tmp)       ? o.tmp     : nil)        #available for processing, empty after use
-      @of,@is,@obj,@tmp=of,is,obj,tmp
-      self
-    end
-  end
-end
-__END__
-# ~# |-# no paragraph number # -# not included in toc
diff --git a/lib/sisu/current/ao_endnotes.rb b/lib/sisu/current/ao_endnotes.rb
deleted file mode 100644 (file)
index 508d798..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-# encoding: utf-8
-=begin
-
-* Name: SiSU
-
-** Description: documents, structuring, processing, publishing, search
-*** system environment, resource control and configuration details
-
-** Author: Ralph Amissah
-  <ralph@amissah.com>
-  <ralph.amissah@gmail.com>
-
-** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-  2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
-  All Rights Reserved.
-
-** License: GPL 3 or later:
-
-  SiSU, a framework for document structuring, publishing and search
-
-  Copyright (C) Ralph Amissah
-
-  This program is free software: you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by the Free
-  Software Foundation, either version 3 of the License, or (at your option)
-  any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT
-  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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>
-
-** Git
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao_doc_endnotes.rb;hb=HEAD>
-
-=end
-module SiSU_AO_Endnotes
-  class Endnotes
-    def initialize(md,data,endnote_array=nil)
-      @md,@data,@endnote_array=
-      md, data, endnote_array
-      @endnote_counter,
-        @endnote_counter_asterisk,
-        @endnote_counter_dag=
-        1,1,1
-    end
-    def endnotes
-      data=@data
-      endnote_ref=1
-      @tuned_file=data.each.map do |dob|
-                                                                               # manually numbered endnotes <!e(\d)!> <!e_(\d)!> -->
-        if @md.opt.selections.str =~/--no-asterisk|--no-annotate/
-          dob.obj=dob.obj.
-            gsub(/#{Mx[:en_b_o]}\s.+?#{Mx[:en_b_c]}/,'')
-        end
-        if @md.opt.selections.str =~/--no-dagger|--no-annotate/
-          dob.obj=dob.obj.
-            gsub(/#{Mx[:en_b_o]}[+]\s.+?#{Mx[:en_b_c]}/,'')
-        end
-        if (defined? dob.obj) \
-        && (defined? dob.is) \
-        && dob.is !=:code
-          case dob.obj                                                         # auto-numbered endnotes <!e!> <!e_!> -->
-          when /#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}[*+]\s+.+?#{Mx[:en_b_c]}/
-            dob.obj=dob.obj.
-              gsub(/\s*(#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/,'\1')
-            word_mode=dob.obj.scan(/\S+/m)
-            word_mode=endnote_call_number(word_mode)
-            dob.obj=word_mode.join(' ')
-            endnote_ref+=1
-          when /~\^(?:\s|$)/                                              #%note inserts endnotes previously gathered from /^(<!e[:_]!>|[-~]\{{3})/ (in earlier loop)
-            word_mode=dob.obj.scan(/\S+/m)
-            word_mode=endnote_call_number(word_mode)
-            dob.obj=word_mode.join(' ')
-            endnote_ref+=1
-          end
-        end
-        dob
-      end.flatten
-      @endnote_counter,
-        @endnote_counter_asterisk,
-        @endnote_counter_dag=
-        1,1,1
-      @tuned_file
-    end
-    def endnote_call_number(words)
-      words.each do |word|
-        case word
-        when /#{Mx[:en_a_o]}/
-          unless word =~/#{Mx[:en_a_o]}[*+]+/
-            word.gsub!(/#{Mx[:en_a_o]}/,
-              "#{Mx[:en_a_o]}#{@endnote_counter} ")
-            @endnote_counter+=1
-          end
-        when /#{Mx[:en_b_o]}/
-          if word =~/#{Mx[:en_b_o]}[+]/
-            word.gsub!(/#{Mx[:en_b_o]}[+]/,
-              "#{Mx[:en_b_o]}\+#{@endnote_counter_dag} ")
-            @endnote_counter_dag+=1
-          else
-            word.gsub!(/#{Mx[:en_b_o]}[*]?/,
-              "#{Mx[:en_b_o]}\*#{@endnote_counter_asterisk} ")
-            @endnote_counter_asterisk+=1
-          end
-        when /~\^/
-          if @endnote_array
-            word.gsub!(/~\^/,
-              "#{@endnote_array[@endnote_counter-1]}")
-            @endnote_counter+=1
-          end
-        end
-      end
-    end
-  end
-end
-__END__
diff --git a/lib/sisu/current/ao_expand_insertions.rb b/lib/sisu/current/ao_expand_insertions.rb
deleted file mode 100644 (file)
index 3d4ea8c..0000000
+++ /dev/null
@@ -1,514 +0,0 @@
-# encoding: utf-8
-=begin
-
-* Name: SiSU
-
-** Description: documents, structuring, processing, publishing, search
-*** system environment, resource control and configuration details
-
-** Author: Ralph Amissah
-  <ralph@amissah.com>
-  <ralph.amissah@gmail.com>
-
-** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-  2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
-  All Rights Reserved.
-
-** License: GPL 3 or later:
-
-  SiSU, a framework for document structuring, publishing and search
-
-  Copyright (C) Ralph Amissah
-
-  This program is free software: you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by the Free
-  Software Foundation, either version 3 of the License, or (at your option)
-  any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT
-  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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>
-
-** Git
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao_expand_insertions.rb;hb=HEAD>
-
-=end
-module SiSU_AO_Insertions
-  class Insertions
-    def initialize(md,data)
-      @md,@data=md,data
-    end
-    def output_filetypes_in_cmd(cmd_shortcut,lnk=nil) #make list of file types in shortcut command (as configured), e.g. when sisu -3 is used
-      act_defaults=SiSU_Env::InfoProcessingFlag.new
-      cmd_list=case cmd_shortcut.inspect #check on expectation, string v array
-      when /0/ then act_defaults.act_0.str
-      when /1/ then act_defaults.act_1.str
-      when /2/ then act_defaults.act_2.str
-      when /3/ then act_defaults.act_3.str
-      when /4/ then act_defaults.act_4.str
-      when /5/ then act_defaults.act_5.str
-      when /6/ then act_defaults.act_6.str
-      when /7/ then act_defaults.act_7.str
-      when /8/ then act_defaults.act_8.str
-      when /9/ then act_defaults.act_9.str
-      end
-      file_type_names={}
-      file_type_names[:gen],file_type_names[:src]=[],[]
-      file_type_names[:gen] <<= if cmd_list =~ /\b--manifest\b/
-        "~^ { document manifest }#{lnk[:manifest]}"
-      end
-      file_type_names[:gen] <<= if cmd_list =~ /\b--html\b/
-        [
-          " { html, segmented text }#{lnk[:html_toc]}",
-          " { html, scroll, document in one }#{lnk[:html_doc]}",
-        ]
-      end
-      file_type_names[:gen] <<= if cmd_list =~ /\b--epub\b/
-        [" { epub }#{lnk[:epub]}"]
-      end
-      file_type_names[:gen] <<= if cmd_list =~ /\b--pdf\b/ \
-      or cmd_list =~ /--pdf-landscape/
-        [
-          " { pdf, landscape }#{lnk[:pdf_landscape]}",
-        ]
-      end
-      file_type_names[:gen] <<= if cmd_list =~ /\b--pdf\b/ \
-      or cmd_list =~ /--pdf-portrait/
-        [
-          " { pdf, portrait }#{lnk[:pdf_portrait]}",
-        ]
-      end
-      file_type_names[:gen] <<= if cmd_list =~ /\b(?:--odt|--odf)\b/
-        " { odf:odt, open document text }#{lnk[:odt]}"
-      end
-      file_type_names[:gen] <<= if cmd_list =~ /\b--xhtml\b/
-        " { xhtml scroll }#{lnk[:xhtml]}"
-      end
-      file_type_names[:gen] <<= if cmd_list =~ /\b--docbook\b/
-        " { docbook }#{lnk[:docbook]}" #CHECK
-      end
-      file_type_names[:gen] <<= if cmd_list =~ /\b--xml-sax\b/
-        " { xml, sax }#{lnk[:xml_sax]}"
-      end
-      file_type_names[:gen] <<= if cmd_list =~ /\b--xml-dom\b/
-        " { xml, dom }#{lnk[:xml_dom]}"
-      end
-      file_type_names[:gen] <<= if cmd_list =~ /\b(?:--txt|--text|--plaintext)\b/
-        " { plain text utf-8 }#{lnk[:txt]}"
-      end
-      #file_type_names[:gen] <<= if cmd_list =~ /g/
-      #  'wiki.txt'
-      #end
-      file_type_names[:gen] <<= if cmd_list =~ /\b--concordance\b/
-        " { concordance }#{lnk[:html_concordance]}"
-      end
-      file_type_names[:gen] <<= if cmd_list =~ /\b--digest\b/
-        " { dcc, document content certificate (digests) }#{lnk[:digest]}"
-      end
-      file_type_names[:src] <<= if source and cmd_shortcut =~ /\b--source\b/
-        " { markup source text }#{lnk[:source]}"
-      end
-      file_type_names[:src] <<= if cmd_shortcut =~ /\b--sisupod\b/
-        " { markup source (zipped) pod }#{lnk[:sisupod]}"
-      end
-      file_type_names[:gen]=file_type_names[:gen].flatten
-      file_type_names[:src]=file_type_names[:src].flatten
-      file_type_names
-    end
-    def by_language(linked_doc,lng,src=nil)
-      @linked_doc,@lng,@src=linked_doc,lng,src
-      @base_path="#{@md.file.output_path.base.url}/#{lng}"
-      def fnh
-        {
-          fn: @linked_doc,
-        }
-      end
-      def path_and_file(fn,pth)
-        @base_path + '/' + pth + '/' + fn
-      end
-      def manifest
-        fn=@md.file.base_filename.manifest(fnh)
-        path_and_file(fn,'manifest')
-      end
-      def html_toc
-        fn=@md.file.base_filename.html_segtoc(fnh)
-        @base_path + '/html/' + @linked_doc + '/' + fn
-      end
-      def html_doc
-        fn=@md.file.base_filename.html_scroll(fnh)
-        path_and_file(fn,'html')
-      end
-      def html_concordance
-        fn=@md.file.base_filename.html_concordance
-        @base_path + '/html/' + @linked_doc + '/' + fn
-      end
-      def epub
-        fn=@md.file.base_filename.epub(fnh)
-        path_and_file(fn,'epub')
-      end
-      def pdf_landscape
-        fn=@md.file.base_filename.pdf_l_a4(fnh)
-        path_and_file(fn,'pdf')
-      end
-      def pdf_portrait
-        fn=@md.file.base_filename.pdf_p_a4(fnh)
-        path_and_file(fn,'pdf')
-      end
-      def odt
-        fn=@md.file.base_filename.odt(fnh)
-        path_and_file(fn,'odt')
-      end
-      def xhtml
-        fn=@md.file.base_filename.xhtml(fnh)
-        path_and_file(fn,'xhtml')
-      end
-      def docbook
-        fn=@md.file.base_filename.xml_docbook_book(fnh)
-        path_and_file(fn,'docbook')
-      end
-      def xml_sax
-        fn=@md.file.base_filename.xml_sax(fnh)
-        path_and_file(fn,'xml_sax')
-      end
-      def xml_dom
-        fn=@md.file.base_filename.xml_dom(fnh)
-        path_and_file(fn,'xml_dom')
-      end
-      def txt
-        fn=@md.file.base_filename.txt(fnh)
-        path_and_file(fn,'txt')
-      end
-      def digest
-        fn=@md.file.base_filename.hash_digest(fnh)
-        path_and_file(fn,'digest')
-      end
-      def source
-        @base_path + '/src/' + @src
-      end
-      def sisupod
-        @base_path + '/src/' + @src + '.zip'
-      end
-      self
-    end
-    def by_filetype(linked_doc,lng,src=nil)
-      @linked_doc,@lng,@src=linked_doc,lng,src
-      @lc=SiSU_Env::FilenameLanguageCodeInsert.new(@md.opt,lng).
-        language_code_insert
-      @base_path="#{@md.file.output_path.base.url}"
-      def fnh
-        {
-          fn: @linked_doc,
-          lng: @lc,
-        }
-      end
-      def path_and_file(fn,pth)
-        @base_path + '/' + pth + '/' + fn
-      end
-      def manifest
-        fn=@md.file.base_filename.manifest(fnh)
-        path_and_file(fn,'manifest')
-      end
-      def html_toc
-        fn=@md.file.base_filename.html_segtoc(fnh)
-        path_and_file(fn,'html')
-      end
-      def html_doc
-        fn=@md.file.base_filename.html_scroll(fnh)
-        path_and_file(fn,'html')
-      end
-      def html_concordance
-        fn=@md.file.base_filename.html_concordance
-        path_and_file(fn,'html')
-      end
-      def epub
-        fn=@md.file.base_filename.epub(fnh)
-        path_and_file(fn,'epub')
-      end
-      def pdf_landscape
-        fn=@md.file.base_filename.pdf_l_a4(fnh)
-        path_and_file(fn,'pdf')
-      end
-      def pdf_portrait
-        fn=@md.file.base_filename.pdf_p_a4(fnh)
-        path_and_file(fn,'pdf')
-      end
-      def odt
-        fn=@md.file.base_filename.odt(fnh)
-        path_and_file(fn,'odt')
-      end
-      def xhtml
-        fn=@md.file.base_filename.xhtml(fnh)
-        path_and_file(fn,'xhtml')
-      end
-      def docbook
-        fn=@md.file.base_filename.xml_docbook_book(fnh)
-        path_and_file(fn,'docbook')
-      end
-      def xml_sax
-        fn=@md.file.base_filename.xml_sax(fnh)
-        path_and_file(fn,'xml_sax')
-      end
-      def xml_dom
-        fn=@md.file.base_filename.xml_dom(fnh)
-        path_and_file(fn,'xml_dom')
-      end
-      def txt
-        fn=@md.file.base_filename.txt(fnh)
-        path_and_file(fn,'txt')
-      end
-      def digest
-        fn=@md.file.base_filename.hash_digest(fnh)
-        path_and_file(fn,'digest')
-      end
-      def source
-        @base_path + '/src/' + @src
-      end
-      def sisupod
-        @base_path + '/src/' + @src + '.zip'
-      end
-      self
-    end
-    def by_filename(linked_doc,lng,src=nil)
-      @linked_doc,@lng,@src=linked_doc,lng,src
-      @lc=SiSU_Env::FilenameLanguageCodeInsert.new(@md.opt,lng).language_code_insert
-      @base_path="#{@md.file.output_path.base.url}/#{@linked_doc}"
-      def fnh
-        {
-          fn: @linked_doc,
-          lng: @lc,
-        }
-      end
-      def path_and_file(fn,pth=nil)
-        (pth.nil?) \
-        ? @base_path + '/' + fn
-        : @base_path + '/' + pth + '/' + fn
-      end
-      def manifest
-        fn=@md.file.base_filename.manifest(fnh)
-        path_and_file(fn)
-      end
-      def html_toc
-        fn=@md.file.base_filename.html_segtoc(fnh)
-        path_and_file(fn)
-      end
-      def html_doc
-        fn=@md.file.base_filename.html_scroll(fnh)
-        path_and_file(fn)
-      end
-      def html_concordance
-        fn=@md.file.base_filename.html_concordance
-        path_and_file(fn)
-      end
-      def epub
-        fn=@md.file.base_filename.epub(fnh)
-        path_and_file(fn,'epub')
-      end
-      def pdf_landscape
-        fn=@md.file.base_filename.pdf_l_a4(fnh)
-        path_and_file(fn)
-      end
-      def pdf_portrait
-        fn=@md.file.base_filename.pdf_p_a4(fnh)
-        path_and_file(fn)
-      end
-      def odt
-        fn=@md.file.base_filename.odt(fnh)
-        path_and_file(fn)
-      end
-      def xhtml
-        fn=@md.file.base_filename.xhtml(fnh)
-        path_and_file(fn)
-      end
-      def docbook
-        fn=@md.file.base_filename.xml_docbook_book(fnh)
-        path_and_file(fn)
-      end
-      def xml_sax
-        fn=@md.file.base_filename.xml_sax(fnh)
-        path_and_file(fn)
-      end
-      def xml_dom
-        fn=@md.file.base_filename.xml_dom(fnh)
-        path_and_file(fn)
-      end
-      def txt
-        fn=@md.file.base_filename.txt(fnh)
-        path_and_file(fn)
-      end
-      def digest
-        fn=@md.file.base_filename.hash_digest(fnh)
-        path_and_file(fn)
-      end
-      def source
-        @base_path + '/' + @src
-      end
-      def sisupod
-        @base_path + '/' + @src + '.zip'
-      end
-      self
-    end
-    def expand_insertions?
-      data=@data
-      tuned_file,tuned_file_tmp=[],[]
-      codeblock_={
-        status: :false,
-        type:   :na,
-      }
-      data.each do |para|
-        codeblock_=if para =~/^code(?:\.[a-z][0-9a-z_]+)?\{/ \
-        and codeblock_[:status]==:false
-          {
-            status: :true,
-            type:   :curl,
-          }
-        elsif para =~/^```[ ]+code(?:\.[a-z][0-9a-z_]+)?/ \
-        and codeblock_[:status]==:false
-          {
-            status: :true,
-            type:   :tics,
-          }
-        elsif codeblock_[:type]==:curl \
-        and para =~/^\}code/m
-          {
-            status: :false,
-            type:   :na,
-          }
-        elsif codeblock_[:type]==:tics \
-        and para =~/^```(?:\s|$)/m
-          {
-            status: :false,
-            type:   :na,
-          }
-        else codeblock_
-        end
-        if para !~/^%+\s/ \
-        and codeblock_[:status] != :true \
-        and para =~/\{(?:~\^\s+)?(.+?)\s\[(?:\d(?:[sS]*))\]\}(?:\.\.\/\S+?\/|\S+?\.ss[tm]\b)/
-          @u=SiSU_Env::InfoEnv.new.url
-          m_cmd=''
-          if defined? @u.remote
-            if /(?<m_pre>.+?)\{(?<m_txt>.+?)\s\[(?<m_cmd>\d[sS]*)\]\}(?<m_source>(?<m_linked_doc>\S+?)\.ss[tm]\b)(?<m_note>.*)/m =~ para
-              m_pre=m_pre.strip
-            elsif /\{(?<m_txt>.+?)\s\[(?<m_cmd>\d[sS]*)\]\}(?<m_source>(?<m_linked_doc>\S+?)\.ss[tm]\b)(?<m_note>.*)/m =~ para
-            end
-            if m_linked_doc =~ /(\S+?)\/(\S+)/
-              m_linked_doc,m_linked_doc_lang=$1,$2
-            else
-              m_linked_doc,m_linked_doc_lang=m_linked_doc,@md.opt.lng_base
-            end
-          else
-            puts "error, does currently support relative paths (reltive paths were removed, as had problems for citation, and was not suited to all output types should possibly reconsider) #{__FILE__} #{__LINE__}"
-            if /\{(?:~\^\s+)?(?<m_txt>.+?)\s\[(?<m_cmd>\d[sS]*)\]\}\.\.\/(?<m_linked_doc>\S+?)\/(?<m_note>\s+#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]})?/ =~ para
-            end
-          end
-          lnk=case @md.opt.dir_structure_by
-          when :language
-            {
-              manifest:         by_language(m_linked_doc,m_linked_doc_lang).manifest,
-              html_toc:         by_language(m_linked_doc,m_linked_doc_lang).html_toc,
-              html_doc:         by_language(m_linked_doc,m_linked_doc_lang).html_doc,
-              epub:             by_language(m_linked_doc,m_linked_doc_lang).epub,
-              pdf_landscape:    by_language(m_linked_doc,m_linked_doc_lang).pdf_landscape,
-              pdf_portrait:     by_language(m_linked_doc,m_linked_doc_lang).pdf_landscape,
-              odt:              by_language(m_linked_doc,m_linked_doc_lang).odt,
-              xhtml:            by_language(m_linked_doc,m_linked_doc_lang).xhtml,
-              docbook:          by_language(m_linked_doc,m_linked_doc_lang).docbook,
-              xml_sax:          by_language(m_linked_doc,m_linked_doc_lang).xml_sax,
-              xml_dom:          by_language(m_linked_doc,m_linked_doc_lang).xml_dom,
-              txt:              by_language(m_linked_doc,m_linked_doc_lang).txt,
-              html_concordance: by_language(m_linked_doc,m_linked_doc_lang).html_concordance,
-              digest:           by_language(m_linked_doc,m_linked_doc_lang).digest,
-              sisupod:          by_language(m_linked_doc,m_linked_doc_lang,m_source).sisupod,
-              source:           by_language(m_linked_doc,m_linked_doc_lang,m_source).source,
-            }
-          when :filetype
-            {
-              manifest:         by_filetype(m_linked_doc,m_linked_doc_lang).manifest,
-              html_toc:         by_filetype(m_linked_doc,m_linked_doc_lang).html_toc,
-              html_doc:         by_filetype(m_linked_doc,m_linked_doc_lang).html_doc,
-              epub:             by_filetype(m_linked_doc,m_linked_doc_lang).epub,
-              pdf_landscape:    by_filetype(m_linked_doc,m_linked_doc_lang).pdf_landscape,
-              pdf_portrait:     by_filetype(m_linked_doc,m_linked_doc_lang).pdf_landscape,
-              odt:              by_filetype(m_linked_doc,m_linked_doc_lang).odt,
-              xhtml:            by_filetype(m_linked_doc,m_linked_doc_lang).xhtml,
-              docbook:          by_filetype(m_linked_doc,m_linked_doc_lang).docbook,
-              xml_sax:          by_filetype(m_linked_doc,m_linked_doc_lang).xml_sax,
-              xml_dom:          by_filetype(m_linked_doc,m_linked_doc_lang).xml_dom,
-              txt:              by_filetype(m_linked_doc,m_linked_doc_lang).txt,
-              html_concordance: by_filetype(m_linked_doc,m_linked_doc_lang).html_concordance,
-              digest:           by_filetype(m_linked_doc,m_linked_doc_lang).digest,
-              sisupod:          by_filetype(m_linked_doc,m_linked_doc_lang,m_source).sisupod,
-              source:           by_filetype(m_linked_doc,m_linked_doc_lang,m_source).source,
-            }
-          else
-            {
-              manifest:         by_filename(m_linked_doc,m_linked_doc_lang).manifest,
-              html_toc:         by_filename(m_linked_doc,m_linked_doc_lang).html_toc,
-              html_doc:         by_filename(m_linked_doc,m_linked_doc_lang).html_doc,
-              epub:             by_filename(m_linked_doc,m_linked_doc_lang).epub,
-              pdf_landscape:    by_filename(m_linked_doc,m_linked_doc_lang).pdf_landscape,
-              pdf_portrait:     by_filename(m_linked_doc,m_linked_doc_lang).pdf_landscape,
-              odt:              by_filename(m_linked_doc,m_linked_doc_lang).odt,
-              xhtml:            by_filename(m_linked_doc,m_linked_doc_lang).xhtml,
-              docbook:          by_filename(m_linked_doc,m_linked_doc_lang).docbook,
-              xml_sax:          by_filename(m_linked_doc,m_linked_doc_lang).xml_sax,
-              xml_dom:          by_filename(m_linked_doc,m_linked_doc_lang).xml_dom,
-              txt:              by_filename(m_linked_doc,m_linked_doc_lang).txt,
-              html_concordance: by_filename(m_linked_doc,m_linked_doc_lang).html_concordance,
-              digest:           by_filename(m_linked_doc,m_linked_doc_lang).digest,
-              sisupod:          by_filename(m_linked_doc,m_linked_doc_lang,m_source).sisupod,
-              source:           by_filename(m_linked_doc,m_linked_doc_lang,m_source).source,
-            }
-          end
-          linked_title="#{m_pre}{#{m_txt} }#{lnk[:manifest]}#{m_note}\n\n"
-          tuned_file_tmp << linked_title
-          output_filetypes=output_filetypes_in_cmd(m_cmd,lnk)
-          output_filetypes[:gen].each do |desc|
-            if desc
-              tuned_file_tmp << if @u.remote
-                "#{Mx[:nbsp]*4} #{desc} "
-              else # remove ...
-                "[provide document placement host location]"
-              end
-            end
-          end
-          output_filetypes[:src].each do |desc|
-            if desc
-              tuned_file_tmp << if @u.remote
-                "#{Mx[:nbsp]*4} #{desc} "
-              else
-                "[provide document placement host location]"
-              end
-            end
-          end
-          tuned_file << 'group{' << tuned_file_tmp.join("\n") << '}group'
-          tuned_file_tmp=[]
-        else tuned_file << para
-        end
-      end
-      tuned_file
-    end
-  end
-end
-__END__
diff --git a/lib/sisu/current/ao_hash_digest.rb b/lib/sisu/current/ao_hash_digest.rb
deleted file mode 100644 (file)
index 0864989..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-# encoding: utf-8
-=begin
-
-* Name: SiSU
-
-** Description: documents, structuring, processing, publishing, search
-*** system environment, resource control and configuration details
-
-** Author: Ralph Amissah
-  <ralph@amissah.com>
-  <ralph.amissah@gmail.com>
-
-** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-  2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
-  All Rights Reserved.
-
-** License: GPL 3 or later:
-
-  SiSU, a framework for document structuring, publishing and search
-
-  Copyright (C) Ralph Amissah
-
-  This program is free software: you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by the Free
-  Software Foundation, either version 3 of the License, or (at your option)
-  any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT
-  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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>
-
-** Git
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao_hash_digest.rb;hb=HEAD>
-
-=end
-module SiSU_AO_Hash
-  require_relative 'shared_markup_alt.rb'               #shared_markup_alt.rb
-  class ObjectDigest
-    def initialize(md,data,env=nil)
-      @md,@data,@env=md,data,env
-      @env ||=SiSU_Env::InfoEnv.new(@md.fns,@md)
-    end
-    def object_digest
-    # 1. clean/stripped text without any markup, paragraph, headings etc. without endnotes
-    # 2. endnotes clean/stripped text digest only (there may be several endnotes within a paragraph)
-    # 3. whole object, text with markup and any endnotes, (question: with or without the endnote digests??? presumption better without, [however may be easier to check with?])
-    # [digests should not include other digests]
-      data=@data.compact
-      @tuned_file=[]
-      sha_ =@env.digest(@md.opt).type
-      begin
-        sha_ ? (require 'digest/sha2') : (require 'digest/md5')
-      rescue LoadError
-        SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error(sha_ + ' NOT FOUND')
-      end
-      data.each do |t_o|
-        unless t_o.obj.is_a?(Array)
-          t_o.obj=t_o.obj.strip
-        end
-        if (t_o.of !=:structure \
-        && t_o.of  !=:comment \
-        && t_o.of  !=:layout) \
-        && t_o.ocn.is_a?(Fixnum)
-          case sha_
-          when :sha512
-            for hash_class in [ Digest::SHA512 ]
-              @tuned_file << stamped(t_o,hash_class)
-            end
-          when :sha256
-            for hash_class in [ Digest::SHA256 ]
-              @tuned_file << stamped(t_o,hash_class)
-            end
-          when :md5
-            for hash_class in [ Digest::MD5 ]
-              @tuned_file << stamped(t_o,hash_class)
-            end
-          end
-        else @tuned_file << t_o unless t_o.nil?
-        end
-      end
-      @tuned_file=@tuned_file.flatten
-      #use md5 or to create hash of each ao object including ocn, & add into to each ao object
-    end
-    def endnote_digest(data)
-      data.each.map do |en_plus|
-        case en_plus
-        when /#{Mx[:en_a_o]}|#{Mx[:en_b_o]}/
-          if en_plus =~/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/
-            t_o_txt,en_open,en_txt,en_close=
-              /(.*?)(#{Mx[:en_a_o]}|#{Mx[:en_b_o]})(.+?)(#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/m.
-              match(en_plus)[1..4]
-            stripped_en=SiSU_TextRepresentation::Alter.new(en_txt).strip_clean_of_markup
-            digest_en_strip=case @env.digest(@md.opt).type
-            when :sha512
-              Digest::SHA512.hexdigest(stripped_en)
-            when :sha256
-              Digest::SHA256.hexdigest(stripped_en)
-            when :md5
-              Digest::MD5.hexdigest(stripped_en)
-            else
-              Digest::SHA256.hexdigest(stripped_en)
-            end
-            t_o_txt +
-              en_open +
-              en_txt +
-              Mx[:id_o] +
-              digest_en_strip +
-              Mx[:id_c] +
-              en_close
-          else STDERR.puts "Error Exception - problem encountered with:\n#{en_plus}" #arbitrary exception, tidy up
-          end
-        else en_plus
-        end
-      end.join
-    end
-    def stamped(t_o,hash_class) #decide what hash information is most useful, is compromise necessary?
-      t_o.obj=SiSU_TextRepresentation::Alter.new(t_o).strip_clean_of_extra_spaces
-      #SiSU_TextRepresentation::Alter.new(t_o).strip_clean_of_markup                      #check
-      #SiSU_TextRepresentation::Alter.new(t_o).semi_revert_markup                         #check
-      #SiSU_TextRepresentation::ModifiedTextPlusHashDigest.new(@md,t_o).composite.dgst    #check
-      unless t_o.is==:code
-        case t_o.obj
-        when /#{Mx[:en_a_o]}[\d*+]+\s+.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}[*+]\d+\s+.+?#{Mx[:en_b_c]}/m
-          en_and_t_o_digest=[]
-          t_o.obj=t_o.obj.
-            gsub(/\s*(#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/m,' \1') #watch
-          t_o_plus_en=t_o.obj.
-            scan(/.*?#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|.*?#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/m)
-          t_o_tail=if t_o.obj =~/(?:.*?#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|.*?#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})+([\s\S]+)/m
-            /(?:.*?#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|.*?#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})+.*/m.match(t_o.obj)[1]
-          else ''
-          end
-          t_o_plus_en << t_o_tail
-          en_and_t_o_digest << endnote_digest(t_o_plus_en)
-          en_and_t_o_digest.join(' ')
-        else #@tuned << t_o + Mx[:id_o] + digest_strip + ':' + digest_all + Mx[:id_c] unless t_o.nil?
-        end
-      else #@tuned << t_o + Mx[:id_o] + digest_strip + ':' + digest_all + Mx[:id_c] unless t_o.nil?
-      end
-      t_o #KEEP intact
-    end
-    def strip_clean_extra_spaces(s)                                            # ao output tuned
-      s=s.dup
-      s=s.gsub(/[ ]+([,.;:?](?:$|\s))/,'\1') unless s =~/#{Mx[:en_a_o]}|#{Mx[:en_b_o]}/
-      s=s.gsub(/ [ ]+/,' ').
-        gsub(/^ [ ]+/,'').
-        gsub(/ [ ]+$/,'').
-        gsub(/((?:#{Mx[:fa_bold_c]}|#{Mx[:fa_italics_c]})')[ ]+(s )/,'\1\2').
-        gsub(/((?:#{Mx[:fa_bold_c]}|#{Mx[:fa_italics_c]})')[ ]+(s )/,'\1\2')
-    end
-  end
-end
-__END__
diff --git a/lib/sisu/current/ao_idx.rb b/lib/sisu/current/ao_idx.rb
deleted file mode 100644 (file)
index defad2c..0000000
+++ /dev/null
@@ -1,422 +0,0 @@
-# encoding: utf-8
-=begin
-
-* Name: SiSU
-
-** Description: documents, structuring, processing, publishing, search
-*** system environment, resource control and configuration details
-
-** Author: Ralph Amissah
-  <ralph@amissah.com>
-  <ralph.amissah@gmail.com>
-
-** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-  2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
-  All Rights Reserved.
-
-** License: GPL 3 or later:
-
-  SiSU, a framework for document structuring, publishing and search
-
-  Copyright (C) Ralph Amissah
-
-  This program is free software: you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by the Free
-  Software Foundation, either version 3 of the License, or (at your option)
-  any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT
-  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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>
-
-** Git
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao_idx.rb;hb=HEAD>
-
-=end
-module SiSU_AO_BookIndex
-  class BookIndex
-    def initialize(md,data,env=nil)
-      @md,@data,@env=md,data,env
-      @rgx_idx=/#{Mx[:idx_o]}(?:.+?)#{Mx[:idx_c]}\s*/
-      @rgx_idx_ocn_seg=/(.+?)~(\d+)~(\S+)/
-      @rgx_idx_ocn=/(.+?)~(\d+)/
-      @env ||=SiSU_Env::InfoEnv.new(@md.fns)
-    end
-    def indexing_song
-      data=@data
-      data,
-        sisu_markup_idx_rel,
-        sisu_markup_idx_rel_html_seg,
-        html_idx,xhtml_idx=
-          extract_book_index(data)
-      data=
-        clean_and_insert_index(
-          data,
-          sisu_markup_idx_rel_html_seg
-        )
-      [
-        data,
-        sisu_markup_idx_rel,
-        sisu_markup_idx_rel_html_seg,
-        html_idx,
-        xhtml_idx,
-      ]
-    end
-    def extract_book_index(data)
-      tuned_file=[]
-      idx_array=[]
-      data.each do |dob|
-        if (dob.is ==:heading \
-        || dob.is ==:heading_insert) \
-        && dob.ln==4
-          @seg=dob.name
-        end
-        if defined? dob.idx \
-        and dob.idx.is_a?(Hash)
-          idx_array << {
-            idx: dob.idx,
-            ocn: dob.ocn,
-            seg: @seg
-          }
-        end
-        tuned_file << dob if dob
-      end
-      if idx_array.length > 0
-        the_idx=construct_book_index(idx_array)
-        if @md.book_idx
-          idx=index(the_idx)
-          sisu_markup_idx_rel,sisu_markup_idx_rel_html_seg,html_idx,  xhtml_idx=
-            idx[:sst_rel],    idx[:sst_rel_html_seg],      idx[:html],idx[:xhtml]
-        else
-          sisu_markup_idx_rel=
-            sisu_markup_idx_rel_html_seg=
-            html_idx=
-            xhtml_idx=
-            nil
-        end
-      end
-      [
-        tuned_file,
-        sisu_markup_idx_rel,
-        sisu_markup_idx_rel_html_seg,
-        html_idx,
-        xhtml_idx,
-      ]
-    end
-    def construct_book_index(idx_array)
-      the_idx={}
-      idx_array.each do |idx|
-        idx[:idx].each_pair do |term,term_info|
-          location=(term_info[:plus].to_i > 0) \
-          ? (%{#{idx[:ocn]}-#{idx[:ocn].to_i + term_info[:plus].to_i}})
-          : idx[:ocn].to_s
-          the_idx[term]={} \
-            unless the_idx[term] \
-            and defined? the_idx[term]
-          the_idx[term]['node_0_terms']=[] \
-            unless the_idx[term]['node_0_terms'] \
-            and defined? the_idx[term]['node_0_terms']
-          the_idx[term]['node_0_terms'] << { ocn: idx[:ocn], range: location, seg: idx[:seg] }
-          if term_info[:sub].is_a?(Array) \
-          and term_info[:sub].length > 0
-            term_info[:sub].each do |y|
-              y.each_pair do |subterm,subterm_info|
-                location=(subterm_info[:plus].to_i > 0) \
-                ? (%{#{idx[:ocn]}-#{idx[:ocn].to_i + subterm_info[:plus].to_i}})
-                : idx[:ocn].to_s
-                the_idx[term]={} \
-                  unless the_idx[term] \
-                  and defined? the_idx[term]
-                the_idx[term]['node_0_terms']=[] \
-                  unless the_idx[term]['node_0_terms']\
-                  and    defined? the_idx[term]['node_0_terms']
-                the_idx[term]['node_1_subterms']={} \
-                  unless the_idx[term]['node_1_subterms'] \
-                  and defined? the_idx[term]['node_1_subterms']
-                the_idx[term]['node_1_subterms'][subterm]=[] \
-                  unless the_idx[term]['node_1_subterms'][subterm] \
-                  and defined? the_idx[term]['node_1_subterms'][subterm]
-                the_idx[term]['node_1_subterms'][subterm] <<
-                  { ocn: idx[:ocn], range: location, seg: idx[:seg] }
-              end
-            end
-          end
-        end
-      end
-      the_idx=the_idx.sort
-      the_idx
-    end
-    def clean_xml(str)
-      str=str.gsub(/&/,'&amp;')
-      str
-    end
-    def index(the_idx)
-      @x=1
-      idx={}
-      idx[:sst_rel_html_seg],idx[:sst_rel],idx[:html],idx[:xhtml]=
-        [],                  [],           [],        []
-      h={
-        obj: Mx[:br_page]
-      }
-      o=SiSU_AO_DocumentStructure::ObjectLayout.new.break(h)
-      idx[:sst_rel_html_seg] << o
-      idx[:sst_rel] << o
-      h={
-        lv: '1',
-        name: 'index',
-        obj: "Index"
-      }
-      o=SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h)
-      idx[:sst_rel_html_seg] << o
-      idx[:sst_rel] << o
-      h={
-        lv: '4',
-        name: 'idx',
-        obj: " [Index] #{Mx[:pa_non_object_dummy_heading]}"
-      }
-      o=SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h)
-      idx[:sst_rel_html_seg] << o
-      idx[:sst_rel] << o
-      alph=%W[9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]
-      idx[:html] << '<p>'
-      idx[:xhtml] << '<p>'
-      alph.each do |x|
-        if x =~/[0-9]/
-          idx[:html] << ''
-          idx[:xhtml] << ''
-        else
-          idx[:html] <<
-            %{<a href="##{x}">#{x}</a>,#{$ep[:hsp]}}
-          idx[:xhtml] <<
-            %{<a href="##{x.downcase}">#{x}</a>,#{$ep[:hsp]}}
-        end
-      end
-      idx[:html] << '</p>'
-      idx[:xhtml] << '</p>'
-      letter=alph.shift
-      idx[:html] <<
-        %{\n<p class="book_index_lev1"><a name="numeral"></a></p>}
-      idx[:xhtml] <<
-        %{\n<p class="letter" id="numeral">0 - 9</p>}
-      the_idx.each do |i|
-        i.each do |x|
-          if x.is_a?(String)
-            f=/^(\S)/.match(x)[1]
-            if letter < f
-              while letter < f
-                if alph.length > 0
-                  letter=alph.shift
-                  idx[:html] <<
-                    %{\n<p class="letter"><a name="#{letter}">#{letter}</a></p><p class="book_index_lev1"><a name="#{letter.downcase}"> </a></p>}
-                  idx[:xhtml] <<
-                    %{\n<p class="letter" id="#{letter.downcase}">#{letter}</p>}
-                else break
-                end
-              end
-            end
-            idx[:sst_rel_html_seg] <<
-              %{\n\n#{Mx[:fa_bold_o]}#{x},#{Mx[:fa_bold_c]} }
-            idx[:sst_rel] <<
-              %{\n\n#{Mx[:fa_bold_o]}#{x},#{Mx[:fa_bold_c]} }
-            aname=x.gsub(/\s+/,'_')
-            idx[:html] <<
-              %{\n<p class="book_index_lev1"><a name="#{aname}"><b>#{x}</b></a>, }
-            c=clean_xml(x.dup)
-            idx[:xhtml] <<
-              %{\n<p class="book_index_lev1"><b>#{c}</b>, }
-            @o=idx[:sst_rel_html_seg].index(idx[:sst_rel_html_seg].last)
-            @t=idx[:sst_rel].index(idx[:sst_rel].last)
-            @q=idx[:html].index(idx[:html].last)
-            @r=idx[:xhtml].index(idx[:xhtml].last)
-            print "\n" + x + ', ' if @md.opt.act[:verbose_plus][:set]==:on
-          elsif x.is_a?(Array)
-            p 'array error? -->'
-            print x
-          elsif x.is_a?(Hash)
-            if x['node_0_terms'].is_a?(Array)
-              x['node_0_terms'].each do |a|
-                if a[:range]
-                  idx[:sst_rel_html_seg][@o]=
-                    idx[:sst_rel_html_seg][@o] +
-                    %{#{Mx[:lnk_o]}#{a[:range]}#{Mx[:lnk_c]}#{Mx[:rel_o]}/#{a[:seg]}.html##{a[:ocn]}#{Mx[:rel_c]}, }
-                  idx[:sst_rel][@t]=
-                    idx[:sst_rel][@t] +
-                    %{#{Mx[:lnk_o]}#{a[:range]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{a[:ocn]}#{Mx[:rel_c]}, }
-                  idx[:html][@q]=
-                    idx[:html][@q] +
-                    %{<a href="#{a[:seg]}.html##{a[:ocn]}">#{a[:range]}</a>, }
-                  idx[:xhtml][@q]=
-                    idx[:xhtml][@q] +
-                    %{<a href="#{a[:seg]}.xhtml#o#{a[:ocn]}">#{a[:range]}</a>, }
-                  print a[:range] + ', ' if @md.opt.act[:verbose_plus][:set]==:on
-                elsif a[:ocn]
-                  idx[:sst_rel_html_seg][@o]=
-                    idx[:sst_rel_html_seg][@o] +
-                    %{#{Mx[:lnk_o]}#{a[:ocn]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{a[:seg]}.html##{a[:ocn]}#{Mx[:rel_c]}, }
-                  idx[:sst_rel][@t]=
-                    idx[:sst_rel][@t] +
-                    %{#{Mx[:lnk_o]}#{a[:ocn]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{a[:ocn]}#{Mx[:rel_c]}, }
-                  idx[:html][@q]=
-                    idx[:html][@q] +
-                    %{<a href="#{a[:seg]}.html##{a[:ocn]}">#{a[:ocn]}</a>, }
-                  idx[:xhtml][@q]=
-                    idx[:xhtml][@q] +
-                    %{<a href="#{a[:seg]}.xhtml#o#{a[:ocn]}">#{a[:ocn]}</a>, }
-                  print a[:ocn] + ', ' if @md.opt.act[:verbose_plus][:set]==:on
-                else p 'error'
-                end
-              end
-              idx[:html][@q]=idx[:html][@q] + '</p>'
-              idx[:xhtml][@r]=idx[:xhtml][@r] + '</p>'
-            end
-            if x['node_1_subterms']
-             x['node_1_subterms'].sort.each do |k,y|
-                if k !~/node_0_terms/
-                  idx[:sst_rel_html_seg][@o]=
-                    idx[:sst_rel_html_seg][@o] +
-                    %{#{k}, }
-                  idx[:sst_rel][@t]=
-                    idx[:sst_rel][@t] +
-                    %{#{k}, }
-                  idx[:html][@q]=
-                    idx[:html][@q] +
-                    %{\n<p class="book_index_lev2">#{k}, }
-                  c=clean_xml(k.dup)
-                  idx[:xhtml][@r]=
-                    idx[:xhtml][@r] +
-                    %{\n<p class="book_index_lev2">#{c}, }
-                  print "\n\t" + k + ', ' if @md.opt.act[:verbose_plus][:set]==:on
-                  y.each do |z|
-                    if z[:range]
-                      idx[:sst_rel_html_seg][@o]=
-                        idx[:sst_rel_html_seg][@o] +
-                        %{#{Mx[:lnk_o]}#{z[:range]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{z[:seg]}.html##{z[:ocn]}#{Mx[:rel_c]}, }
-                      idx[:sst_rel][@t]=
-                        idx[:sst_rel][@t] +
-                        %{#{Mx[:lnk_o]}#{z[:range]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{z[:ocn]}#{Mx[:rel_c]}, }
-                      idx[:html][@q]=
-                        idx[:html][@q] +
-                        %{<a href="#{z[:seg]}.html##{z[:ocn]}">#{z[:range]}</a>, }
-                      idx[:xhtml][@q]=
-                        idx[:xhtml][@q] +
-                        %{<a href="#{z[:seg]}.xhtml#o#{z[:ocn]}">#{z[:range]}</a>, }
-                      print z[:range] + ', ' if @md.opt.act[:verbose_plus][:set]==:on
-                    elsif z[:ocn]
-                      idx[:sst_rel_html_seg][@o]=
-                        idx[:sst_rel_html_seg][@o] +
-                        %{#{Mx[:lnk_o]}#{z[:ocn]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{z[:seg]}.html##{z[:ocn]}#{Mx[:rel_c]}, }
-                      idx[:sst_rel][@t]=
-                        idx[:sst_rel][@t] +
-                        %{#{Mx[:lnk_o]}#{z[:ocn]}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{z[:ocn]}#{Mx[:rel_c]}, }
-                      idx[:html][@q]=
-                        idx[:html][@q] +
-                        %{<a href="#{z[:seg]}.html##{z[:ocn]}">#{z[:ocn]}</a>, }
-                      idx[:xhtml][@q]=
-                        idx[:xhtml][@q] +
-                        %{<a href="#{z[:seg]}.xhtml#o#{z[:ocn]}">#{z[:ocn]}</a>, }
-                      print z[:ocn] + ', ' if @md.opt.act[:verbose_plus][:set]==:on
-                    else p 'error'
-                    end
-                  end
-                  idx[:html][@q]=idx[:html][@q] + '</p>'
-                  idx[:xhtml][@r]=idx[:xhtml][@r] + '</p>'
-                end
-              end
-            end
-            @x +=1
-          end
-        end
-      end
-      print "\n" if @md.opt.act[:verbose_plus][:set]==:on
-      idx
-    end
-    def screen_print(the_idx)
-      the_idx.each do |i|
-        i.each do |x|
-          if x.is_a?(String)
-            print "\n" + x + ', '
-          elsif x.is_a?(Array)
-            p 'array error? -->'
-            print x
-          elsif x.is_a?(Hash)
-            if x['node_0_terms'].is_a?(Array)
-              x['node_0_terms'].each do |a|
-                if a[:range]
-                  print a[:range] + ', '
-                elsif a[:ocn]
-                  print a[:ocn] + ', '
-                else p 'error'
-                end
-              end
-            end
-            if x['node_1_subterms']
-              x['node_1_subterms'].sort.each do |k,y|
-                if k !~/node_0_terms/
-                  print "\n\t" + k + ', '
-                  y.each do |z|
-                    if z[:range]
-                      print z[:range] + ', '
-                    elsif z[:ocn]
-                      print z[:ocn] + ', '
-                    else p 'error'
-                    end
-                  end
-                end
-              end
-            end
-          end
-        end
-      end
-    end
-    def output_idx(idx)
-      if @md.book_idx
-        path="#{@env.path.output}/#{@md.fnb}"
-        Dir.mkdir(path) unless FileTest.directory?(path)
-        puts "#{path}/#{@md.fn[:book_idx_html]} #{__FILE__}::#{__LINE__}"
-        html_index_file=File.new("#{path}/#{@md.fn[:book_idx_html]}",'w')
-        idx[:html].each {|x| html_index_file << x }
-        html_index_file.close
-      end
-    end
-    def clean_and_insert_index(data,sisu_markup_idx)
-      tuned_file=[]
-      data.each do |dob|
-        tuned_file << dob
-        if dob.obj =~/#{Mx[:br_endnotes]}/ \
-        and sisu_markup_idx
-          sisu_markup_idx.each do |idx|
-            tuned_file << idx
-          end
-        end
-      end
-      tuned_file
-    end
-    def clean_index(data)                                  #check on use of dob
-      data.each.map do |para|
-        para.gsub(/\n*#{@rgx_idx}/m,'')
-      end
-    end
-  end
-end
-__END__
diff --git a/lib/sisu/current/ao_images.rb b/lib/sisu/current/ao_images.rb
deleted file mode 100644 (file)
index 38fde81..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-# encoding: utf-8
-=begin
-
-* Name: SiSU
-
-** Description: documents, structuring, processing, publishing, search
-*** system environment, resource control and configuration details
-
-** Author: Ralph Amissah
-  <ralph@amissah.com>
-  <ralph.amissah@gmail.com>
-
-** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-  2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
-  All Rights Reserved.
-
-** License: GPL 3 or later:
-
-  SiSU, a framework for document structuring, publishing and search
-
-  Copyright (C) Ralph Amissah
-
-  This program is free software: you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by the Free
-  Software Foundation, either version 3 of the License, or (at your option)
-  any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT
-  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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>
-
-** Git
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao_images.rb;hb=HEAD>
-
-=end
-module SiSU_AO_Images
-  class Images
-    begin
-      require 'RMagick'
-      include Magick
-    rescue LoadError
-      #SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).mark('RMagic NOT FOUND')
-    end
-    def initialize(md,data)
-      @md,@data=md,data
-    end
-    def images
-      data=@data
-      @rmgk=false
-      imagemagick_=true      #imagemagick_=SiSU_Env::InfoSettings.new.program?('rmagick')
-      if imagemagick_
-        begin
-          @rmgk=SiSU_Env::Load.new('RMagick').prog
-        rescue
-          @rmgk=false
-        end
-      else
-        if (@md.opt.act[:verbose_plus][:set]==:on \
-        || @md.opt.act[:maintenance][:set]==:on)
-          SiSU_Screen::Ansi.new(
-            @md.opt.act[:color_state][:set],
-            '*WARN* use of RMagick is not enabled in sisurc.yml'
-          ).warn
-        end
-      end
-      data.select do |dob|
-        unless dob.is ==:table
-          dob.obj=dob.obj.strip
-          if dob.obj =~/#{Mx[:lnk_o]}\s*\S+\.(?:png|jpg|gif)(?:\s*|\s+.+)?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)/
-            if dob.obj !~/#{Mx[:lnk_o]}\s*\S+\.(?:png|jpg|gif)\s+\d+x\d+/
-              m=/#{Mx[:lnk_o]}\s*(\S+\.(?:png|jpg|gif))/
-              if imagemagick_
-                imgs=dob.obj.scan(m).flatten
-                img_col=img_row=nil
-                images=imgs.each do |image|
-                  dir=SiSU_Env::InfoEnv.new(@md.fns)
-                  path_image=[
-                    dir.path.image_source_include_local,
-                    dir.path.image_source_include_remote,
-                    dir.path.image_source_include
-                  ]
-                  image_path=nil
-                  path_image.each do |img_pth|
-                    image_path=img_pth
-                    break if FileTest.exist?("#{img_pth}/#{image}")
-                  end
-                  if FileTest.exist?("#{image_path}/#{image}")
-                    if @rmgk
-                      img=Magick::ImageList.new("#{image_path}/#{image}")
-                      img_col,img_row=img.columns,img.rows
-                    else
-                      if (@md.opt.act[:verbose_plus][:set]==:on \
-                      || @md.opt.act[:maintenance][:set]==:on)
-                        SiSU_Screen::Ansi.new(
-                          @md.opt.act[:color_state][:set],
-                          '*WARN* RMagick not present, will attempt to use imagemagick (identify) directly'
-                        ).warn
-                      end
-                      imgk=SiSU_Env::SystemCall.new.imagemagick
-                      gmgk=SiSU_Env::SystemCall.new.graphicsmagick
-                      if imgk or gmgk
-                        if imgk
-                          imgsys=`identify #{image_path}/#{image}`.strip                           #system call
-                        elsif gmgk
-                          imgsys=`gm identify #{image_path}/#{image}`.strip                        #system call
-                        end
-                        img_col,img_row=/(\d+)x(\d+)/m.match(imgsys)[1,2]
-                        img_col,img_row=img_col.to_i,img_row.to_i
-                      else
-                        errmsg='imagemagick or graphicsmagick are required to process images'
-                        if @md.opt.act[:no_stop][:set]==:on
-                          SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).
-                            error("#{errmsg}, proceeding (as requested) without image processing")
-                          break
-                        else
-                          SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).
-                            error("#{errmsg}, STOPPING")
-                          exit
-                        end
-                      end
-                    end
-                    row=((img && defined? img.rows) ? img.rows : img_row)
-                    col=((img && defined? img.columns) ? img.columns : img_col)
-                    if img_col > img_row                                                           #landscape
-                      if img_col> 640
-                        img_col=640
-                        img_row=((1.00*img_col/col)*row).round
-                      end
-                    else                                                                           #portrait
-                      if img_col> 640
-                        img_col=640
-                        img_row=((1.00*img_col/col)*row).round
-                      end
-                      if img_row > 640
-                        img_row=640
-                        img_col=((1.00*img_row/row)*col).round
-                      end
-                    end
-                    dob.obj=dob.obj.gsub(/(#{image})/,"#{image} #{img_col}x#{img_row}")
-                  else
-                    dob.obj=dob.obj.
-                      gsub(/#{Mx[:lnk_o]}\s*(\S+)\.(png|jpg|gif).+?#{Mx[:lnk_c]}(#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)/,
-                        '[ \1 (\2 missing) ]')
-                  end
-                end
-              else
-                images=dob.obj.scan(m) do |image|
-                  SiSU_Screen::Ansi.new(
-                    @md.opt.act[:color_state][:set],
-                    '*WARN* where image dimensions have not been provided RMagick or imagemagick is required',image
-                  ).warn unless @md.opt.act[:quiet][:set]==:on
-                end
-              end
-            end
-          end
-          if dob.obj =~/#{Mx[:lnk_o]}\s*\S+\.(?:png|jpg|gif).+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)/
-            dob.obj=dob.obj.gsub(/(#{Mx[:lnk_o]})\s*(\S+\.(?:png|jpg|gif))\s+/i,'\1\2 ')
-          end
-        end
-        dob unless dob.nil?
-      end
-    end
-  end
-end
-__END__
-imgsys=`identify #{image_path}/#{image}`.strip
diff --git a/lib/sisu/current/ao_metadata.rb b/lib/sisu/current/ao_metadata.rb
deleted file mode 100644 (file)
index 46e80a7..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-# encoding: utf-8
-=begin
-
-* Name: SiSU
-
-** Description: documents, structuring, processing, publishing, search
-*** system environment, resource control and configuration details
-
-** Author: Ralph Amissah
-  <ralph@amissah.com>
-  <ralph.amissah@gmail.com>
-
-** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-  2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
-  All Rights Reserved.
-
-** License: GPL 3 or later:
-
-  SiSU, a framework for document structuring, publishing and search
-
-  Copyright (C) Ralph Amissah
-
-  This program is free software: you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by the Free
-  Software Foundation, either version 3 of the License, or (at your option)
-  any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT
-  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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>
-
-** Git
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao_metadata.rb;hb=HEAD>
-
-=end
-module SiSU_AO_Metadata
-  class Metadata
-    def initialize(md,metad)
-      @md,@metadata=md,metad
-      l=SiSU_Env::StandardiseLanguage.new(@md.opt.lng).language
-      language=l[:n]
-      @tr=SiSU_Translate::Source.new(md,language)
-    end
-    def make_para(obj,ocn)
-      h={
-        obj: obj,
-        ocn: 0
-      }
-      SiSU_AO_DocumentStructure::ObjectPara.new.paragraph(h)
-    end
-    def make_heading(obj,ocn,name,lv,ln)
-      h={
-        lv: lv,
-        ln: ln,
-        name: name,
-        obj: obj,
-        ocn: 0
-      }
-      SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h)
-    end
-    def metadata
-    end
-  end
-end
-__END__
diff --git a/lib/sisu/current/ao_persist.rb b/lib/sisu/current/ao_persist.rb
deleted file mode 100644 (file)
index 72126c9..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-# encoding: utf-8
-=begin
-
-* Name: SiSU
-
-** Description: documents, structuring, processing, publishing, search
-*** document abstraction
-
-** Author: Ralph Amissah
-  <ralph@amissah.com>
-  <ralph.amissah@gmail.com>
-
-** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-  2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
-  All Rights Reserved.
-
-** License: GPL 3 or later:
-
-  SiSU, a framework for document structuring, publishing and search
-
-  Copyright (C) Ralph Amissah
-
-  This program is free software: you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by the Free
-  Software Foundation, either version 3 of the License, or (at your option)
-  any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT
-  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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>
-
-** Git
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao_persist.rb;hb=HEAD>
-
-=end
-module SiSU_AO_Persist
-  class Persist
-    @@persistance=nil
-    attr_accessor :fns, :ao_arr, :idx_arr_sst, :idx_arr_tex, :idx_arr_html, :idx_arr_xhtml, :map_arr_nametags, :map_arr_ocn_htmlseg
-    def initialize(args=nil)
-      @@persistance=args=(args ? args : (@@persistance || persist_init_hash_values))
-      @fns=args[:fns]
-      @ao_arr=args[:ao_arr]
-      @idx_arr_sst=args[:idx_arr_sst]
-      @idx_arr_tex=args[:idx_arr_tex]
-      @idx_arr_html=args[:idx_arr_html]
-      @idx_arr_xhtml=args[:idx_arr_xhtml]
-      @map_arr_nametags=args[:map_arr_nametags]
-      @map_arr_ocn_htmlseg=args[:map_arr_ocn_htmlseg]
-    end
-    def fns
-      @fns
-    end
-    def ao_arr
-      @ao_arr
-    end
-    def idx_arr_sst
-      @idx_arr_sst
-    end
-    def idx_arr_tex
-      @idx_arr_tex
-    end
-    def idx_arr_html
-      @idx_arr_html
-    end
-    def idx_arr_xhtml
-      @idx_arr_xhtml
-    end
-    def map_arr_nametags
-      @map_arr_nametags
-    end
-    def map_arr_ocn_htmlseg
-      @map_arr_ocn_htmlseg
-    end
-    def persist_init_hash_values
-      {
-        fns:                 nil,
-        ao_arr:              [],
-        idx_arr_sst:         [],
-        idx_arr_tex:         [],
-        idx_arr_html:        [],
-        idx_arr_xhtml:       [],
-        map_arr_nametags:    [],
-        map_arr_ocn_htmlseg: [],
-      }
-    end
-    def persist_init
-      @@persistance=nil
-      Persist.new(persist_init_hash_values)
-    end
-  end
-  class PersistDocStructExt
-    @@persist=nil
-    attr_accessor :ocn, :lng, :lng_is, :code, :lngsyn, :poem, :block, :box, :group, :alt, :quote, :table, :table_to
-    def initialize(args=nil)
-      @@persist=args=(args ? args : (@@persist || persist_init_hash_values))
-      @ocn=args[:ocn]
-      @lng=args[:lng]
-      @lng_is=args[:lng_is]
-      @code=args[:code]
-      @lngsyn=args[:lngsyn]
-      @poem=args[:poem]
-      @block=args[:block]
-      @box=args[:box]
-      @group=args[:group]
-      @alt=args[:alt]
-      @quote=args[:quote]
-      @table=args[:table]
-      @table_to=args[:table_to]
-    end
-    def ocn
-      @ocn
-    end
-    def lng
-      @lng
-    end
-    def lng_is
-      @lng_is
-    end
-    def code
-      @code
-    end
-    def lngsyn
-      @lngsyn
-    end
-    def poem
-      @poem
-    end
-    def block
-      @block
-    end
-    def box
-      @box
-    end
-    def group
-      @group
-    end
-    def alt
-      @alt
-    end
-    def quote
-      @quote
-    end
-    def table
-      @table
-    end
-    def table_to
-      @table_to
-    end
-    def persist_init_hash_values
-      {
-        ocn:         :on,
-        lng:         :off,
-        lng_is:      :doc_default,
-        code:        :off,
-        lngsyn:      :txt,
-        poem:        :off,
-        block:       :off,
-        box:         :off,
-        group:       :off,
-        alt:         :off,
-        quote:       :off,
-        table:       :off,
-        table_to:    :off,
-      }
-    end
-    def persist_init
-      @@persist=nil
-      PersistDocStructExt.new(persist_init_hash_values)
-    end
-  end
-end
-__END__
diff --git a/lib/sisu/current/ao_references.rb b/lib/sisu/current/ao_references.rb
deleted file mode 100644 (file)
index 9a5e195..0000000
+++ /dev/null
@@ -1,502 +0,0 @@
-# encoding: utf-8
-=begin
-
-* Name: SiSU
-
-** Description: documents, structuring, processing, publishing, search
-*** system environment, resource control and configuration details
-
-** Author: Ralph Amissah
-  <ralph@amissah.com>
-  <ralph.amissah@gmail.com>
-
-** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-  2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
-  All Rights Reserved.
-
-** License: GPL 3 or later:
-
-  SiSU, a framework for document structuring, publishing and search
-
-  Copyright (C) Ralph Amissah
-
-  This program is free software: you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by the Free
-  Software Foundation, either version 3 of the License, or (at your option)
-  any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT
-  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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>
-
-** Git
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao_references.rb;hb=HEAD>
-
-=end
-module SiSU_AO_References
-  class Bibliography
-    def initialize(md,data)
-      @md,@data=md,data
-    end
-    def sort_bibliography_array_by_author_year_title(bib)
-      if bib
-        bib.compact.sort_by do |c|
-          [c[:author_arr][0],c[:year],c[:title]]
-        end
-      end
-    end
-    def citation_in_prepared_bibliography(cite)
-      @cite=cite
-      def article
-        {
-           is:         :article,
-           author_raw: nil,
-           author:     nil,
-           author_arr: nil,
-           title:      nil,
-           language:   nil,
-           journal:    nil,
-           volume:     nil,
-           editor:     nil,
-           year:       nil,
-           where:      nil,
-           url:        nil,
-           note:       nil,
-           short_name: nil,
-           id:         nil,
-        }
-      end
-      def book
-        {
-           is:         :book,
-           author_raw: nil,
-           author:     nil,
-           author_arr: nil,
-           #editor:     nil,
-           title:      nil,
-           subtitle:   nil,
-           fulltitle:  nil,
-           language:   nil,
-           publisher:  nil,
-           edition:    nil,
-           year:       nil,
-           where:      nil,
-           url:        nil,
-           note:       nil,
-           short_name: nil,
-           id:         nil,
-        }
-      end
-      def citation_metadata
-        type=if @cite =~/^jo: \S+/m
-          :article
-        elsif @cite =~/^au: \S+/m
-          :book
-        end
-        if type
-          citeblock=@cite.split("\n")
-          if type == :article
-            citation=article
-            citeblock.select do |meta|
-              case meta
-              when /^((?:au|author):\s+)\S+/ #req
-                citation[:author_raw]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:ti|title):\s+)\S+/ #req
-                citation[:title]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:lng|language):\s+)\S+/
-                citation[:language]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:jo|journal):\s+)\S+/ #req?
-                citation[:journal]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:vo|volume):\s+)\S+/
-                citation[:volume]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:edr|editor):\s+)\S+/
-                citation[:editor]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:yr|year):\s+)\S+/ #req?
-                citation[:year]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:pst|publisher_state):\s+)\S+/
-                citation[:where]=/^#{$1}(.+)/.match(meta)[1]
-              when /^(url:\s+)\S+/
-                citation[:url]=/^#{$1}(.+)/.match(meta)[1]
-              when /^(note:\s+)\S+/
-                citation[:note]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:sn|shortname):\s+)\S+/
-                citation[:short_name]=/^#{$1}(.+)/.match(meta)[1]
-              when /^(id:\s+)\S+/
-                citation[:id]=/^#{$1}(.+)/.match(meta)[1]
-              end
-            end
-          end
-          if type == :book
-            citation=book
-            citeblock.select do |meta|
-              case meta
-              when /^((?:au|author):\s+)\S+/ #req
-                citation[:author_raw]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:ti|title):\s+)\S+/ #req
-                citation[:title]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:st|subtitle):\s+)\S+/
-                citation[:subtitle]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:lng|language):\s+)\S+/
-                citation[:language]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:pb|publisher):\s+)\S+/
-                citation[:publisher]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:edn|edition):\s+)\S+/
-                citation[:edition]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:yr|year):\s+)\S+/ #req?
-                citation[:year]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:pst|publisher_state):\s+)\S+/
-                citation[:where]=/^#{$1}(.+)/.match(meta)[1]
-              when /^(url:\s+)\S+/
-                citation[:url]=/^#{$1}(.+)/.match(meta)[1]
-              when /^(note:\s+)\S+/
-                citation[:note]=/^#{$1}(.+)/.match(meta)[1]
-              when /^((?:sn|shortname):\s+)\S+/
-                citation[:short_name]=/^#{$1}(.+)/.match(meta)[1]
-              when /^(id:\s+)\S+/
-                citation[:id]=/^#{$1}(.+)/.match(meta)[1]
-              end
-            end
-          end
-          if citation[:is]==:book
-            if citation[:subtitle]
-              citation[:fulltitle] = citation[:title] \
-              + ' - ' \
-              + citation[:subtitle]
-            else
-              citation[:fulltitle] = citation[:title]
-            end
-          end
-          citation[:author_arr]=citation[:author_raw].split(/;\s*/)
-          citation[:author]=citation[:author_arr].map do |author|
-            author.gsub(/(.+?),\s+(.+)/,'\2 \1').strip
-          end.join(', ').strip
-          unless citation[:short_name]
-            citation[:short_name]=%{#{c[:author]}, "#{c[:short_name]}" (#{c[:date]})}
-          end
-        end
-        citation
-      end
-      self
-    end
-    def biblio_extraction
-      bibliography=[]
-      biblioflag=false
-      code_flag=false
-      flag_code_curly=:not_code_curly
-      flag_code_tics=:not_code_tics
-      @data=@data.select do |t_o|
-        if t_o =~/^code\{/
-          flag_code_curly=:code_curly
-        elsif t_o =~/^\}code/
-          flag_code_curly=:not_code_curly
-        elsif t_o =~/^``` code/
-          flag_code_tics=:code_tics
-        elsif flag_code_tics ==:code_tics \
-        and t_o =~/^```/
-          flag_code_tics=:not_code_tics
-        end
-        code_flag=if flag_code_curly==:code_curly \
-        or flag_code_tics==:code_tics
-          true
-        else false
-        end
-        unless code_flag
-          if @md.flag_auto_biblio
-            if t_o =~/^1~biblio(?:graphy)?/
-              biblioflag = true
-              t_o
-            elsif t_o =~/^:?[B-D1]~/
-              biblioflag = false
-              t_o
-            elsif biblioflag
-              if t_o !~/\A%+ /
-                bibliography << citation_in_prepared_bibliography(t_o).citation_metadata
-                next
-              else
-                t_o
-              end
-            else t_o
-            end
-          elsif @md.flag_biblio
-            if t_o =~/^1~biblio(?:graphy)?/
-              biblioflag = true
-              next
-            elsif t_o =~/^:?[B-D]~/
-              next
-            elsif t_o =~/^:?[B-D1]~/
-              biblioflag = false
-              t_o
-            elsif biblioflag
-              if t_o !~/\A%+ /
-                bibliography << t_o
-                next
-              else
-                t_o
-              end
-            else t_o
-            end
-          else t_o
-          end
-        else t_o
-        end
-      end.compact
-      if @md.flag_auto_biblio \
-      and bibliography.length > 0
-        data_new=[]
-        bibliography=sort_bibliography_array_by_author_year_title(bibliography)
-        @data.select do |t_o|
-          if t_o =~/^1~biblio(?:graphy)?/
-            bibliography.each do  |c|
-              if c[:is]==:book
-                <<-WOK
-
-!_ #{c[:author]}
-/{"#{c[:fulltitle]}"}/ #{c[:publisher]} (#{c[:year]})
-                WOK
-              elsif c[:is]==:article
-                <<-WOK
-
-!_ #{c[:author]}
-/{"#{c[:title]}"}/ #{c[:journal]} (#{c[:year]})
-                WOK
-              end
-            end
-          else data_new << t_o
-          end
-        end
-        @data=data_new
-      end
-      [@data,bibliography]
-    end
-  end
-  class Citations
-    def initialize(md='',data='')
-      @md,@data=md,data
-      #@biblio=[]
-    end
-    def songsheet
-      tuned_file,citations=citations_scan(@data)
-      [tuned_file,citations]
-    end
-    def sort_bibliography_array_by_author_year(bib)
-      bib.sort_by do |c|
-        [c[:author_raw],c[:year]]
-        #[c[:author_arr][0],c[:year],c[:title]]
-      end
-    end
-    def citations_regex
-      def pages_pattern
-        %r{(?:[,.:]?\s+(?:p{1,2}\.?\s+)?(?:\d+--?\d+)[,.]?\s+)?}
-      end
-      def editor_pattern
-        %r{(?<editor>(?:editor|edited by)\s+.+?)}
-      end
-      def year_pattern
-        %r{[(\[]?(?<year>\d{4})[\])]?[.,]?}
-      end
-      def authors_year_title_publication_editor_pages
-        /(?<authors>.+?)\s+#{year_pattern}\s+"(?<title>.+?)"\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})\s+#{editor_pattern}#{pages_pattern}/m # note ed. is usually edition rather than editor
-      end
-      def authors_title_publication_year_editor_pages
-        /(?<authors>.+?)\s+"(?<title>.+?)"\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})\s+#{year_pattern}\s+#{editor_pattern}#{pages_pattern}/m # note ed. is usually edition rather than editor
-      end
-      def authors_title_publication_editor_year_pages ###
-        /(?<authors>.+?)\s+"(?<title>.+?)"\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})\s+ed.\s+#{editor_pattern}#{year_pattern}#{pages_pattern}/m
- # note ed. is usually edition rather than editor
-      end
-      def authors_title_publication_editor_pages_year ###
-        /(?<authors>.+?)\s+"(?<title>.+?)"\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})\s+#{editor_pattern}#{pages_pattern}#{year_pattern}/m # note ed. is usually edition rather than editor
-      end
-      def authors_year_title_publication_pages
-        /(?<authors>.+?)\s+#{year_pattern}\s+"(?<title>.+?)"\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})[,.;]?#{pages_pattern}/m
-      end
-      def authors_title_publication_year_pages
-        /(?<authors>.+?)\s+"(?<title>.+?)"\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})\s+#{year_pattern}\s+#{pages_pattern}/m
-      end
-      def authors_title_publication_pages_year ###
-        /(?<authors>.+?)\s+"(?<title>.+?)"\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})#{pages_pattern}#{year_pattern}/m
-      end
-      def authors_year_publication_pages
-        /(?<authors>.+?)\s+#{year_pattern}\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})#{pages_pattern}/m
-      end
-      def authors_publication_year_pages
-        /(?<authors>.+?)\s+(?:#{Mx[:fa_italics_o]}|#{Mx[:srcrgx_italics_o]})(?<publication>.+?)(?:#{Mx[:fa_italics_c]}|#{Mx[:srcrgx_italics_c]})[,.;]?\s+(?<publisher>.+?)?#{year_pattern}#{pages_pattern}[.;]?/m
-      end
-      self
-    end
-    def authors?(citations)
-      citations.each.map do |b|
-        if b =~ /^.+\s+::.+?:$/
-          c=/^(?<citation>.+?)\s+::(?<shortref>.+?):$/.match(b)
-          {
-            citation: c[:citation],
-            shortref: c[:shortref],
-            c[:shortref].to_s => c[:citation]
-          }
-        else { citation: b }
-        end
-      end
-    end
-    def long_and_short_ref?(citations) #could be useful, keep ... ectract shortref
-      citations.each.map do |b|
-        if b =~ /^.+\s+::.+?:$/
-          c=/^(?<citation>.+?)\s+::(?<shortref>.+?):$/.match(b)
-          {
-            citation: c[:citation],
-            shortref: c[:shortref],
-            c[:shortref].to_s => c[:citation]
-          }
-        else { citation: b }
-        end
-      end
-    end
-    def citation_detail(citations) #could be useful, keep ... extract shortref
-      bibahash=[]
-      number=0
-      missed=0
-      citations.select do |b|
-        z=if b =~citations_regex.authors_year_title_publication_editor_pages
-          c=citations_regex.authors_year_title_publication_editor_pages.match(b)
-          {
-            is: :article,
-            author_raw: c[:authors],
-            year: c[:year],
-            title: c[:title],
-            publication: c[:publication],
-            editor: c[:editor],
-          }
-        elsif b =~citations_regex.authors_title_publication_year_editor_pages
-          c=citations_regex.authors_title_publication_year_editor_pages.match(b)
-          {
-            is: :article,
-            author_raw: c[:authors],
-            year: c[:year],
-            title: c[:title],
-            publication: c[:publication],
-            editor: c[:editor],
-          }
-        elsif b =~citations_regex.authors_title_publication_editor_year_pages
-          c=citations_regex.authors_title_publication_editor_year_pages.match(b)
-          {
-            is: :article,
-            author_raw: c[:authors],
-            year: c[:year],
-            title: c[:title],
-            publication: c[:publication],
-            editor: c[:editor],
-          }
-        elsif b =~citations_regex.authors_title_publication_editor_pages_year
-          c=citations_regex.authors_title_publication_editor_pages_year.match(b)
-          {
-            is: :article,
-            author_raw: c[:authors],
-            year: c[:year],
-            title: c[:title],
-            publication: c[:publication],
-            editor: c[:editor],
-          }
-        elsif b =~citations_regex.authors_year_title_publication_pages
-          c=citations_regex.authors_year_title_publication_pages.match(b)
-          {
-            is: :article,
-            author_raw: c[:authors],
-            year: c[:year],
-            title: c[:title],
-            publication: c[:publication],
-          }
-        elsif b =~citations_regex.authors_title_publication_year_pages
-          c=citations_regex.authors_title_publication_year_pages.match(b)
-          {
-            is: :article,
-            author_raw: c[:authors],
-            year: c[:year],
-            title: c[:title],
-            publication: c[:publication],
-          }
-        elsif b =~citations_regex.authors_year_publication_pages
-          c=citations_regex.authors_year_publication_pages.match(b)
-          {
-            is: :book,
-            author_raw: c[:authors],
-            year: c[:year],
-            publication: c[:publication],
-          }
-        elsif b =~citations_regex.authors_publication_year_pages
-          c=citations_regex.authors_publication_year_pages.match(b)
-          {
-            is: :book,
-            author_raw: c[:authors],
-            year: c[:year],
-            publication: c[:publication],
-          }
-        else b
-        end
-        if not z.is_a?(NilClass) \
-        and z.is_a?(Hash) \
-        and z[:author_raw].length > 0
-          z[:author_arr]=z[:author_raw].split(/;\s*/)
-          z[:author]=z[:author_arr].map do |author|
-            author.gsub(/(.+?),\s+(.+)/,'\2 \1').strip
-          end.join(', ').strip
-          if @md.opt.act[:verbose_plus][:set]==:on \
-          || @md.opt.act[:maintenance][:set]==:on
-            number +=1 if z.is_a?(Hash)
-            missed +=1 if z.is_a?(String)
-            (z.is_a?(Hash)) \
-            ? (p '[' + number.to_s + '] ' + z.to_s)
-            : (p '<' + missed.to_s + '> ' + z.to_s)
-          end
-        end
-        bibahash << z if z.is_a?(Hash)
-      end
-      bibahash=sort_bibliography_array_by_author_year(bibahash.compact)
-      bibahash
-    end
-    def citations_scan(data)
-      citations=[]
-      #short_ref=[]
-      tuned_file = data.compact.select do |dob|
-        if dob.is !=:meta \
-        && dob.is !=:comment \
-        && dob.is !=:code \
-        && dob.is !=:table
-          if dob.obj =~/\.:.+?:\./
-            citations << dob.obj.scan(/\.:\s*(.+?)\s*:\./m)
-            #short_ref << dob.obj.scan(/\.:\s+(.+?)\s+::([^:]+)::\./m) #look at later
-            ##short_ref << dob.obj.scan(/\.:\s+(.+?)\s+::(.+?)::\./m) #look at later
-            #short_ref << dob.obj.scan(/\.:\s*(.+?)\s*(::(.+?):)?:\./m) #look at later
-            citations=citations.flatten.compact
-            dob.obj=dob.obj.   #remove citations delimiter & helpers from text
-              gsub(/\.:|:\./,'')
-          end
-        end
-        dob if dob.is_a?(Object)
-      end
-      #bib=long_and_short_ref?(citations) #could be useful, keep ... extract shortref
-      citations=citation_detail(citations)
-      [tuned_file,citations]
-    end
-  end
-end
-__END__
diff --git a/lib/sisu/current/ao_syntax.rb b/lib/sisu/current/ao_syntax.rb
deleted file mode 100644 (file)
index c310866..0000000
+++ /dev/null
@@ -1,640 +0,0 @@
-# encoding: utf-8
-=begin
-
-* Name: SiSU
-
-** Description: documents, structuring, processing, publishing, search
-*** Syntax for markup, input markup syntaxes, determined here
-
-** Author: Ralph Amissah
-  <ralph@amissah.com>
-  <ralph.amissah@gmail.com>
-
-** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-  2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
-  All Rights Reserved.
-
-** License: GPL 3 or later:
-
-  SiSU, a framework for document structuring, publishing and search
-
-  Copyright (C) Ralph Amissah
-
-  This program is free software: you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by the Free
-  Software Foundation, either version 3 of the License, or (at your option)
-  any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT
-  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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>
-
-** Git
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/ao_syntax.rb;hb=HEAD>
-
-=end
-module SiSU_AO_Syntax
-  class Words
-    def initialize(line,md,mkp)
-      @line,@md,@mkp=line,md,mkp
-    end
-  end
-  class Markup
-    def initialize(md='',data='',biblio=[])
-      @md,@data,@bibliography=md,data,biblio
-      @data_new=[]
-      url_and_stub=SiSU_Env::InfoEnv.new.url
-      @output_url="#{url_and_stub.remote}"
-      @env=SiSU_Env::InfoEnv.new
-      emph_set=if defined? @md.emphasis_set_to \
-      and not @md.emphasis_set_to.nil?
-        @md.emphasis_set_to
-      else @env.markup_emphasis
-      end
-      @emph=case emph_set
-      when /bold/
-        emph_italics=false
-        { o: Mx[:fa_bold_o], c: Mx[:fa_bold_c] }
-      when /italics/
-        emph_italics=true
-        { o: Mx[:fa_italics_o], c: Mx[:fa_italics_c] }
-      when /underscore/
-        emph_italics=false
-        { o: Mx[:fa_underscore_o], c: Mx[:fa_underscore_c] }
-      else p __LINE__.to_s + '::' + __FILE__
-      end
-      @http_m=%r{\{.+?\}https?://\S+|https?:\S+|:\S+|\.\.\/\S+|#\S+|\S+?\.png\b|[*]~\S+|^#{Mx[:meta_o]}.+|#{Mx[:gr_o]}(?:code(?:\.[a-z][0-9a-z_]+)?|box(?:\.[a-z_]+)?|block|group|alt|verse)(?:-end)?#{Mx[:gr_c]}|#{Mx[:fa_o]}:br#{Mx[:fa_c]}}
-      @manmkp_ital=emph_italics \
-      ? '[i/*]\\{.+?\\}[i/*]'
-      : '[i/]\\{.+?\\}[i/]'
-      tail_m_ital=%q{(?:\s|'s\b|[.,;:?!'")]|~\^|~\\\{\s|$)}
-      tail_m_bold=%{(?:(?:#{Mx[:fa_italics_c]})?(?:\s|'s\b|[.,;:?!'")]|~\^|~\\\{\s|$))?}
-      bold_line=%{^!_\s.+?(?:#{Mx[:br_line]}|\n|$)}
-      #ital_line=%{^/_\s.+?(?:#{Mx[:br_line]}|\n|$)} #not implemented
-      @line_scan_ital=if defined? @md.italics_match_list[:str]
-        /#{@http_m}|#{bold_line}|#{@manmkp_ital}#{tail_m_ital}|#{@md.italics_match_list[:str]}#{tail_m_ital}|\S+|\n/i
-      end
-      @manmkp_bold=emph_italics \
-      ? '^!_\s.+?(?:\n|$)|[!b]\\{.+?\\}[*!b]|[*!][a-zA-Z0-9\-_]+[!]'
-      : '^!_\s.+?(?:\n|$)|[*!b]\\{.+?\\}[*!b]|[*!][a-zA-Z0-9\-_]+[*!]'
-      @line_scan_bold=if defined? @md.bold_match_list[:str] \
-      and @md.bold_match_list[:str]
-        /#{@http_m}|#{bold_line}|(?:#{@manmkp_bold}|#{@md.bold_match_list[:str]})#{tail_m_bold}|\S+|\n/i
-      end
-    end
-    def songsheet
-      @data=@data.compact
-      @data.each do |dob|
-        dob=breaks(dob)
-        dob=if @md.sem_tag then sem(dob) else dob end #revisit
-        dob=line_actions(dob)
-        dob=paragraph_set(dob)
-        dob=substitutions(dob)
-        dob=wordlist_italics(dob)
-        dob=wordlist_bold(dob)
-        dob=bodymarkup(dob)
-        @data_new << dob unless dob.nil?
-      end
-      @data_new
-    end
-    def sem(dob) #revisit
-      dob=SiSU_Sem::Tags.new(dob,@md).rm.all
-    end
-    def breaks(dob)
-      if dob.is !=:meta \
-      && dob.is !=:comment \
-      && dob.is !=:code \
-      && dob.is !=:table
-        dob.obj=dob.obj.
-          gsub(/^-\\\\-\s*$/,"#{Mx[:br_page]}").
-          gsub(/^=\\\\=\s*$/,"#{Mx[:br_page_new]}").
-          gsub(/ \\\\(?: |$)/,"#{Mx[:br_line]}").
-          gsub(/(?:<:?pb>)/,"#{Mx[:br_page]}").                         # depreciated
-          gsub(/(?:<:?pn>)/,"#{Mx[:br_page_new]}").                     # depreciated
-          gsub(/(?:<:?br>|<br \/>)/,"#{Mx[:br_line]}").                 # depreciated
-          gsub(/(?:^-\.\.-\s*$)/,"#{Mx[:br_page_line]}")
-      end
-      dob
-    end
-    def wordlist_italics(dob)
-      dob=dob.dup
-      if (defined? @md.italics_match_list[:str] \
-      and @md.italics_match_list[:str])
-        dob.obj=if dob.is !=:meta \
-        && dob.is !=:heading \
-        && dob.is !=:heading_insert \
-        && dob.is !=:code \
-        && dob.is !=:layout \
-        && dob.is !=:comment
-          word=dob.obj.scan(@line_scan_ital)
-          word=word.flatten.compact
-          line_array=[]
-          word.each do |w|
-            unless /#{@manmkp_ital}|#{@http_m}/.match(w)
-              if defined? @md.italics_match_list[:regx] \
-              and @md.italics_match_list[:regx]
-                w=w.gsub(@md.italics_match_list[:regx],
-                  "#{Mx[:fa_italics_o]}\\1#{Mx[:fa_italics_c]}")
-              else w
-              end
-            end
-            line_array << w
-          end
-          line_array.join(' ')
-        else dob.obj
-        end
-      end
-      dob
-    end
-    def embolden(given)
-      given=given.
-        gsub(/^!_\s+((?:\{|#{Mx[:lnk_o]})(?:~^ )?.+?(?:\}|#{Mx[:lnk_o]})https?:\/\/\S+.*?)([#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}])/,
-          "#{Mx[:fa_bold_o]} \\1 #{Mx[:fa_bold_c]}\\2").
-        gsub(/^!_\s+((?:\{|#{Mx[:lnk_o]})(?:~^ )?.+?(?:\}|#{Mx[:lnk_o]})https?:\/\/\S+.*)/,
-          "#{Mx[:fa_bold_o]} \\1 #{Mx[:fa_bold_c]}").
-        gsub(/(?:^!_|^#{Mx[:lv_o]}[7-9]:\S*?#{Mx[:lv_c]})\s*(.+?)([#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}])/,
-          "#{Mx[:fa_bold_o]}\\1#{Mx[:fa_bold_c]}\\2").
-        gsub(/(?:^!_|^#{Mx[:lv_o]}[7-9]:\S*?#{Mx[:lv_c]})\s*(.+?)\s+((?:[*]~\S+\s*)+)/,
-          "#{Mx[:fa_bold_o]}\\1#{Mx[:fa_bold_c]}\\2").
-        gsub(/(?:^!_|^#{Mx[:lv_o]}[7-9]:\S*?#{Mx[:lv_c]})\s*(.+?)\s*([~-]#)$/,
-          "#{Mx[:fa_bold_o]}\\1#{Mx[:fa_bold_c]}\\2").
-        gsub(/(?:^!_\s+|^#{Mx[:lv_o]}[7-9]:\S*?#{Mx[:lv_c]}\s*)(.*)?\s*$/,
-          "#{Mx[:fa_bold_o]}\\1#{Mx[:fa_bold_c]}")
-    end
-    def italicise(given)
-      given=given.
-        gsub(/^\/_\s*(.+?)([#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}])/,
-          "#{Mx[:fa_italics_o]}\\1#{Mx[:fa_italics_c]}\\2").
-        gsub(/^\/_\s*(.+?)\s+((?:[*]~\S+\s*)+)/,
-          "#{Mx[:fa_italics_o]}\\1#{Mx[:fa_italics_c]}\\2").
-        gsub(/^\/_\s*(.+?)\s*([~-]#)$/,
-          "#{Mx[:fa_italics_o]}\\1#{Mx[:fa_italics_c]}\\2").
-        gsub(/^\/_\s+(.*)?\s*$/,
-          "#{Mx[:fa_italics_o]}\\1#{Mx[:fa_italics_c]}")
-    end
-    def line_actions(dob)
-      dob.obj=if (dob.is !=:heading \
-      && dob.is !=:heading_insert \
-      && dob.is !=:comment \
-      && dob.is !=:meta) \
-      and dob.obj =~ /^!_\s+/
-        embolden(dob.obj)
-      elsif dob.obj =~ /^\/_\s+/
-        italicise(dob.obj)
-      else dob.obj
-      end
-      dob
-    end
-    def paragraph_set(dob)
-      dob.obj=if dob.is !=:meta \
-      && dob.is !=:heading \
-      && dob.is !=:heading_insert \
-      && dob.is !=:code \
-      && dob.is !=:comment \
-      && dob.is !=:table
-        dob.obj.gsub(/\n/m,' ').
-          gsub(/ \s+/m,' ')
-      else dob.obj
-      end
-      dob
-    end
-    def substitutions(dob)
-      dob=dob.dup
-      dob=if @md.flag_auto_biblio \
-      and @bibliography.length > 0
-        dob=if dob.is !=:meta \
-        && dob.is !=:heading_insert \
-        && dob.is !=:code \
-        && dob.is !=:comment \
-        && dob.is !=:table
-          @bibliography.each do |c|
-            if c[:id] and not c[:id].nil? and not c[:id].empty?
-              dob.obj=dob.obj.gsub(/#{c[:id]}/mi,c[:short_name])
-            end
-          end
-          dob
-        else dob
-        end
-        dob
-      else dob
-      end
-      dob=if defined? @md.substitution_match_list[:match_and_replace] \
-      and @md.substitution_match_list[:match_and_replace].is_a?(Array)
-        dob=if dob.is !=:meta \
-        && dob.is !=:heading_insert \
-        && dob.is !=:code \
-        && dob.is !=:comment \
-        && dob.is !=:table
-          if dob.obj =~/#{@md.substitution_match_list[:matches]}/
-            @md.substitution_match_list[:match_and_replace].each do |x|
-              dob.obj=if x[:case_s]==:i
-                dob.obj.gsub(/#{x[:match]}/mi,x[:replace])
-              else
-                dob.obj.gsub(/#{x[:match]}/m,x[:replace])
-              end
-            end
-          end
-          dob
-        else dob
-        end
-        dob
-      else dob
-      end
-    end
-    def wordlist_bold(dob)
-      dob=dob.dup
-      if (defined? @md.bold_match_list[:str] \
-      and @md.bold_match_list[:str])
-        dob.obj=if dob.is !=:meta \
-        && dob.is !=:heading \
-        && dob.is !=:heading_insert \
-        && dob.is !=:code \
-        && dob.is !=:comment \
-        && dob.is !=:table
-          line_array=[]
-          word=dob.obj.scan(@line_scan_bold)
-          word=word.flatten.compact
-          word.each do |w|
-            unless /#{@manmkp_bold}|#{@http_m}/.match(w)
-              if defined? @md.bold_match_list[:regx] \
-              and @md.bold_match_list[:regx]                                             #document header: @bold: [bold word list]
-                w=w.gsub(@md.bold_match_list[:regx],
-                  "#{Mx[:fa_bold_o]}\\1#{Mx[:fa_bold_c]}")
-              end
-            else
-              w=if w =~ /(?:^!_|^#{Mx[:lv_o]}[7-9]:\S*?#{Mx[:lv_c]})\s+/
-                embolden(w)      #bold paragraph/emphasize #may wish to remove think about 7{ 8{ conversion not satisfactory, as information is lost!
-              elsif w =~/^\/_\s+/
-                italicise(w)
-              else w
-              end
-            end
-            line_array << w
-          end
-          line_array.join(' ')
-        else dob.obj
-        end
-      else
-        dob.obj=if dob.is==:heading \
-        and dob.ln.to_s =~/[7-9]/
-          embolden(dob.obj)
-        else dob.obj
-        end
-      end
-      dob
-    end
-    def fontface_lines(dob,leader)
-      while (dob.obj =~/#{Mx[:br_nl]}/ \
-      and dob.obj =~/(?:#{leader})([*!\/_#])\{(.+?)\}\1/m) \
-      and $2 =~/#{Mx[:br_nl]}/
-        dob=if dob.obj =~/#{Mx[:br_nl]}/ \
-        and dob.obj =~/(#{leader})([*!\/_#])\{(.+?)\}\2/m
-          lead,fce,txt=$1,$2,$3
-          dob=if txt =~/#{Mx[:br_nl]}/
-            lead_break=if dob.obj =~/^#{Mx[:br_nl]}/
-              dob.obj=dob.obj.sub(/^#{Mx[:br_nl]}/,'')
-              Mx[:br_nl]
-            else ''
-            end
-            txt="#{lead_break}#{fce}\{" + txt.split(Mx[:br_nl]).join("\}#{fce}#{Mx[:br_nl]}#{fce}\{") + "\}#{fce}"
-            dob.obj=dob.obj.
-              sub(/(?:^|#{Mx[:gl_c]}|\s+|['"]|[#{Mx[:nbsp]}#{Mx[:fa_o_c]}#{Mx[:fa_c]}#{Mx[:lnk_o]}#{Mx[:br_nl]}#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:tc_c]}#{Mx[:tc_p]}]|[\(\[\{]|\>)([*!\/_#])\{.+?\}\1/m,
-                "#{lead}#{txt}")
-            dob
-          else dob
-          end
-        end
-        dob
-      end
-      dob
-    end
-    def fontface(dob)
-      leader=/^|#{Mx[:gl_c]}|\s+|['"]|[#{Mx[:nbsp]}#{Mx[:fa_o_c]}#{Mx[:fa_c]}#{Mx[:lnk_o]}#{Mx[:br_nl]}#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:tc_c]}#{Mx[:tc_p]}]|[\(\[\{]|[、。「‹«¿¡]|\>/
-      dob=fontface_lines(dob,leader)
-      dob.obj=dob.obj.
-        gsub(/(#{leader})\*\{(.+?)\}\*/m,
-          "\\1#{@emph[:o]}\\2#{@emph[:c]}").                                                                                                                             #emphasis
-        gsub(/(#{leader})!\{(.+?)\}!/m,
-          "\\1#{Mx[:fa_bold_o]}\\2#{Mx[:fa_bold_c]}").                                                                                                                   #bold
-        gsub(/(#{leader})\/\{(.+?)\}\//m,
-          "\\1#{Mx[:fa_italics_o]}\\2#{Mx[:fa_italics_c]}").                                                                                                             #italics
-        gsub(/(#{leader})_\{(.+?)\}_/m,
-          "\\1#{Mx[:fa_underscore_o]}\\2#{Mx[:fa_underscore_c]}").                                                                                                       #underscore
-        gsub(/(#{leader})#\{(.+?)\}#/m,
-          "\\1#{Mx[:fa_monospace_o]}\\2#{Mx[:fa_monospace_c]}").                                                                                                         #monospace
-        gsub(/(^|#{Mx[:gl_c]}|\s+|['"]|[#{Mx[:nbsp]}#{Mx[:fa_o_c]}#{Mx[:fa_c]}]|\(|\>)\"\{(.+?)\}\"/m,
-          "\\1#{Mx[:fa_cite_o]}\\2#{Mx[:fa_c_o]}cite#{Mx[:fa_c]}").                                                                                                      #cite /blockquote?
-        gsub(/(^|[^\\])\^\{(.+?)\}\^/m,
-          "\\1#{Mx[:fa_superscript_o]}\\2#{Mx[:fa_superscript_c]}").                                                                                                     #superscript
-        gsub(/(^|[^\\]),\{(.+?)\},/m,
-          "\\1#{Mx[:fa_subscript_o]}\\2#{Mx[:fa_subscript_c]}").                                                                                                         #subscript
-        gsub(/(^|#{Mx[:gl_c]}|\s+|['"]|#{Mx[:nbsp]}|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\+\{(.+?)\}\+/m,
-          "\\1#{Mx[:fa_insert_o]}\\2#{Mx[:fa_insert_c]}").                                                                                                               #inserted text
-        gsub(/(^|#{Mx[:gl_c]}|\s+|['"]|#{Mx[:nbsp]}|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)-\{(.+?)\}-/m,
-          "\\1#{Mx[:fa_strike_o]}\\2#{Mx[:fa_strike_c]}").                                                                                                               #strikethrough - deleted text
-        gsub(/(^|#{Mx[:gl_c]}|\s+|['"]|#{Mx[:nbsp]}|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>|\d+)\^(\S+?)\^/,
-          "\\1#{Mx[:fa_superscript_o]}\\2#{Mx[:fa_superscript_c]}")                                                                                                      #superscript single word, watch digit added
-      dob
-    end
-    def bodymarkup(dob)
-      # << http://www.jus.uio.no/sisu/sisu_markup_table/markup >>
-      # See: data/sisu/sample/document_samples_sisu_markup/
-      ## fontface
-      # *{emphasis}*        e{emphasis}e       <strong>emphasis</strong>
-      # !{bold text}!       b{bold}b           <b>bold text</b>
-      # _{underline}_       u{underline}u      <u>underline</u>
-      # /{italics}/         i{italics}i        <i>italics</i>
-      # "{citation}"        c{citation}c       <cite>citation</cite> #blockquote?
-      # ^{superscript}^                        <sup>superscript</sup>
-      # ,{subscript},                          <sub>subscript</sub>
-      # +{inserted text}+                      <ins>inserted text</ins>
-      # -{deleted text}-                       <del>deleted text</del>
-      # #{monospace text}#
-      #
-      # {url address}:url
-      # {image.png}imageurl
-      # {image.png}png
-      # ~{endnote}~
-      # !_                                    #bold/emphasise paragraph
-      # _"                                    #blockquote paragraph
-      # _1                  <:i1>            #indent paragraph 1 step
-      # _2                  <:i2>            #indent paragraph 2 steps
-      # _3                  <:i3>            #indent paragraph 3 steps
-      # _4                  <:i4>            #indent paragraph 4 steps
-      # _*                                    #bullet (list) ●
-      # _1*                                   #bullet (list) indented
-      # _1*                                   #bullet (list) indented
-      # #                                     #numbered (list) level 1
-      # _#                                    #numbered (list) level 2
-      dob=dob.dup
-      if dob.is !=:meta \
-      && dob.is !=:comment \
-      && dob.is !=:code \
-      && dob.is !=:table
-        line_array=[]
-        word=dob.obj.scan(/\S+|\n/) #unless line =~/^(?:#{Mx[:meta_o]}|%+\s)/ #visit
-        if word
-          word.each do |w| # _ - / # | : ! ^ ~
-            unless w =~/~\{|\}~|~\[|\]~|^\^~|~\^|\*~\S+|~#|\{t?~|\{table|https?:\/\/\S+/           # do something earlier about table!!
-              w=w.gsub(/\\?~/,"#{Mx[:gl_o]}#126#{Mx[:gl_c]}")                                      #escaped special character
-            end
-            w=w.gsub(/^\<$/,
-              "#{Mx[:gl_o]}#lt#{Mx[:gl_c]}").gsub(/^\>$/,"#{Mx[:gl_o]}#gt#{Mx[:gl_c]}")            #escaped special character
-            line_array << w
-          end
-          dob.obj=line_array.join(' ')
-          dob.obj=dob.obj.strip
-        end
-        dob.obj=dob.obj.
-          gsub(/^([*#.-]{1,12})$/,'\1 ~#').                                                        #ocn off for these paragraph separators
-          gsub(/~\{(.+?)\}~/m,Mx[:en_a_o] + '\1' + Mx[:en_a_c]).
-          gsub(/~\[([^*+].+?)\]~/m,Mx[:en_b_o] + '* \1' + Mx[:en_b_c]).                            #default if markup does not specify
-          gsub(/~\[(.+?)\]~/m,Mx[:en_b_o] + '\1' + Mx[:en_b_c])
-        if dob.is ==:heading \
-        and dob.ln ==0
-          dob.obj=dob.obj.gsub(/\s*@title\b/," #{@md.title.full}")
-          dob.obj=if defined? @md.creator.author \
-          and @md.creator.author
-            dob.obj.gsub(/\s+(?:@creator|@author)/,",#{Mx[:br_line]}#{@md.creator.author}")
-          else dob.obj.gsub(/\s+(?:@creator|@author)/,'')
-          end
-        end
-        if defined? @md.title \
-        and @md.title \
-        and defined? @md.title.full \
-        and defined? @md.creator \
-        and @md.creator
-          if dob.is ==:heading
-            dob.obj=dob.obj.gsub(/^\s*@title\s*$/,@md.title.full) if dob.lv =~/1/
-            dob.obj=if dob.lv =~/[23]/ \
-            and defined? @md.creator.author \
-            and @md.creator.author
-              dob.obj.
-                gsub(/^\s*(?:(by\s+)?(?:@creator|@author))\s*$/,
-                  "\\1#{@md.creator.author}")
-            else dob.obj.gsub(/^\s*(?:(by\s+)?(?:@creator|@author))\s*$/,'\1')
-            end
-          end
-        end
-        dob.obj=dob.obj.gsub(/<(https?:\/\/\S+?)>/,'< \1 >').                     #catch problem markup
-          gsub(/<:=(\S+?)>/,'{ c_\1.png 14x14 }image').
-          gsub(/<!(\S+)!>/,'<:\1>').                                              #escaped special character
-          gsub(/&nbsp;/,"#{Mx[:nbsp]}").                                          #escaped special character
-          gsub(/\\~/,"#{Mx[:gl_o]}#126#{Mx[:gl_c]}").                             #escaped special character
-          gsub(/\\\{/,"#{Mx[:gl_o]}#123#{Mx[:gl_c]}").                            #escaped special character
-          gsub(/\\\}/,"#{Mx[:gl_o]}#125#{Mx[:gl_c]}").                            #escaped special character
-          gsub(/\\\<</,"#{Mx[:gl_o]}#lt#{Mx[:gl_c]}#{Mx[:gl_o]}#lt#{Mx[:gl_c]}"). #escaped special character
-          gsub(/\\\>>/,"#{Mx[:gl_o]}#gt#{Mx[:gl_c]}#{Mx[:gl_o]}#gt#{Mx[:gl_c]}"). #escaped special character
-          gsub(/\\\</,"#{Mx[:gl_o]}#lt#{Mx[:gl_c]}").                             #escaped special character
-          gsub(/\\\>/,"#{Mx[:gl_o]}#gt#{Mx[:gl_c]}").                             #escaped special character
-          gsub(/\\\_/,"#{Mx[:gl_o]}#095#{Mx[:gl_c]}").                            #escaped special character
-          gsub(/\\\-/,"#{Mx[:gl_o]}#045#{Mx[:gl_c]}").                            #escaped special character
-          gsub(/\\\+/,"#{Mx[:gl_o]}#043#{Mx[:gl_c]}").                            #escaped special character
-          gsub(/\\\//,"#{Mx[:gl_o]}#047#{Mx[:gl_c]}").                            #escaped special character
-          gsub(/\\\#/,"#{Mx[:gl_o]}#035#{Mx[:gl_c]}").                            #escaped special character
-          gsub(/\\\&/,"#{Mx[:gl_o]}#038#{Mx[:gl_c]}").                            #&amp; #escaped special character
-          gsub(/\\\|/,"#{Mx[:gl_o]}#124#{Mx[:gl_c]}").                            #not really a sisu special character but made available as possibility
-          gsub(/\\\:/,"#{Mx[:gl_o]}#058#{Mx[:gl_c]}").                            #not really a sisu special character but made available as possibility
-          gsub(/\\\!/,"#{Mx[:gl_o]}#033#{Mx[:gl_c]}").                            #not really a sisu special character but made available as possibility
-          gsub(/\\\^/,"#{Mx[:gl_o]}#094#{Mx[:gl_c]}").                            #not really a sisu special character but made available as possibility
-          gsub(/\\\,/,"#{Mx[:gl_o]}#044#{Mx[:gl_c]}").                            #not really a sisu special character but made available as possibility
-          gsub(/\\\\/,"#{Mx[:gl_o]}#092#{Mx[:gl_c]}").                            #escaped special character
-          gsub(/\\\*/,"#{Mx[:gl_o]}#042#{Mx[:gl_c]}").                            #escaped special character
-          gsub(/\\\!/,"#{Mx[:gl_o]}#033#{Mx[:gl_c]}")                             #escaped special character
-        if dob.obj=~/(?:https?:|ftp:|\{([^{}]+?)\}(?:#|:|[.]{1,2}\/))\S+/m
-          if dob.obj=~/(?:^|[#{Mx[:gl_c]}#{Mx[:nbsp]} ])\{~\^ (?:.+?)\s*\}(?:(?:https?:|ftp:|:|[.]{1,2}\/)\S+?)\s*#{Mx[:en_a_o]}(.+?)#{Mx[:en_a_c]}/m
-            dob.obj=dob.obj.
-              gsub(/(^|[#{Mx[:gl_c]}#{Mx[:nbsp]} ])\{~\^ ([^}]+?)\s*\}((?:https?:|ftp:|:|[.]{1,2}\/)\S+?)\s*#{Mx[:en_a_o]}(.+?)#{Mx[:en_a_c]}/m,
-                "\\1#{Mx[:lnk_o]}\\2#{Mx[:lnk_c]}\\3 #{Mx[:en_a_o]}\\3 \\4#{Mx[:en_a_c]}") # watch
-          end
-          if dob.obj=~/(?:^|[#{Mx[:gl_c]}#{Mx[:nbsp]} ])\{~\^ (?:.+?)\s*\}(?:(?:https?:|ftp:|:|[.]{1,2}\/)\S+?)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}]|$)/m
-            dob.obj=dob.obj.
-              gsub(/(^|[#{Mx[:gl_c]}#{Mx[:nbsp]} ])\{~\^ (.+?)\s*\}((?:https?:|ftp:|:|[.]{1,2}\/)\S+?)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}]|$)/m,
-                "\\1#{Mx[:lnk_o]}\\2#{Mx[:lnk_c]}\\3\\4 #{Mx[:en_a_o]}\\3#{Mx[:en_a_c]} ")
-          end
-          dob.obj=dob.obj.
-              gsub(/(^|[^#])\{\s*([^{}]+?)\s*\}((?:https?:|:|[.]{2}\/|#)\S+?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}]|$)/,
-                "\\1#{Mx[:lnk_o]}\\2#{Mx[:lnk_c]}\\3").                                                                                                                    #linked (text or image, however text cannot include modified face, e.g. bold, ital, underline)
-            gsub(/(^|[#{Mx[:gl_c]}#{Mx[:lnk_c]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}(\s])((?:https?|ftp):\/\/\S+?\.[^>< ]+?)([,.;'"]?)(?=[\s#{Mx[:en_a_c]}#{Mx[:en_b_c]}#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}]|$)/m,
-              %{\\1#{Mx[:url_o]}\\2#{Mx[:url_c]}\\3}).
-            gsub(/#{Mx[:lnk_c]}#(\S+?[^>< ]+?)([()\[\]]*[,.;:!?'"]{0,2})(?=[\s#{Mx[:en_a_c]}#{Mx[:en_b_c]}#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}]|$)/m,
-              %{#{Mx[:lnk_c]}#{Mx[:rel_o]}\\1#{Mx[:rel_c]}\\2}).
-            gsub(/#{Mx[:lnk_c]}:(\S+?[^>< ]+?)([()\[\]]*[,.;:!?'"]{0,2})(?=[\s#{Mx[:en_a_c]}#{Mx[:en_b_c]}#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}]|$)/m,
-              %{#{Mx[:lnk_c]}#{Mx[:rel_o]}:\\1#{Mx[:rel_c]}\\2}).
-            gsub(/#{Mx[:lnk_c]}[.]{2}\/(\S+?[^>< ]+?)([()\[\]]*[,.;:!?'"]{0,2})(?=[\s#{Mx[:en_a_c]}#{Mx[:en_b_c]}#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}]|$)/m,
-              %{#{Mx[:lnk_c]}#{Mx[:rel_o]}:\\1#{Mx[:rel_c]}\\2})
-        end
-        if dob.obj=~/_(?:https?|ftp):\S+/m           # _http://url #CHECK
-          dob.obj=dob.obj.gsub(/(^|[#{Mx[:gl_c]}#{Mx[:lnk_c]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}(\s])(_(?:https?|ftp):\/\/\S+?\.[^>< ]+?)([,.;'"]?)(?=[\s#{Mx[:en_a_c]}#{Mx[:en_b_c]}#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}]|$)/m,
-            %{\\1#{Mx[:url_o]}\\2#{Mx[:url_c]}\\3})
-        end
-        dob=fontface(dob)
-        dob.obj=dob.obj.
-          gsub(/<[:e]\s+(.+?)!?>/,
-            "#{Mx[:en_a_o]}\\1#{Mx[:en_a_c]}").                                                                                                                             #not tested
-          gsub(/(^|#{Mx[:br_nl]})\s*_\*\s*/,
-            "\\1#{Mx[:gl_bullet]}").                                                                                                                                        #bullets, shortcut
-          gsub(/=\{(.+?)\}/,
-            "#{Mx[:idx_o]}\\1#{Mx[:idx_c]}").
-          gsub(/^\s*_([1-9])\*\s*/,
-            "#{Mx[:pa_o]}:i\\1:\\1#{Mx[:pa_c]}#{Mx[:gl_bullet]}").                                                                                                          #bullets, shortcut
-          gsub(/^\s*_([1-9])\s+/,
-            "#{Mx[:pa_o]}:i\\1:\\1#{Mx[:pa_c]}").                                                                                                                           #indent
-          gsub(/^\s*_([1-9])!\s+(.+?)\s*$/,
-            "#{Mx[:pa_o]}:i\\1:\\1#{Mx[:pa_c]}#{Mx[:fa_bold_o]}\\2#{Mx[:fa_bold_c]} ").                                                                                     #indent bold
-          gsub(/^\s*__([1-9])\s+/,
-            "#{Mx[:pa_o]}:i0:\\1#{Mx[:pa_c]}").                                                                                                                             #hang
-          gsub(/^\s*__([1-9])!\s+(.+?)\s*$/,
-            "#{Mx[:pa_o]}:i0:\\1#{Mx[:pa_c]}#{Mx[:fa_bold_o]}\\2#{Mx[:fa_bold_c]} ").                                                                                       #hangdef
-          gsub(/^\s*_([0-9])_([0-9])\s+/,
-            "#{Mx[:pa_o]}:i\\1:\\2#{Mx[:pa_c]}").                                                                                                                           #hang
-          gsub(/^\s*_([0-9])_([0-9])!\s+(.+?)\s*$/,
-            "#{Mx[:pa_o]}:i\\1:\\2#{Mx[:pa_c]}#{Mx[:fa_bold_o]}\\3#{Mx[:fa_bold_c]} ").                                                                                     #hangdef
-          gsub(/<:hi>/,"#{Mx[:fa_hilite_o]}").                                                                                                                              #'<span style="background-color: rgb(255,240,196)">'). # bright yellow rgb(255,255,0) pale yellow rgb(255,255,200)
-          gsub(/<:\/hi>/,"#{Mx[:fa_hilite_c]}"). #'</span>').
-          gsub(/(#{Mx[:gr_o]}verse#{Mx[:gr_c]}.+)/m,"\\1\n").
-          gsub(/[ ]+($)/,'\1').
-          gsub(/\{\s*(.+?)\s*\}(https?:\S+?)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}]|$)/,
-            "#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}#{Mx[:url_o]}\\2#{Mx[:url_c]}\\3").                                                                                               #any remaining linked text or image
-          gsub(/\{\s*(.+?)\s*\}(#{Mx[:url_o]}\S+?#{Mx[:url_c]})/,
-            "#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}\\2").                                                                                                                            #any remaining linked text or image
-          gsub(/(^|\s)([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)/,"\\1#{Mx[:url_o]}\\2#{Mx[:url_c]}").
-          gsub(/(^|[ ])\{\s*(.+?)\s*\}(\S+?)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}]|$)/,
-            "\\1#{Mx[:lnk_o]}\\2#{Mx[:lnk_c]}\\3\\4").                                                                                                                      #any remaining linked text or image
-          gsub(/\{\s*(.+?)\s*\}#([a-zA-Z0-9][a-zA-Z0-9_-]*)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}]|$)/,
-            "#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}#{Mx[:rel_o]}\\2#{Mx[:rel_c]}\\3").                                                                                               #any remaining linked text or image, check need
-          gsub(/\{\s*(.+?)\s*\}(#{Mx[:rel_o]}\S+?#{Mx[:rel_c]})/,
-            "#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}\\2").                                                                                                                            #any remaining linked text or image, check need
-          gsub(/\{\s*(.+?)\s*\}(image)/,
-            "#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}\\2")                                                                                                                             #linked image
-      elsif dob.is==:table
-        dob=fontface(dob)
-      elsif dob.is ==:code
-        dob.obj=dob.obj.
-          gsub(/#{Mx[:meta_o]}(\S+?)#{Mx[:meta_c]}\s*/,'@\1: ').
-          gsub(/(^|#{Mx[:gl_c]}|\s)&lt;(?:br(?: \/)?)&gt;([\s,.]|$)/,'\1<br>\2') #convert <br> <br /> back, clumsy
-        if dob.number_
-          codeline=[]
-          ln=1
-          dob.obj.split(/#{Mx[:gr_o]}codeline#{Mx[:gr_c]}|<br(?: \/)?>|\n/).each_with_index do |cl,i|
-            unless i == 0
-              cl=cl.gsub(Mx[:br_nl],'')
-              w=3-ln.to_s.length
-              cl = "#{ln}#{Mx[:nbsp]*w}#{Mx[:vline]}#{cl}#{Mx[:br_nl]}"
-              ln +=1
-            end
-            codeline << cl
-          end
-          codeline= codeline.join("")
-          dob.obj=codeline
-        else
-          dob.obj=dob.obj.gsub(/#{Mx[:gr_o]}codeline#{Mx[:gr_c]}/,"\n")
-        end
-        dob
-      else # @\S+?:
-      end
-      dob
-    end
-    def tech                                                                       #script markup planned to be more strict for technical documents
-      # *{emphasis}*        e{emphasis}e       <strong>emphasis</strong>
-      # !{bold text}!       b{bold}b           <b>bold text</b>
-      # _{underline}_       u{underline}u      <u>underline</u>
-      # /{italics}/         i{italics}i        <i>italics</i>
-      # "{citation}"        c{citation}c       <cite>citation</cite>
-      # ^{superscript}^                        <sup>superscript</sup>
-      # ,{subscript},                          <sub>subscript</sub>
-      # +{inserted text}+                      <ins>inserted text</ins>
-      # -{deleted text}-                       <del>deleted text</del>
-      # #{monospace text}#
-      # {url address}:url
-      # {image.png}imageurl
-      # {image.png}png
-      # ~{endnote}~
-      # +1                  <!i1!>
-      # +2                  <!i2!>
-      puts 'tech'
-      @data.each do |line|
-        line=line.
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)e\{(.+?)\}e/,
-            "\\1#{@emph[:o]}\\2#{@emph[:c]}").                                                        #emphasis
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)b\{(.+?)\}b/,
-            "\\1#{Mx[:fa_bold_o]}\\2#{Mx[:fa_bold_c]}").                                              #bold
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)u\{(.+?)\}u/,
-            "\\1#{Mx[:fa_underscore_o]}\\2#{Mx[:fa_underscore_c]}").                                  #underscore
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)c\{(.+?)\}c/,
-            "\\1#{Mx[:fa_cite_o]}\\2#{Mx[:fa_c_o]}cite#{Mx[:fa_c]}").                                 #cite
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)i\{(.+?)\}i/,
-            "\\1#{Mx[:fa_italics_o]}\\2#{Mx[:fa_italics_c]}").                                        #italics
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)!\{(.+?)\}!/,
-            "\\1#{Mx[:fa_bold_o]}\\2#{Mx[:fa_bold_c]}").                                              #bold
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)\*\{(.+?)\}\*/,
-            "\\1#{@emph[:o]}\\2#{@emph[:c]}").                                                        #emphasis
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\>)_\{(.+?)\}_/,
-            "\\1#{Mx[:fa_underscore_o]}\\2#{Mx[:fa_underscore_c]}").                                  #underscore
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|[\(\[]|\(|\>)\/\{(.+?)\}\//,
-            "\\1#{Mx[:fa_italics_o]}\\2#{Mx[:fa_italics_c]}").                                        #italics
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\"\{(.+?)\}\"/,
-            "\\1#{Mx[:fa_cite_o]}\\2#{Mx[:fa_c_o]}cite#{Mx[:fa_c]}").
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\^\{(.+?)\}\^/,
-            "\\1#{Mx[:fa_superscript_o]}\\2#{Mx[:fa_superscript_c]}").
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)9\{(.+?)\}9/,
-            "\\1#{Mx[:fa_superscript_o]}\\2#{Mx[:fa_superscript_c]}").
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>),\{(.+?)\},/,
-            "\\1#{Mx[:fa_subscript_o]}\\2#{Mx[:fa_subscript_c]}").
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)6\{(.+?)\}6/,
-            "\\1#{Mx[:fa_subscript_o]}\\2#{Mx[:fa_subscript_c]}").
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\+\{(.+?)\}\+/,
-            "\\1#{Mx[:fa_insert_o]}\\2#{Mx[:fa_insert_c]}").
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)v\{(.+?)\}v/,
-            "\\1#{Mx[:fa_insert_o]}\\2#{Mx[:fa_insert_c]}").
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)-\{(.+?)\}-/,
-            "\\1#{Mx[:fa_strike_o]}\\2#{Mx[:fa_strike_c]}").
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)x\{(.+?)\}x/,
-            "\\1#{Mx[:fa_strike_o]}\\2#{Mx[:fa_strike_c]}").
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\*(\S+?)\*/,
-            "\\1#{@emph[:o]}\\2#{@emph[:c]}").                                                        #emphasise single word, watch
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\!(\S+?)\!/,
-            "\\1#{Mx[:fa_bold_o]}\\2#{Mx[:fa_bold_c]}").                                              #bold single word, watch
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\/([\(\)a-zA-Z0-9']+?)\/([ ,.;:'"~$]|[^a-zA-Z0-9])/,
-            "\\1#{Mx[:fa_italics_o]}\\2#{Mx[:fa_italics_c]}\\3").                                     #italics single word, watch
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)_(\S+?)_/,
-            "\\1#{Mx[:fa_underscore_o]}\\2#{Mx[:fa_underscore_c]}").                                  #underscore single word, watch
-          gsub(/(^|\s+|['"]|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\^(\S+?)\^/,
-            "\\1#{Mx[:fa_superscript_o]}\\2#{Mx[:fa_superscript_c]}").                                #check  #superscript single word, watch digit added
-          gsub(/^\s*_\([1-9]\)\(\*\+\)\s*/,
-            "#{Mx[:pa_o]}:i\\1#{Mx[:pa_c]}#{Mx[:fa_o]}\\2#{Mx[:fa_c_o]}").                            #bullets, shortcut
-          gsub(/^\s*_\([1-9]\)\s+/,
-            "#{Mx[:pa_o]}:i\\1#{Mx[:pa_c]}"). #watch
-          gsub(/^\s*__\([1-9]\)\s+/,
-            "#{Mx[:pa_o]}:h\\1#{Mx[:pa_c]}"). #watch
-          #line.gsub(/^\s*__\([1-9]\)!\s+/,
-          #  "#{Mx[:pa_o]}:hd\\1#{Mx[:pa_c]}"). #watch
-          gsub(/#{Mx[:br_line]}\s*_[12]\s+/,
-            "#{Mx[:br_line]} ")                                                                      #indent used in endnotes, not implemented, replace when ready with: line.gsub(/(?:<br>|<br \/>)\s*_([12])\s+/,'<br><:i\1> ')
-      end
-      @data
-    end
-  end
-end
-__END__
diff --git a/lib/sisu/current/cgi.rb b/lib/sisu/current/cgi.rb
deleted file mode 100644 (file)
index 99f2e98..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-# encoding: utf-8
-=begin
-
-* Name: SiSU
-
-** Description: documents, structuring, processing, publishing, search
-*** generates naive cgi search form for search of sisu database (pgsql sqlite)
-
-** Author: Ralph Amissah
-  <ralph@amissah.com>
-  <ralph.amissah@gmail.com>
-
-** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-  2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
-  All Rights Reserved.
-
-** License: GPL 3 or later:
-
-  SiSU, a framework for document structuring, publishing and search
-
-  Copyright (C) Ralph Amissah
-
-  This program is free software: you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by the Free
-  Software Foundation, either version 3 of the License, or (at your option)
-  any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT
-  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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>
-
-** Git
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/cgi.rb;hb=HEAD>
-
-=end
-module  SiSU_CGI                                        #% database building documents
-  require_relative 'se'                                 # se.rb
-  require_relative 'cgi_pgsql'                          # cgi_pgsql.rb
-  require_relative 'cgi_sqlite'                         # cgi_sqlite.rb
-  class SearchSQL
-    def initialize(opt)
-      @opt=opt
-      @webserv=@opt.files[0].to_s.strip
-    end
-    def read
-      if @opt.act[:sample_search_form][:db]==:pg        # cgi_pgsql.rb
-        SiSU_CGI_PgSQL::SearchPgSQL.new(@opt,@webserv).pgsql
-      elsif @opt.act[:sample_search_form][:db]==:sqlite # cgi_sqlite.rb
-        SiSU_CGI_SQLite::SearchSQLite.new(@opt,@webserv).sqlite
-      else
-        puts <<-WOK
-  please select database type for which sample search form should be built (pgsql or sqlite)
-    sisu --sample-search-form --db=sqlite
-    sisu --sample-search-form --db=pg
-  other options include
-     --webserv-cgi='[cgi-server-name]'
-     --webserv-output='[sisu-output-server-with-base-path]'
-        WOK
-      end
-    end
-  end
-end
-__END__
diff --git a/lib/sisu/current/cgi_sqlite.rb b/lib/sisu/current/cgi_sqlite.rb
deleted file mode 100644 (file)
index 9144423..0000000
+++ /dev/null
@@ -1,244 +0,0 @@
-# encoding: utf-8
-=begin
-
-* Name: SiSU
-
-** Description: documents, structuring, processing, publishing, search
-*** generates naive cgi search form for search of sisu database (sqlite)
-
-** Author: Ralph Amissah
-  <ralph@amissah.com>
-  <ralph.amissah@gmail.com>
-
-** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-  2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
-  All Rights Reserved.
-
-** License: GPL 3 or later:
-
-  SiSU, a framework for document structuring, publishing and search
-
-  Copyright (C) Ralph Amissah
-
-  This program is free software: you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by the Free
-  Software Foundation, either version 3 of the License, or (at your option)
-  any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT
-  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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>
-
-** Git
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
-  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/cgi_sql_sqlite.rb;hb=HEAD>
-
-=end
-module  SiSU_CGI_SQLite                                 #% database building documents
-  require_relative 'se'                                 # se.rb
-  require_relative 'cgi_sql_common'                     # cgi_sql_common.rb
-    include SiSU_CGI_SQL
-  class SearchSQLite < CGI_Common
-    def initialize(opt,webserv)
-      @opt,@webserv=opt,webserv
-      @cX=SiSU_Screen::Ansi.new(opt.act[:color_state][:set]).cX
-      @env=SiSU_Env::InfoEnv.new('',opt)
-      @image_src="#{@env.url.webserv_cgi(opt)}/_sisu/image_sys"
-      @name_of={}
-      @name_of[:output_dir_structure]=if opt.dir_structure_by.to_s =~/(?:language|filetype|filename)/
-        opt.dir_structure_by.to_s
-      else 'language'
-      end
-      @name_of[:lingual]=if opt.lingual.to_s =~/(?:mono|multi)/
-        opt.lingual.to_s
-      else 'multi'
-      end
-      @name_of[:host_url_cgi]=%q{http://#{ENV['HTTP_HOST']}#{ENV['PATH_INFO']}}
-      @name_of[:host_url_docs]=%q{http://#{ENV['HTTP_HOST']}}
-      @name_of[:cgi_script]=%q{#{ENV['SCRIPT_NAME']}}
-      @image_src=%q{http://#{ENV['HTTP_HOST']}/_sisu/image_sys}
-      @common=SiSU_CGI_SQL::CGI_Common.new(@webserv,opt,@image_src,@env)
-      @cgi_file_name=@env.url.cgi_sample_search_form_name(opt)
-      @name_of_sqlite_db_file='sisu_sqlite.db'
-    end
-    def sqlite
-      serve=[]
-      Dir.foreach(@env.path.webserv) do |x|
-        if x !~/^\./ \
-        and FileTest.directory?("#{@env.path.webserv}/#{x}")
-          if FileTest.file?("#{@env.path.webserv}/#{x}/#{@name_of_sqlite_db_file}")
-            serve << x unless x =~/^_\S+/
-          end
-        end
-      end
-      serve=serve.sort
-      f1,f2,f3='','',''
-      serve.each do |x|
-        f1 << %{              <option value="#{Db[:name_prefix]}#{x}">#{x}</option>\n}
-      end
-      f2 <<  %{          selected_db=case cgi['db']\n}
-      serve.each do |x|
-        f2 << %{           when /#{Db[:name_prefix]}#{x}/ then '<option value="#{Db[:name_prefix]}#{x}">#{x}</option>'\n}
-      end
-      f2 << "          end\n"
-      f3 << %{          db_name='#{@name_of_sqlite_db_file}'\n}
-      f3 << %{          db_sqlite=case cgi['db']\n}
-      serve.each do |x|
-        f3 << %{          when /#{Db[:name_prefix]}#{x}/ then "#{@env.path.webserv}/#{x}/\#{db_name}"\n}
-      end
-      f3 << %{           else  "#{@env.path.webserv}/#{serve[0]}/\#{db_name}"\n          end\n}
-      if FileTest.writable?('.')
-        output=File.open(@cgi_file_name,'w')
-        output << header0 << header1 << header_desc << header2 << f1 << buttons1 << buttons2 << search_request << search_statement << search_statement_common << search_query1 << @common.pages << search_query2 << @common.tail << @common.main1 << f2 << f3 << dbi_connect << @common.main2 << @common.dir_structure << @common.main3
-        puts <<-WOK
-            generated sample search form: #{@cX.green}#{@cgi_file_name}#{@cX.off}
-            default database name:     #{@cX.green}#{Db[:name_prefix]}#{@env.path.base_markup_dir_stub}#{@cX.off} (#{@env.path.base_markup_dir_stub})
-            cgi & db host on:          #{@cX.blue}#{@env.url.webserv_base_cgi(@opt)}#{@cX.off}
-              to modify use:           #{@cX.brown}sisu --db-sqlite --webserv-search='#{@env.url.webserv_base_cgi(@opt)}'#{@cX.off}
-            sisu output on:            #{@cX.blue}#{@env.url.webserv_files_from_db(@opt)}#{@cX.off}
-              to modify use:           #{@cX.brown}sisu --db-sqlite --webserv-output='#{@env.url.webserv_files_from_db(@opt)}'#{@cX.off}
-            cgi search form link name: #{@cX.green}#{@env.url.cgi_sample_search_form_name(@opt)}#{@cX.off}
-              to modify use:           #{@cX.brown}sisu --db-sqlite --cgi-search-form-name='#{@env.url.cgi_sample_search_form_name(@opt)}'#{@cX.off}
-            #{@cX.fuchsia}(settings priority: command line; sisurc.yml; else defaults)#{@cX.off}
-
-            #{@cX.fuchsia}NOTE it is first necessary to create the database and tables and populate it#{@cX.off}
-
-            sisu --sqlite --dropall                          # removes existing postgresql db & tables
-            sisu --sqlite --createall -v                     # creates postgresql db & tables
-            sisu --sqlite --update -v *.sst  *.ssm           # populate the db
-            sisu --sample-search-form --sqlite               # creates the postgresql search form
-                                                             # this should be done after creating the db
-                                                             # to be searched
-            sisu --webrick &                                 # starts ruby webrick web server
-
-            # if necessary make the directory '/usr/lib/cgi-bin'
-            # here we copy the postgresql search form to cgi-bin
-            # (copy #{@cgi_file_name} to your cgi directory)
-            # set file permissions to 755
-        WOK
-        a=case @webserv
-        when /pwd/ then ''
-        else <<-WOK
-
-              sudo cp -vi #{Dir.pwd}/#{@cgi_file_name} /usr/lib/cgi-bin/.; \\
-              sudo chmod -v 755  /usr/lib/cgi-bin/#{@cgi_file_name}
-          WOK
-        end
-        b='(to create and populate sisu sqlite database see "man sisu" and in particular the -d flag)'
-        SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],a,b).warn
-        a=<<-WOK
-
-              #{@env.webserv_base_cgi(@opt)}/cgi-bin/#{@cgi_file_name}
-
-        WOK
-        SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],a).print_blue
-      else puts "failed in attempt to write #{@cgi_file_name} to present directory, is directory writable?"
-      end
-    end
-    def header0
-      <<-WOK_SQL
-#!/usr/bin/env ruby
-=begin
-#{about}
- * Description: generates naive cgi search form for search of sisu database (sqlite)
-#{gpl}
-=end
-      begin
-        require 'cgi'
-        require 'fcgi'
-        require 'sqlite3'
-      rescue LoadError
-        puts 'cgi, fcgi or sqlite3 NOT FOUND (LoadError)'
-      end
-      @stub_default='sisu_sqlite'
-      @image_src="#{@image_src}"
-      @hosturl_cgi="#{@name_of[:host_url_cgi]}"
-      @hosturl_files="#{@name_of[:host_url_docs]}"
-      @output_dir_structure_by='#{@name_of[:output_dir_structure]}'
-      @lingual='#{@name_of[:lingual]}'
-      @db_name_prefix='#{Db[:name_prefix]}'
-      @base="#{@name_of[:host_url_cgi]}#{@name_of[:cgi_script]}"
-      WOK_SQL
-    end
-    def search_statement
-      <<-'WOK_SQL'
-      class DBI_SearchString
-        def initialize(l,t,q,cse=false)
-          @l,@t,@q=l,t,q
-        end
-        def string
-          search={ search: [], flag: false }
-          if @t =~/\S+/ or @q =~/\S+/
-            if @t =~/\S+/    then unescaped_search=CGI.unescape(@t)
-            elsif @q =~/\S+/ then unescaped_search=CGI.unescape(@q)
-            end
-            search_construct=[]
-            unescaped_search=unescaped_search.gsub(/\s*(AND|OR)\s*/,"%' \) \\1 #{@l} LIKE \( '%").
-              gsub(/(.+)/,"#{@l} LIKE \( '%\\1%' \)")
-            search_construct << unescaped_search
-            search_construct=search_construct.join(' ')
-            search[:search]                    << search_construct
-            search[:flag]=true
-            search
-          end
-          search
-        end
-      end
-      WOK_SQL
-    end
-    def search_query1
-      <<-'WOK_SQL'
-          @search_text=''
-          @search_text=search[:text].flatten.join(' AND ')
-          @search_text=@search_text.gsub(/(doc_objects\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\)\s+(?:(?:AND|OR)\s+doc_objects\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\))+)/,'(\1)')
-        end
-      WOK_SQL
-    end
-    def search_query2
-      <<-'WOK_SQL'
-        def sql_select_body
-          limit ||=@@limit
-          offset ||=@@offset
-          @sql_statement[:body]=%{SELECT metadata_and_text.title, metadata_and_text.creator_author, metadata_and_text.src_filename, metadata_and_text.language_document_char, metadata_and_text.notes_suffix, doc_objects.body, doc_objects.seg, doc_objects.ocn, metadata_and_text.tid FROM doc_objects, metadata_and_text WHERE #{@search_text} AND doc_objects.metadata_tid = metadata_and_text.tid ORDER BY metadata_and_text.language_document_char, metadata_and_text.title, metadata_and_text.src_filename, doc_objects.ocn}
-          @sql_statement[:range]=%{LIMIT #{limit} OFFSET #{offset} ;}
-          select=@sql_statement[:body] + ' ' + @sql_statement[:range]
-          select
-        end
-        def sql_select_body_format
-          %{<font color="#666666" size="2">#{sql_select_body}</font>}
-        end
-        def contents
-          @conn.execute(sql_select_body)
-        end
-      end
-      WOK_SQL
-    end
-    def dbi_connect
-      <<-'WOK_SQL'
-          @conn=SQLite3::Database.new(db_sqlite)
-          @conn.results_as_hash=true
-      WOK_SQL
-    end
-  end
-end
-__END__
diff --git a/lib/sisu/current/conf.rb b/lib/sisu/current/conf.rb
deleted file mode 100644 (file)
index 2bc71ce..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-# encoding: utf-8
-=begin
-
-* Name: SiSU
-
-** Description: documents, structuring, processing, publishing, search
-*** configuration
-
-** Author: Ralph Amissah
-  <ralph@amissah.com>
-  <ralph.amissah@gmail.com>
-
-** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-  2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
-  All Rights Reserved.
-
-** License: GPL 3