aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2014-08-08 00:38:36 -0400
committerRalph Amissah <ralph@amissah.com>2014-08-08 00:38:36 -0400
commitfe909890122d015ab05273e8d181b2b30765710f (patch)
treee922edaef0997e926a4983593ec088dcca7f7d77 /lib
parentdebian/changelog (5.5.6-1) (diff)
parentdocumentation related (diff)
Merge tag 'sisu_5.6.0' into debian/sid
SiSU 5.6.0
Diffstat (limited to 'lib')
-rw-r--r--lib/sisu/v5/ao.rb16
-rw-r--r--lib/sisu/v5/ao_composite.rb6
-rw-r--r--lib/sisu/v5/ao_doc_str.rb78
-rw-r--r--lib/sisu/v5/ao_endnotes.rb4
-rw-r--r--lib/sisu/v5/ao_expand_insertions.rb20
-rw-r--r--lib/sisu/v5/cgi.rb6
-rw-r--r--lib/sisu/v5/cgi_pgsql.rb2
-rw-r--r--lib/sisu/v5/cgi_sql_common.rb1
-rw-r--r--lib/sisu/v5/cgi_sqlite.rb2
-rw-r--r--lib/sisu/v5/conf.rb18
-rw-r--r--lib/sisu/v5/constants.rb4
-rw-r--r--lib/sisu/v5/css.rb59
-rw-r--r--lib/sisu/v5/db_create.rb7
-rw-r--r--lib/sisu/v5/db_import.rb45
-rw-r--r--lib/sisu/v5/db_load_tuple.rb19
-rw-r--r--lib/sisu/v5/db_remove.rb2
-rw-r--r--lib/sisu/v5/dbi.rb5
-rw-r--r--lib/sisu/v5/dbi_discrete.rb2
-rw-r--r--lib/sisu/v5/digests.rb2
-rw-r--r--lib/sisu/v5/dp.rb16
-rw-r--r--lib/sisu/v5/dp_identify_markup.rb2
-rw-r--r--lib/sisu/v5/dp_make.rb2
-rw-r--r--lib/sisu/v5/embedded.rb4
-rw-r--r--lib/sisu/v5/harvest.rb4
-rw-r--r--lib/sisu/v5/harvest_authors.rb113
-rw-r--r--lib/sisu/v5/harvest_topics.rb120
-rw-r--r--lib/sisu/v5/html.rb10
-rw-r--r--lib/sisu/v5/html_concordance.rb11
-rw-r--r--lib/sisu/v5/html_format.rb15
-rw-r--r--lib/sisu/v5/html_scroll.rb26
-rw-r--r--lib/sisu/v5/html_segments.rb147
-rw-r--r--lib/sisu/v5/html_tune.rb2
-rw-r--r--lib/sisu/v5/hub.rb637
-rw-r--r--lib/sisu/v5/hub_actions.rb585
-rw-r--r--lib/sisu/v5/hub_options.rb966
-rw-r--r--lib/sisu/v5/manifest.rb4
-rw-r--r--lib/sisu/v5/manpage.rb4
-rw-r--r--lib/sisu/v5/po4a.rb2
-rw-r--r--lib/sisu/v5/qrcode.rb23
-rw-r--r--lib/sisu/v5/rexml.rb2
-rw-r--r--lib/sisu/v5/se_createsite.rb37
-rw-r--r--lib/sisu/v5/se_db.rb4
-rw-r--r--lib/sisu/v5/se_file_op.rb2
-rw-r--r--lib/sisu/v5/se_filemap.rb4
-rw-r--r--lib/sisu/v5/se_hub_particulars.rb22
-rw-r--r--lib/sisu/v5/se_info_env.rb34
-rw-r--r--lib/sisu/v5/se_processing.rb186
-rw-r--r--lib/sisu/v5/se_programs.rb10
-rw-r--r--lib/sisu/v5/texinfo.rb4
-rw-r--r--lib/sisu/v5/texpdf.rb32
-rw-r--r--lib/sisu/v5/texpdf_format.rb3
-rw-r--r--lib/sisu/v5/txt_asciidoc.rb2
-rw-r--r--lib/sisu/v5/txt_markdown.rb2
-rw-r--r--lib/sisu/v5/txt_plain.rb18
-rw-r--r--lib/sisu/v5/txt_rst.rb2
-rw-r--r--lib/sisu/v5/txt_textile.rb2
-rw-r--r--lib/sisu/v5/update.rb2
-rw-r--r--lib/sisu/v5/urls.rb910
-rw-r--r--lib/sisu/v5/utils_screen_text_color.rb4
-rw-r--r--lib/sisu/v5/wikispeak.rb2
-rw-r--r--lib/sisu/v5/xhtml.rb9
-rw-r--r--lib/sisu/v5/xhtml_epub2.rb75
-rw-r--r--lib/sisu/v5/xhtml_epub2_concordance.rb6
-rw-r--r--lib/sisu/v5/xhtml_epub2_format.rb48
-rw-r--r--lib/sisu/v5/xhtml_epub2_segments.rb9
-rw-r--r--lib/sisu/v5/xhtml_epub2_tune.rb2
-rw-r--r--lib/sisu/v5/xml_docbook5.rb6
-rw-r--r--lib/sisu/v5/xml_dom.rb71
-rw-r--r--lib/sisu/v5/xml_fictionbook2.rb2
-rw-r--r--lib/sisu/v5/xml_format.rb33
-rw-r--r--lib/sisu/v5/xml_odf_odt.rb103
-rw-r--r--lib/sisu/v5/xml_odf_odt_format.rb2
-rw-r--r--lib/sisu/v5/xml_sax.rb13
-rw-r--r--lib/sisu/v5/xml_scaffold_structure_collapsed.rb2
-rw-r--r--lib/sisu/v5/xml_scaffold_structure_sisu.rb2
-rw-r--r--lib/sisu/v5/zap.rb2
-rw-r--r--lib/sisu/v6/ao_doc_str.rb78
-rw-r--r--lib/sisu/v6/constants.rb4
-rw-r--r--lib/sisu/v6/css.rb59
-rw-r--r--lib/sisu/v6/db_create.rb7
-rw-r--r--lib/sisu/v6/db_import.rb37
-rw-r--r--lib/sisu/v6/db_load_tuple.rb19
-rw-r--r--lib/sisu/v6/html_format.rb15
-rw-r--r--lib/sisu/v6/html_scroll.rb24
-rw-r--r--lib/sisu/v6/html_segments.rb145
-rw-r--r--lib/sisu/v6/hub_options.rb4
-rw-r--r--lib/sisu/v6/texpdf.rb2
-rw-r--r--lib/sisu/v6/texpdf_format.rb3
-rw-r--r--lib/sisu/v6/txt_plain.rb14
-rw-r--r--lib/sisu/v6/xhtml.rb5
-rw-r--r--lib/sisu/v6/xhtml_epub2.rb61
-rw-r--r--lib/sisu/v6/xhtml_epub2_format.rb48
-rw-r--r--lib/sisu/v6/xhtml_epub2_segments.rb7
-rw-r--r--lib/sisu/v6/xml_dom.rb67
-rw-r--r--lib/sisu/v6/xml_format.rb33
-rw-r--r--lib/sisu/v6/xml_odf_odt.rb97
-rw-r--r--lib/sisu/v6/xml_odf_odt_format.rb2
-rw-r--r--lib/sisu/v6/xml_sax.rb9
98 files changed, 3431 insertions, 1969 deletions
diff --git a/lib/sisu/v5/ao.rb b/lib/sisu/v5/ao.rb
index d7b418f5..0a494184 100644
--- a/lib/sisu/v5/ao.rb
+++ b/lib/sisu/v5/ao.rb
@@ -124,7 +124,7 @@ module SiSU_AO
: @opt.fns
create_ao
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@@fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@@fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -145,7 +145,7 @@ module SiSU_AO
? read_fnc
: @@ao_array.dup
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -166,7 +166,7 @@ module SiSU_AO
? read_idx_sst
: @@idx_arr[:sst].dup #check
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -187,7 +187,7 @@ module SiSU_AO
? read_idx_raw
: @@idx_arr[:tex].dup #check
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -208,7 +208,7 @@ module SiSU_AO
? read_idx_html
: @@idx_arr[:html].dup
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -229,7 +229,7 @@ module SiSU_AO
? read_idx_xhtml
: @@idx_arr[:xhtml].dup
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -250,7 +250,7 @@ module SiSU_AO
? read_map_nametags
: @@map_arr[:nametags].dup
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -271,7 +271,7 @@ module SiSU_AO
? read_map_ocn_htmlseg
: @@map_arr[:ocn_htmlseg].dup
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/ao_composite.rb b/lib/sisu/v5/ao_composite.rb
index af194db7..5a183d65 100644
--- a/lib/sisu/v5/ao_composite.rb
+++ b/lib/sisu/v5/ao_composite.rb
@@ -114,7 +114,7 @@ module SiSU_Assemble
end
Dir.chdir(pwd)
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -157,7 +157,7 @@ module SiSU_Assemble
end
tuned_file=tuned_file.flatten.compact
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -253,7 +253,7 @@ module SiSU_Assemble
fns_array=IO.readlines(@opt.fns,'')
insertions?(fns_array)
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/ao_doc_str.rb b/lib/sisu/v5/ao_doc_str.rb
index 931e51d3..11990abf 100644
--- a/lib/sisu/v5/ao_doc_str.rb
+++ b/lib/sisu/v5/ao_doc_str.rb
@@ -1223,7 +1223,7 @@ module SiSU_AO_DocumentStructureExtract
end
def structure_info
def lv
- %w[A~ B~ C~ D~ 1 2 3]
+ %w[A~ B~ C~ D~ 1 2 3 4]
end
def possible_parents(child)
case child
@@ -1234,6 +1234,7 @@ module SiSU_AO_DocumentStructureExtract
when /1/ then 'A~, B~, C~, D~'
when /2/ then '1'
when /3/ then '2'
+ when /4/ then '3'
end
end
def possible_children(parent)
@@ -1244,20 +1245,21 @@ module SiSU_AO_DocumentStructureExtract
when /D~/ then '1'
when /1/ then '2'
when /2/ then '3'
- when /3/ then 'none'
+ when /3/ then '4'
+ when /4/ then 'none'
end
end
self
end
def document_structure_check_info(node,node_parent,status=:ok)
- node_ln=/^([0-6])/.match(node)[1].to_i
- node_parent_ln=/^([0-6])/.match(node_parent)[1].to_i
+ node_ln=/^([0-7])/.match(node)[1].to_i
+ node_parent_ln=/^([0-7])/.match(node_parent)[1].to_i
if status==:error \
or @md.opt.act[:maintenance][:set]==:on
puts %{node: #{node}, parent node: #{node_parent} #{status.upcase}}
if status==:error
- node_ln=/^([0-6])/.match(node)[1].to_i
- node_parent_ln=/^([0-6])/.match(node_parent)[1].to_i
+ node_ln=/^([0-7])/.match(node)[1].to_i
+ node_parent_ln=/^([0-7])/.match(node_parent)[1].to_i
STDERR.puts %{current level: #{structure_info.lv[node_ln]} (possible parent levels: #{structure_info.possible_parents(structure_info.lv[node_ln])})
parent level: #{structure_info.lv[node_parent_ln]} (possible child levels: #{structure_info.possible_children(structure_info.lv[node_parent_ln])})
SKIPPED processing file: [#{@md.opt.lng}] "#{@md.fns}"}
@@ -1297,12 +1299,12 @@ SKIPPED processing file: [#{@md.opt.lng}] "#{@md.fns}"
required_headers_present?
data=@data
@o_array=[]
- node=ocn=ocn_dv=ocn_sp=ocnh=ocnh0=ocnh1=ocnh2=ocnh3=ocnh4=ocnh5=ocnh6=ocno=ocnp=ocnt=ocnc=ocng=ocni=ocnu=0 # h heading, o other, t table, g group, i image
+ node=ocn=ocn_dv=ocn_sp=ocnh=ocnh0=ocnh1=ocnh2=ocnh3=ocnh4=ocnh5=ocnh6=ocnh7=ocno=ocnp=ocnt=ocnc=ocng=ocni=ocnu=0 # h heading, o other, t table, g group, i image
regex_exclude_ocn_and_node = /#{Rx[:meta]}|^@\S+?:\s|^4~endnotes|^#{Mx[:lv_o]}4:endnotes#{Mx[:lv_c]}|^\^~ |<:e[:_]\d+?>|^<:\#|<:- |<[:!]!4|<hr width|#{Mx[:br_endnotes]}|\A\s*\Z/mi #ocn here #&nbsp; added with Tune.code #ยก
- parent=node1=node2=node3=node4=node5=node6=nil
+ parent=node1=node2=node3=node4=node5=node6=node7=nil
node0='0:0;0'
@collapsed_lv0=0
- @lev_occurences={ a: 0, b: 0, c: 0, d: 0, l1: 0, l2: 0, l3: 0 }
+ @lev_occurences={ a: 0, b: 0, c: 0, d: 0, l1: 0, l2: 0, l3: 0, l4: 0 }
data.each do |dob|
h={}
if (dob.obj !~ regex_exclude_ocn_and_node || dob.is==:code) \
@@ -1336,7 +1338,8 @@ SKIPPED processing file: [#{@md.opt.lng}] "#{@md.fns}"
or ln.to_s =~@md.lv3 \
or ln.to_s =~@md.lv4 \
or ln.to_s =~@md.lv5 \
- or ln.to_s =~@md.lv6)
+ or ln.to_s =~@md.lv6 \
+ or ln.to_s =~@md.lv7)
if not dob.obj =~/~#|-#/
ocnh+=1
end
@@ -1523,7 +1526,7 @@ or this level should be level :B~ rather than #{dob.lv}}
warning_incorrect_parent_level_or_level(dob.obj)
puts "parent is level 4~ & this level #{dob.lv}
either parent should be level 5~
-or this level should be 5~ rather #{dob.lv}" #level 6
+or this level should be 5~ rather #{dob.lv}"
document_structure_check_info(node6,node4,:error)
@collapsed_lv6=@collapsed_lv4+1
node4
@@ -1549,6 +1552,59 @@ or this level should be 5~ rather #{dob.lv}" #level 6
end
collapsed_level=@collapsed_lv6
node,ocn_sp=node6,"h#{ocnh}"
+ elsif ln==7 \
+ or ln=~@md.lv7
+ @lev_occurences[:l4] += 1
+ if not dob.obj =~/~#|-#/
+ ocn_flag=true
+ ocnh7+=1
+ node7="7:#{ocnh7};#{ocn}"
+ else
+ ocn_flag=false
+ node7="7:0;0"
+ end
+ parent=if node6
+ document_structure_check_info(node7,node6)
+ @collapsed_lv7=@collapsed_lv6+1
+ node5
+ elsif node5
+ warning_incorrect_parent_level_or_level(dob.obj)
+ puts "parent is level 5~ & this level #{dob.lv}
+either parent should be level 6~
+or this level should be 6~ rather #{dob.lv}"
+ document_structure_check_info(node7,node5,:error)
+ @collapsed_lv6=@collapsed_lv5+1
+ node5
+ elsif node4
+ warning_incorrect_parent_level_or_level(dob.obj)
+ puts "parent is level 4~ & this level #{dob.lv}
+either parent should be level 6~
+or this level should be 6~ rather #{dob.lv}"
+ document_structure_check_info(node7,node4,:error)
+ @collapsed_lv6=@collapsed_lv4+1
+ node4
+ elsif node3
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node3,:error)
+ @collapsed_lv6=@collapsed_lv3+1
+ node3
+ elsif node2
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node2,:error)
+ @collapsed_lv6=@collapsed_lv2+1
+ node2
+ elsif node1
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node1,:error)
+ @collapsed_lv6=@collapsed_lv1+1
+ node1
+ else
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node0,:error)
+ node0
+ end
+ collapsed_level=@collapsed_lv7
+ node,ocn_sp=node7,"h#{ocnh}"
end
else
unless @lev_occurences[:l1] > 0
diff --git a/lib/sisu/v5/ao_endnotes.rb b/lib/sisu/v5/ao_endnotes.rb
index 5517cd87..e83cdfc3 100644
--- a/lib/sisu/v5/ao_endnotes.rb
+++ b/lib/sisu/v5/ao_endnotes.rb
@@ -76,11 +76,11 @@ module SiSU_AO_Endnotes
endnote_ref=1
data.each do |dob|
# manually numbered endnotes <!e(\d)!> <!e_(\d)!> -->
- if @md.opt.mod.inspect =~/--no-asterisk|--no-annotate/
+ if @md.opt.selections.str =~/--no-asterisk|--no-annotate/
dob.obj=dob.obj.
gsub(/#{Mx[:en_b_o]}\s.+?#{Mx[:en_b_c]}/,'')
end
- if @md.opt.mod.inspect =~/--no-dagger|--no-annotate/
+ if @md.opt.selections.str =~/--no-dagger|--no-annotate/
dob.obj=dob.obj.
gsub(/#{Mx[:en_b_o]}[+]\s.+?#{Mx[:en_b_c]}/,'')
end
diff --git a/lib/sisu/v5/ao_expand_insertions.rb b/lib/sisu/v5/ao_expand_insertions.rb
index dce14ee4..47ac9887 100644
--- a/lib/sisu/v5/ao_expand_insertions.rb
+++ b/lib/sisu/v5/ao_expand_insertions.rb
@@ -66,14 +66,18 @@ module SiSU_AO_Insertions
@md,@data=md,data
end
def output_filetypes_in_cmd(cmd_shortcut,lnk=nil) #make list of file types in shortcut command (as configured), e.g. when sisu -3 is used
- cf_defaults=SiSU_Env::InfoProcessingFlag.new
- cmd_list=case cmd_shortcut.inspect
- when /0/ then cf_defaults.cf_0
- when /1/ then cf_defaults.cf_1
- when /2/ then cf_defaults.cf_2
- when /3/ then cf_defaults.cf_3
- when /4/ then cf_defaults.cf_4
- when /5/ then cf_defaults.cf_5
+ act_defaults=SiSU_Env::InfoProcessingFlag.new
+ cmd_list=case cmd_shortcut.inspect #check on expectation, string v array
+ when /0/ then act_defaults.act_0.str
+ when /1/ then act_defaults.act_1.str
+ when /2/ then act_defaults.act_2.str
+ when /3/ then act_defaults.act_3.str
+ when /4/ then act_defaults.act_4.str
+ when /5/ then act_defaults.act_5.str
+ when /6/ then act_defaults.act_6.str
+ when /7/ then act_defaults.act_7.str
+ when /8/ then act_defaults.act_8.str
+ when /9/ then act_defaults.act_9.str
end
file_type_names={}
file_type_names[:gen],file_type_names[:src]=[],[]
diff --git a/lib/sisu/v5/cgi.rb b/lib/sisu/v5/cgi.rb
index efea863c..201f028b 100644
--- a/lib/sisu/v5/cgi.rb
+++ b/lib/sisu/v5/cgi.rb
@@ -61,7 +61,7 @@
(pgsql sqlite)
=end
-module SiSU_CGI #% database building documents
+module SiSU_CGI #% database building documents
require_relative 'se' # se.rb
require_relative 'cgi_pgsql' # cgi_pgsql.rb
require_relative 'cgi_sqlite' # cgi_sqlite.rb
@@ -71,9 +71,9 @@ module SiSU_CGI
@webserv=@opt.files[0].to_s.strip
end
def read
- if @opt.mod.inspect =~/--db[=-]["']?(?:pg|pg?sql|postgres(?:ql)?)["']+/
+ if @opt.act[:psql][:set]==:on
SiSU_CGI_PgSQL::SearchPgSQL.new(@opt,@webserv).pgsql
- elsif @opt.mod.inspect =~/--db[=-](?:sqlite)/
+ elsif @opt.act[:sqlite][:set]==:on
SiSU_CGI_SQLite::SearchSQLite.new(@opt,@webserv).sqlite
else
puts <<-WOK
diff --git a/lib/sisu/v5/cgi_pgsql.rb b/lib/sisu/v5/cgi_pgsql.rb
index 633e20fc..e5b61cc1 100644
--- a/lib/sisu/v5/cgi_pgsql.rb
+++ b/lib/sisu/v5/cgi_pgsql.rb
@@ -60,7 +60,7 @@
** Description: generates naive cgi search form for search of sisu database (pgsql)
=end
-module SiSU_CGI_PgSQL #% database building documents
+module SiSU_CGI_PgSQL #% database building documents
require_relative 'se' # se.rb
require_relative 'cgi_sql_common' # cgi_sql_common.rb
include SiSU_CGI_SQL
diff --git a/lib/sisu/v5/cgi_sql_common.rb b/lib/sisu/v5/cgi_sql_common.rb
index c760a9db..7fadb68e 100644
--- a/lib/sisu/v5/cgi_sql_common.rb
+++ b/lib/sisu/v5/cgi_sql_common.rb
@@ -64,7 +64,6 @@ module SiSU_CGI_SQL
class CGI_Common
def initialize(webserv,opt,image_src,dir)
@webserv,@opt,@image_src,@env=webserv,opt,image_src,dir
- @cmd=opt.cmd
end
def about
<<-'WOK_SQL'
diff --git a/lib/sisu/v5/cgi_sqlite.rb b/lib/sisu/v5/cgi_sqlite.rb
index 531071c4..4644dbc0 100644
--- a/lib/sisu/v5/cgi_sqlite.rb
+++ b/lib/sisu/v5/cgi_sqlite.rb
@@ -60,7 +60,7 @@
** Description: generates naive cgi search form for search of sisu database (sqlite)
=end
-module SiSU_CGI_SQLite #% database building documents
+module SiSU_CGI_SQLite #% database building documents
require_relative 'se' # se.rb
require_relative 'cgi_sql_common' # cgi_sql_common.rb
include SiSU_CGI_SQL
diff --git a/lib/sisu/v5/conf.rb b/lib/sisu/v5/conf.rb
index 820d0941..b126d320 100644
--- a/lib/sisu/v5/conf.rb
+++ b/lib/sisu/v5/conf.rb
@@ -206,10 +206,10 @@ module SiSU_Initialize
rnc.close
#xsd
schema=SiSU_Env::SystemCall.new(rnc_src,xsd_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
#rng
schema=SiSU_Env::SystemCall.new(rnc_src,rng_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
#rnc
if FileTest.file?(rnc_src)
FileUtils::cp(rnc_src,rnc_file)
@@ -228,10 +228,10 @@ module SiSU_Initialize
rnc.close
#xsd
schema=SiSU_Env::SystemCall.new(rnc_src,xsd_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
#rng
schema=SiSU_Env::SystemCall.new(rnc_src,rng_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
#rnc
if FileTest.file?(rnc_src)
FileUtils::cp(rnc_src,rnc_file)
@@ -250,10 +250,10 @@ module SiSU_Initialize
rnc.close
#xsd
schema=SiSU_Env::SystemCall.new(rnc_src,xsd_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
#rng
schema=SiSU_Env::SystemCall.new(rnc_src,rng_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
#rnc
if FileTest.file?(rnc_src)
FileUtils::cp(rnc_src,rnc_file)
@@ -268,7 +268,7 @@ module SiSU_Initialize
rnc << @rxng.rnc_model_output_sax
rnc.close
schema=SiSU_Env::SystemCall.new(rnc_file,dtd_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
end
def trang_rnc_model_input_dom
rnc_file=@env.processing_path.ao + '/dom.rnc'
@@ -277,7 +277,7 @@ module SiSU_Initialize
rnc << @rxng.rnc_model_output_dom
rnc.close
schema=SiSU_Env::SystemCall.new(rnc_file,dtd_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
end
def trang_rnc_model_input_node
rnc_file=@env.processing_path.ao + '/node.rnc'
@@ -286,7 +286,7 @@ module SiSU_Initialize
rnc << @rxng.rnc_model_input_node
rnc.close
schema=SiSU_Env::SystemCall.new(rnc_file,dtd_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
end
end
end
diff --git a/lib/sisu/v5/constants.rb b/lib/sisu/v5/constants.rb
index 55c3ff2a..e0f28a6d 100644
--- a/lib/sisu/v5/constants.rb
+++ b/lib/sisu/v5/constants.rb
@@ -267,8 +267,8 @@ else
}
end
Db={
- name_prefix: "SiSU#{SiSU_is[:version_dir]}b_",
- name_prefix_db: "sisu_#{SiSU_is[:version_dir]}b_",
+ name_prefix: "SiSU#{SiSU_is[:version_dir]}c_",
+ name_prefix_db: "sisu_#{SiSU_is[:version_dir]}c_",
col_title: 800,
col_title_part: 400,
col_title_edition: 10,
diff --git a/lib/sisu/v5/css.rb b/lib/sisu/v5/css.rb
index b99359aa..f1598550 100644
--- a/lib/sisu/v5/css.rb
+++ b/lib/sisu/v5/css.rb
@@ -236,7 +236,7 @@ WOK
margin-bottom: 0px;
text-indent: 0mm;
}
- p, h0, h1, h2, h3, h4, h5, h6 {
+ p, h0, h1, h2, h3, h4, h5, h6, h7 {
display: block;
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
@@ -447,7 +447,7 @@ WOK
padding-left: 0em;
text-indent: 0em;
}
- p, h0, h1, h2, h3, h4, h5, h6 {
+ p, h0, h1, h2, h3, h4, h5, h6, h7 {
display: block;
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
@@ -1307,18 +1307,18 @@ WOK
font-weight: bold;
}
- h0, h1, h2, h3, h4, h5, h6 {
+ h0, h1, h2, h3, h4, h5, h6, h7 {
font-weight: bold;
line-height: 120%;
text-align: left;
margin-top: 20px;
margin-bottom: 10px;
}
- h4.norm, h5.norm, h6.norm {
+ h4.norm, h5.norm, h6.norm, h7.norm {
margin-top: 10px;
margin-bottom: 0px;
}
- h1.center, h2.center, h3.center, h4.center, h5.center, h6.center {
+ h1.center, h2.center, h3.center, h4.center, h5.center, h6.center, h7.center {
text-align: center;
}
h1 { font-size: 120%; }
@@ -1327,6 +1327,7 @@ WOK
h4 { font-size: 105%; }
h5 { font-size: 100%; }
h6 { font-size: 100%; }
+ h7 { font-size: 100%; }
h0 { font-size: 80%; }
h1.i {margin-left: 2em;}
@@ -1418,6 +1419,8 @@ WOK
}
h6.banner {
}
+ h7.banner {
+ }
.toc {
font-weight: normal;
@@ -1454,6 +1457,11 @@ WOK
font-size: 90%;
line-height: 110%;
}
+ h7.toc {
+ margin-left: 7em;
+ font-size: 85%;
+ line-height: 100%;
+ }
.microtoc {
margin-top: 2px;
@@ -1487,6 +1495,11 @@ WOK
font-weight: normal;
font-size: 90%;
}
+ h7.microtoc {
+ margin-left: 30mm;
+ font-weight: normal;
+ font-size: 85%;
+ }
.subtoc {
margin-right: 34%;
@@ -1504,6 +1517,12 @@ WOK
margin-top: 0px;
margin-bottom: 0px;
}
+ h7.subtoc {
+ margin-left: 4em;
+ font-size: 70%;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ }
div.substance {
width: 100%;
@@ -1629,15 +1648,19 @@ WOK
margin-left: 2em;
font-size: 85%;
}
+ h7.minitoc {
+ margin-left: 3em;
+ font-size: 80%;
+ }
h0.minitoc {
margin-left: 0em;
font-size: 90%;
}
- h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, p.c {
+ h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, h7.c, p.c {
text-align: center
}
- h1.red, h2.red, h3.red, h4.red, h5.red, h6.red {
+ h1.red, h2.red, h3.red, h4.red, h5.red, h6.red, h7.red {
text-align: center;
color: #ff0000;
margin-left: 5mm;
@@ -1646,7 +1669,7 @@ WOK
margin-bottom: 20px;
margin-right: 15mm;
}
- h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby {
+ h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby, h7.ruby {
text-align: center;
color: #990000;
margin-left: 5mm;
@@ -1856,6 +1879,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ text[class|="h7"] {
+ font-size: 110%;
+ font-weight: bold;
+ text-align: left;
+ }
text[class|="indent0"] {
padding-left: 10%;
}
@@ -2591,6 +2619,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ text[class|="h7"] {
+ font-size: 110%;
+ font-weight: bold;
+ text-align: left;
+ }
text[class|="indent0"] {
padding-left: 10%;
}
@@ -3271,6 +3304,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ para.h7 {
+ font-size: 110%;
+ font-weight: bold;
+ text-align: left;
+ }
table {
margin-left: 5%;
display: block;
@@ -3427,6 +3465,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ p.h7 {
+ font-size: 150%;
+ font-weight: bold;
+ text-align: left;
+ }
ocn {
display: block;
text-align: right;
diff --git a/lib/sisu/v5/db_create.rb b/lib/sisu/v5/db_create.rb
index 35b15ada..956a470a 100644
--- a/lib/sisu/v5/db_create.rb
+++ b/lib/sisu/v5/db_create.rb
@@ -264,6 +264,7 @@ module SiSU_DbCreate
lev4 SMALLINT,
lev5 SMALLINT,
lev6 SMALLINT,
+ lev7 SMALLINT,
en_a SMALLINT NULL,
en_z SMALLINT NULL,
en_a_asterisk SMALLINT NULL,
@@ -506,9 +507,9 @@ module SiSU_DbCreate
%{COMMENT ON COLUMN doc_objects.metadata_tid
IS 'tie to title in metadata_and_text';},
%{COMMENT ON COLUMN doc_objects.lev_an
- IS 'doc level A-D 1-6';},
+ IS 'doc level A-D 1-4';},
%{COMMENT ON COLUMN doc_objects.lev
- IS 'doc level 0-6 \d\~';},
+ IS 'doc level 0-7 \d\~';},
%{COMMENT ON COLUMN doc_objects.seg
IS 'segment name from level number 4 (lv 1)';},
%{COMMENT ON COLUMN doc_objects.ocn
@@ -547,6 +548,8 @@ module SiSU_DbCreate
IS 'document structure, level number 5';},
%{COMMENT ON COLUMN doc_objects.lev6
IS 'document structure, level number 6';},
+ %{COMMENT ON COLUMN doc_objects.lev7
+ IS 'document structure, level number 7';},
%{COMMENT ON COLUMN doc_objects.t_of
IS 'document structure, type of object (object is of)';},
%{COMMENT ON COLUMN doc_objects.t_is
diff --git a/lib/sisu/v5/db_import.rb b/lib/sisu/v5/db_import.rb
index 791eef43..5bb886ff 100644
--- a/lib/sisu/v5/db_import.rb
+++ b/lib/sisu/v5/db_import.rb
@@ -79,7 +79,7 @@ module SiSU_DbImport
@env=SiSU_Env::InfoEnv.new(@opt.fns)
@dal="#{@env.processing_path.ao}"
@fnb=if @opt.fns.empty? \
- or @opt.cmd.empty?
+ or @opt.selections.str.empty?
''
else
@md=SiSU_Param::Parameters.new(@opt).get
@@ -118,7 +118,7 @@ module SiSU_DbImport
puts "#{__FILE__}:#{__LINE__}" if @opt.act[:maintenance][:set]==:on
end
@id_n =0 if @col[:lid].nil? or @col[:lid].to_s.empty?
- @col[:lv0]=@col[:lv1]=@col[:lv2]=@col[:lv3]=@col[:lv4]=@col[:lv5]=@col[:lv6]=0
+ @col[:lv0]=@col[:lv1]=@col[:lv2]=@col[:lv3]=@col[:lv4]=@col[:lv5]=@col[:lv6]=@col[:lv7]=0
@db=SiSU_Env::InfoDb.new
@pdf_fn=SiSU_Env::FileOp.new(@md).base_filename
@@dl ||=SiSU_Env::InfoEnv.new.digest.length
@@ -233,7 +233,7 @@ module SiSU_DbImport
@conn.exec("COMMIT")
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
sqlfn="#{@env.processing_path.sql}/#{@md.fnb}.sql"
@@ -390,6 +390,7 @@ module SiSU_DbImport
when /1/ then @col[:lv1]+=1
when /2/ then @col[:lv2]+=1
when /3/ then @col[:lv3]+=1
+ when /4/ then @col[:lv4]+=1
end
@col[:lev]=@col[:plaintext]=@col[:body]=''
elsif data.is==:heading \
@@ -480,7 +481,8 @@ module SiSU_DbImport
@col[:lev]=@col[:plaintext]=@col[:body]=''
elsif data.is==:heading \
&& data.ln==6
- txt,@col[:ocn],@col[:lev_an],@col[:ocnd],@col[:ocns],@col[:t_of],@col[:t_is],@col[:node],@col[:parent],@col[:digest_clean],@col[:digest_all]=data.obj,data.ocn,data.lv,data.odv,data.osp,data.of,data.is,data.node,data.parent,'',''
+ txt, @col[:ocn],@col[:lev_an],@col[:ocnd],@col[:ocns],@col[:t_of],@col[:t_is],@col[:node],@col[:parent],@col[:digest_clean],@col[:digest_all]=
+ data.obj,data.ocn, data.lv, data.odv, data.osp, data.of, data.is, data.node, data.parent, '', ''
@@seg_full=data.name if data.is==:heading && data.ln==6 && data.name #check data.name
@@seg ||='' #nil # watch
@col[:seg]=@@seg
@@ -508,6 +510,37 @@ module SiSU_DbImport
t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint)
@tuple_array << t.tuple
@col[:lev]=@col[:plaintext]=@col[:body]=''
+ elsif data.is==:heading \
+ && data.ln==7
+ txt, @col[:ocn],@col[:lev_an],@col[:ocnd],@col[:ocns],@col[:t_of],@col[:t_is],@col[:node],@col[:parent],@col[:digest_clean],@col[:digest_all]=
+ data.obj,data.ocn, data.lv, data.odv, data.osp, data.of, data.is, data.node, data.parent, '', ''
+ @@seg_full=data.name if data.is==:heading && data.ln==7 && data.name #check data.name
+ @@seg ||='' #nil # watch
+ @col[:seg]=@@seg
+ @col[:lv7]+=1
+ @col[:lid]+=1
+ @col[:lev]=7
+ @hname=if @col[:seg] \
+ and not @col[:seg].to_s.empty?
+ @@hname=@col[:seg].to_s
+ else @@hname
+ end
+ @env=SiSU_Env::InfoEnv.new(@md.fns)
+ @base_url="#{@env.url.root}/#{@md.fnb}/#{@hname}.html"
+ txt=endnotes(txt).extract_any
+ body=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_plus
+ @col[:body]=special_character_escape(body)
+ plaintext=@col[:body].dup
+ plaintext=strip_markup(plaintext)
+ @col[:plaintext]=clean_searchable_text(plaintext)
+ book_idx=book_idx_hash_to_str(data.idx)
+ @col[:book_idx]=clean_searchable_text(book_idx)
+ @en_a,@en_z=@en[0].first,@en[0].last if @en[0]
+ @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last if @en_ast[0]
+ @en_a_plus,@en_z_plus=@en_pls[0].first,@en_pls[0].last if @en_pls[0]
+ t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint)
+ @tuple_array << t.tuple
+ @col[:lev]=@col[:plaintext]=@col[:body]=''
#% :structure :layout :comment
elsif data.of==:structure \
|| data.of==:layout \
@@ -700,7 +733,7 @@ module SiSU_DbImport
end
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -833,7 +866,7 @@ module SiSU_DbImport
t=SiSU_DbTuple::LoadUrls.new(@conn,f,u,@@id_t,@opt,@file_maint)
tuple=t.tuple
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/db_load_tuple.rb b/lib/sisu/v5/db_load_tuple.rb
index 98310bfd..36c8fddf 100644
--- a/lib/sisu/v5/db_load_tuple.rb
+++ b/lib/sisu/v5/db_load_tuple.rb
@@ -69,8 +69,8 @@ module SiSU_DbTuple
def initialize(conn,col,opt,file_maint)
@conn,@col,@opt,@file_maint=conn,col,opt,file_maint
@col[:lev]=@col[:lev].to_i
- unless @col[:lev].inspect=~/^[0-6]/ \
- or @col[:lev]==0..6
+ unless @col[:lev].inspect=~/^[0-7]/ \
+ or @col[:lev]==0..7
@col[:lev]=9
end
@col[:ocn]=0 unless @col[:ocn].inspect=~/\d+/
@@ -78,11 +78,11 @@ module SiSU_DbTuple
end
def tuple #% import line
sql_entry=if @col[:en_a]
- "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, en_a, en_z, t_of, t_is, node, parent, digest_clean, digest_all) " +
- "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:en_a]}', '#{@col[:en_z]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
+ "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, lev7, en_a, en_z, t_of, t_is, node, parent, digest_clean, digest_all) " +
+ "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:lv7]}', '#{@col[:en_a]}', '#{@col[:en_z]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
else
- "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, t_of, t_is, node, parent, digest_clean, digest_all) " +
- "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
+ "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, lev7, t_of, t_is, node, parent, digest_clean, digest_all) " +
+ "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:lv7]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
end
if @opt.act[:verbose_plus][:set]==:on
if @opt.act[:maintenance][:set]==:on
@@ -97,7 +97,7 @@ module SiSU_DbTuple
end
end
if @opt.act[:verbose][:set]==:on
- if @col[:lev].inspect =~/[0-356]/
+ if @col[:lev].inspect =~/[0-35-7]/
lev=case @col[:lev].inspect
when /0/ then ':A'
when /1/ then ':B'
@@ -105,10 +105,11 @@ module SiSU_DbTuple
when /3/ then ':D'
when /5/ then ' 2'
when /6/ then ' 3'
+ when /7/ then ' 4'
end
- puts %{#{lev}>\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}}
+ puts %{#{lev}>\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:lv7]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}}
elsif @col[:lev].inspect =~/[4]/
- puts %{ #{@cX.green}1>#{@cX.off}\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}\t#{@col[:seg]}}
+ puts %{ #{@cX.green}1>#{@cX.off}\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:lv7]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}\t#{@col[:seg]}}
end
end
sql_entry
diff --git a/lib/sisu/v5/db_remove.rb b/lib/sisu/v5/db_remove.rb
index cff42409..324dbee4 100644
--- a/lib/sisu/v5/db_remove.rb
+++ b/lib/sisu/v5/db_remove.rb
@@ -178,7 +178,7 @@ module SiSU_DbRemove
|| @opt.act[:verbose_plus][:set]==:on \
|| @opt.act[:maintenance][:set]==:on)
SiSU_Screen::Ansi.new(
- @opt.cmd,
+ @opt.selections.str,
"no such file in database #{@db.psql.db}::#{@opt.fns}"
).puts_grey
end
diff --git a/lib/sisu/v5/dbi.rb b/lib/sisu/v5/dbi.rb
index 75b07372..a7bbd822 100644
--- a/lib/sisu/v5/dbi.rb
+++ b/lib/sisu/v5/dbi.rb
@@ -97,8 +97,7 @@ module SiSU_DBI
end
end
def maintenance_check(opt,file,line)
- p opt.mod
- p opt.cmd
+ p opt.selections.str
p "at #{file} #{line}"
end
def read_psql
@@ -134,7 +133,7 @@ manually create the database: "#{cX.green}#{@db.db}#{cX.off}" if it does not yet
end
SiSU_Screen::Ansi.new(
@opt.act[:color_state][:set],
- "DBI (#{@sql_type}) #{@opt.mod}",
+ "SQL DB #{@sql_type.upcase}",
@opt.fno
).dbi_title unless @opt.act[:quiet][:set]==:on
begin
diff --git a/lib/sisu/v5/dbi_discrete.rb b/lib/sisu/v5/dbi_discrete.rb
index 73976756..79d3f70a 100644
--- a/lib/sisu/v5/dbi_discrete.rb
+++ b/lib/sisu/v5/dbi_discrete.rb
@@ -127,7 +127,7 @@ module SiSU_DBI_Discrete #% database building
begin
SiSU_Screen::Ansi.new(
@opt.act[:color_state][:set],
- 'SQLite',
+ 'SQLite (discrete)',
"[#{@opt.f_pth[:lng_is]}] #{@opt.fno}"
).green_title_hi unless @opt.act[:quiet][:set]==:on
sdb.create_db
diff --git a/lib/sisu/v5/digests.rb b/lib/sisu/v5/digests.rb
index 83f26714..e1d51b1d 100644
--- a/lib/sisu/v5/digests.rb
+++ b/lib/sisu/v5/digests.rb
@@ -111,7 +111,7 @@ module SiSU_DigestView
SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('*EXITED* hash digests will not run without openssl')
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/dp.rb b/lib/sisu/v5/dp.rb
index 0dde14b8..ef61f6b4 100644
--- a/lib/sisu/v5/dp.rb
+++ b/lib/sisu/v5/dp.rb
@@ -103,8 +103,7 @@ module SiSU_Param
def initialize(opt)
@opt=opt
@cX||=SiSU_Screen::Ansi.new(@opt.act[:color_state][:set])
- @cmd,@mod=opt.cmd,opt.mod
- @fns=if @opt.cmd =~/P/ #revisit CHECK
+ @fns=if @opt.act[:psql][:set] == [:on] #revisit CHECK
opt.fns
else opt.fns.gsub(/\.ssm$/,'.ssm.sst')
end
@@ -886,7 +885,7 @@ module SiSU_Param
Dir.chdir(@opt.f_pth[:pth])
begin
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -951,10 +950,10 @@ module SiSU_Param
end
@concord_make=(@wc_words > @env.concord_max) ? false : true
@locale=@sys.locale
- @file_encoding=@sys.file_encoding(fns,@opt.cmd)
+ @file_encoding=@sys.file_encoding(fns,@opt.act)
# programs set here for things that affect output appearance only
@programs[:pdf]=SiSU_Env::SystemCall.new.program_found?('pdflatex')
- if @opt.cmd =~/P/ #if @env.multilingual?
+ if @opt.act[:psql][:set] == [:ok]
m=/((.+?)(?:\~\w\w(?:_\w\w)?)?)\.((?:-|ssm\.)?sst|ssm|ssi)$/ #watch added match for sss
@fnn,@fnb,@fnt=@fns[m,1],@fns[m,2],@fns[m,3]
@flv=@env.document_language_versions_found[:f]
@@ -967,7 +966,7 @@ module SiSU_Param
@papersize=@env.papersize #'A4' #default size #get first from SiSU_Env:: # @env is probably no longer most appropriate name! as default info is more general
@sfx_src=@fns[m,2]
if @fns =~ /(?:-|ssm\.)?sst$/ \
- and not @opt.cmd =~/P/ #watch
+ and not @opt.act[:psql][:set] == [:ok]
@env_out_root=@env.path.output
@dir_out="#{@env.path.output}/#{@fnb}"
@dir_tex=@env.processing_path.tex
@@ -1485,6 +1484,9 @@ module SiSU_Param
Store.new(self,@env).store #% pstore
self
rescue
+ if @opt.act[:harvest][:set]==:on
+ exit
+ end
end
end
private
@@ -1510,7 +1512,7 @@ module SiSU_Param
end
@@md=@md=nil
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/dp_identify_markup.rb b/lib/sisu/v5/dp_identify_markup.rb
index f6884c7d..82e63fd4 100644
--- a/lib/sisu/v5/dp_identify_markup.rb
+++ b/lib/sisu/v5/dp_identify_markup.rb
@@ -51,7 +51,7 @@
* Git
<http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
- <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/param_identify_markup.rb;hb=HEAD>
+ <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/dp_identify_markup.rb;hb=HEAD>
* Ralph Amissah
<ralph@amissah.com>
diff --git a/lib/sisu/v5/dp_make.rb b/lib/sisu/v5/dp_make.rb
index 05b5cbdf..bba58847 100644
--- a/lib/sisu/v5/dp_make.rb
+++ b/lib/sisu/v5/dp_make.rb
@@ -51,7 +51,7 @@
* Git
<http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
- <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/param_make.rb;hb=HEAD>
+ <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/dp_make.rb;hb=HEAD>
* Ralph Amissah
<ralph@amissah.com>
diff --git a/lib/sisu/v5/embedded.rb b/lib/sisu/v5/embedded.rb
index b46975fd..325d7780 100644
--- a/lib/sisu/v5/embedded.rb
+++ b/lib/sisu/v5/embedded.rb
@@ -83,7 +83,7 @@ module SiSU_Embedded
multimedia
begin
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -103,7 +103,7 @@ module SiSU_Embedded
src_ec=@f.place_file.images.rel + '/' + @md.ec[:image].join(" #{@f.output_path.images.rel}/")
unless @opt.fns =~/\.-sst$/
SiSU_Env::SystemCall.new(src_ec,ldest,'q').rsync('--relative',@opt.base_path)
- #if @md.opt.cmd.inspect =~/R/ #rsync to remote image directory
+ #if @md.opt.selections.str.inspect =~/R/ #rsync to remote image directory
# SiSU_Env::SystemCall.new(src_ec,remote_rel,'q').rsync('--relative')
#end
end
diff --git a/lib/sisu/v5/harvest.rb b/lib/sisu/v5/harvest.rb
index cc12b08e..ddc85055 100644
--- a/lib/sisu/v5/harvest.rb
+++ b/lib/sisu/v5/harvest.rb
@@ -76,7 +76,7 @@ module SiSU_Harvest
end
def read
begin
- harvest_pth="#{@env.path.webserv}/#{@opt.base_stub}"
+ harvest_pth=@env.path.webserv + '/' + @opt.base_stub
FileUtils::mkdir_p(harvest_pth) unless FileTest.directory?(harvest_pth)
cases(@opt,@env)
rescue
@@ -99,7 +99,7 @@ WOK
style.close
end
def cases(opt,env)
- case opt.mod.inspect
+ case opt.selections.str.inspect
when/--harvest/i
css(opt) if @opt.act[:maintenance][:set]==:on
SiSU_HarvestAuthors::Songsheet.new(opt,env).songsheet
diff --git a/lib/sisu/v5/harvest_authors.rb b/lib/sisu/v5/harvest_authors.rb
index 7904ab15..26a0a9e3 100644
--- a/lib/sisu/v5/harvest_authors.rb
+++ b/lib/sisu/v5/harvest_authors.rb
@@ -88,20 +88,36 @@ module SiSU_HarvestAuthors
end
lang_hash_file_array.each_pair do |lang,a|
idx_array[lang] ||= []
- idx_array=SiSU_HarvestAuthors::Harvest.new(@opt,@env,a,filename,name,idx_array,lang).extract_harvest
+ idx_array=SiSU_HarvestAuthors::Harvest.new(
+ @opt,
+ @env,
+ a,
+ filename,
+ name,
+ idx_array,
+ lang
+ ).extract_harvest
end
end
- the_idx=SiSU_HarvestAuthors::Index.new(idx_array,@@the_idx_authors).construct_book_author_index
- SiSU_HarvestAuthors::OutputIndex.new(@opt,the_idx).html_print.html_songsheet
+ the_idx=SiSU_HarvestAuthors::Index.new(
+ idx_array,
+ @@the_idx_authors
+ ).construct_book_author_index
+ SiSU_HarvestAuthors::OutputIndex.new(
+ @opt,
+ the_idx
+ ).html_print.html_songsheet
end
end
class Harvest
def initialize(opt,env,data,filename,name,idx_array,lang)
- @opt,@env,@data,@filename,@name,@idx_array,@lang=opt,env,data,filename,name,idx_array,lang
+ @opt, @env,@data,@filename,@name,@idx_array,@lang=
+ opt,env, data, filename, name, idx_array, lang
end
def extract_harvest
- data,filename,name,idx_array,lang=@data,@filename,@name,@idx_array,@lang
- @title,@subtitle,@fulltitle,@author,@author_format,@date=nil,nil,nil,nil,nil,nil
+ data, filename, name, idx_array, lang =
+ @data,@filename,@name,@idx_array,@lang
+ @title=@subtitle=@fulltitle=@author=@author_format=@date=nil
@authors=[]
rgx={}
rgx[:author]=/^@creator:(?:[ ]+|.+?:author:[ ]+)(.+?)(?:\||\n)/m
@@ -123,7 +139,9 @@ module SiSU_HarvestAuthors
end
break if @title && @subtitle && @author && @date
end
- @fulltitle=@subtitle ? (@title + ' - ' + @subtitle) : @title
+ @fulltitle=@subtitle \
+ ? (@title + ' - ' + @subtitle)
+ : @title
if @title \
and @author_format
creator=SiSU_FormatAuthor::Author.new(@author_format.strip).author_details
@@ -138,7 +156,15 @@ module SiSU_HarvestAuthors
else
"sisu_manifest.#{lang}.html"
end
- idx_array[lang] <<= { filename: filename, file: file, date: @date, title: @fulltitle, author: creator, page: page, lang: lang }
+ idx_array[lang] <<= {
+ filename: filename,
+ file: file,
+ date: @date,
+ title: @fulltitle,
+ author: creator,
+ page: page,
+ lang: lang
+ }
else
#p "missing author field: #{@filename} title: #{@title}; author: #{@author_format}"
end
@@ -164,7 +190,15 @@ module SiSU_HarvestAuthors
if @@the_idx_authors[lang][author].is_a?(NilClass)
@@the_idx_authors[lang][author]={ md: [] }
end
- @@the_idx_authors[lang][author][:md] << { filename: idx[:filename], file: idx[:file], author: idx[:author], title: idx[:title], date: idx[:date], page: idx[:page], lang: idx[:lang] }
+ @@the_idx_authors[lang][author][:md] << {
+ filename: idx[:filename],
+ file: idx[:file],
+ author: idx[:author],
+ title: idx[:title],
+ date: idx[:date],
+ page: idx[:page],
+ lang: idx[:lang]
+ }
end
end
end
@@ -188,18 +222,26 @@ module SiSU_HarvestAuthors
@output[lng] ||={}
harvest_pth,file='',''
if @env.output_dir_structure.by? == :language
- harvest_pth="#{@env.path.webserv}/#{@opt.base_stub}/#{lng}/manifest"
+ harvest_pth=@env.path.webserv + '/' \
+ + @opt.base_stub + '/' \
+ + lng + '/' \
+ + 'manifest'
file="#{harvest_pth}/authors.html"
elsif @env.output_dir_structure.by? == :filetype
- harvest_pth="#{@env.path.webserv}/#{@opt.base_stub}/manifest"
+ harvest_pth=@env.path.webserv + '/' \
+ + @opt.base_stub + '/' \
+ + 'manifest'
file="#{harvest_pth}/authors.#{lng}.html"
elsif @env.output_dir_structure.by? == :filename
- harvest_pth="#{@env.path.webserv}/#{@opt.base_stub}"
+ harvest_pth=@env.path.webserv + '/' \
+ + @opt.base_stub
file="#{harvest_pth}/authors.#{lng}.html"
end
- FileUtils::mkdir_p(harvest_pth) unless FileTest.directory?(harvest_pth)
+ FileUtils::mkdir_p(harvest_pth) \
+ unless FileTest.directory?(harvest_pth)
fileinfo=(@opt.act[:verbose][:set]==:on \
|| @opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:urls_selected][:set]==:on \
|| @opt.act[:maintenance][:set]==:on) \
? ("file://#{file}") : ''
SiSU_Screen::Ansi.new(
@@ -213,7 +255,8 @@ module SiSU_HarvestAuthors
def html_file_close
@the_idx.keys.each do |lng|
@output[lng][:html].close
- @output[lng][:html_mnt].close if @output[lng][:html_mnt].is_a?(File)
+ @output[lng][:html_mnt].close \
+ if @output[lng][:html_mnt].is_a?(File)
end
end
def html_print
@@ -257,18 +300,22 @@ module SiSU_HarvestAuthors
file="#{harvest_pth}/authors.#{lg}.html"
end
l=ln[lg][:t]
- harvest_languages += %{<a href="#{file}">#{l}</a>&nbsp;&nbsp;&nbsp;}
+ harvest_languages +=
+ %{<a href="#{file}">#{l}</a>&nbsp;&nbsp;&nbsp;}
end
sv=SiSU_Env::InfoVersion.instance.get_version
if @env.output_dir_structure.by? == :language
home_pth='../..'
- output_structure_by='(output organised by language &amp; filetype)'
+ output_structure_by=
+ '(output organised by language &amp; filetype)'
elsif @env.output_dir_structure.by? == :filetype
home_pth='..'
- output_structure_by='(output organised by filetype)'
+ output_structure_by=
+ '(output organised by filetype)'
elsif @env.output_dir_structure.by? == :filename
home_pth='.'
- output_structure_by='(output organised by filename)'
+ output_structure_by=
+ '(output organised by filename)'
else
home_pth='.'
output_structure_by='(output organised by ?)'
@@ -301,8 +348,11 @@ WOK
end
def html_head
@the_idx.keys.each do |lng|
- @output[lng][:html_mnt] << html_head_adjust(lng,'maintenance') if @opt.act[:maintenance][:set]==:on
- @output[lng][:html] << html_head_adjust(lng)
+ @output[lng][:html_mnt] \
+ << html_head_adjust(lng,'maintenance') \
+ if @opt.act[:maintenance][:set]==:on
+ @output[lng][:html] \
+ << html_head_adjust(lng)
end
end
def html_alph
@@ -315,7 +365,8 @@ WOK
end
a=a.join
@the_idx.keys.each do |lng|
- @output[lng][:html_mnt] << a if @opt.act[:maintenance][:set]==:on
+ @output[lng][:html_mnt] << a \
+ if @opt.act[:maintenance][:set]==:on
@output[lng][:html] << a
end
end
@@ -333,12 +384,14 @@ WOK
</html>
WOK
@the_idx.keys.each do |lng|
- @output[lng][:html_mnt] << a if @output[lng][:html_mnt].is_a?(File)
+ @output[lng][:html_mnt] << a \
+ if @output[lng][:html_mnt].is_a?(File)
@output[lng][:html] << a
end
end
def do_html(lng,html)
- @output[lng][:html_mnt] << html if @output[lng][:html_mnt].is_a?(File)
+ @output[lng][:html_mnt] << html \
+ if @output[lng][:html_mnt].is_a?(File)
@output[lng][:html] << html
end
def do_string_name(lng,attrib,string)
@@ -353,9 +406,11 @@ WOK
if @alph.length > 0
@letter=@alph.shift
if @output[lng][:html_mnt].is_a?(File)
- @output[lng][:html_mnt] << %{\n<p class="letter"><a name="#{@letter}"></p>#{@letter}</a><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
+ @output[lng][:html_mnt] \
+ << %{\n<p class="letter"><a name="#{@letter}"></p>#{@letter}</a><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
end
- @output[lng][:html] << %{\n<p class="letter"><a name="#{@letter}">#{@letter}</a></p><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
+ @output[lng][:html] \
+ << %{\n<p class="letter"><a name="#{@letter}">#{@letter}</a></p><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
else break
end
end
@@ -383,14 +438,18 @@ WOK
"./#{i[:file]}/#{i[:page]}"
else '' #error
end
- work=[ "#{i[:date]} #{i[:title]}", %{<p class="publication">#{i[:date]} <a href="#{manifest_at}">#{i[:title]}</a>, #{i[:author][:authors_s]}</p>} ]
+ work=[
+ "#{i[:date]} #{i[:title]}",
+ %{<p class="publication">#{i[:date]} <a href="#{manifest_at}">#{i[:title]}</a>, #{i[:author][:authors_s]}</p>}
+ ]
works<<=(@output[lng][:html_mnt].is_a?(File)) \
? (work.concat([%{<p class="publication">[<a href="#{i[:file]}.sst">src</a>]&nbsp;&nbsp;#{i[:date]} <a href="file://#{manifest_at}">#{i[:title]}</a>, #{i[:author][:authors_s]} -- [<a href="#{i[:file]}.sst">#{i[:file]}.sst</a>]</p>}]))
: work
end
works.sort_by {|y| y[0]}.each do |z|
@output[lng][:html] << z[1]
- @output[lng][:html_mnt] << z[2] if @output[lng][:html_mnt].is_a?(File)
+ @output[lng][:html_mnt] << z[2] \
+ if @output[lng][:html_mnt].is_a?(File)
end
end
end
diff --git a/lib/sisu/v5/harvest_topics.rb b/lib/sisu/v5/harvest_topics.rb
index cd507f63..62103618 100644
--- a/lib/sisu/v5/harvest_topics.rb
+++ b/lib/sisu/v5/harvest_topics.rb
@@ -90,11 +90,27 @@ module SiSU_HarvestTopics
end
lang_hash_file_array.each_pair do |lang,a|
idx_array[lang] ||=[]
- idx_array=SiSU_HarvestTopics::Harvest.new(@opt,@env,a,filename,name,idx_array,lang).extract_harvest
+ idx_array=SiSU_HarvestTopics::Harvest.new(
+ @opt,
+ @env,
+ a,
+ filename,
+ name,
+ idx_array,
+ lang
+ ).extract_harvest
end
end
- the_hash=SiSU_HarvestTopics::Index.new(@opt,@env,idx_array,@@the_idx_topics).song
- SiSU_HarvestTopics::OutputIndex.new(@opt,the_hash).html_print.html_songsheet
+ the_hash=SiSU_HarvestTopics::Index.new(
+ @opt,
+ @env,
+ idx_array,
+ @@the_idx_topics
+ ).song
+ SiSU_HarvestTopics::OutputIndex.new(
+ @opt,
+ the_hash
+ ).html_print.html_songsheet
end
end
class Mix
@@ -104,11 +120,13 @@ module SiSU_HarvestTopics
end
class Harvest
def initialize(opt,env,data,filename,name,idx_array,lang)
- @opt,@env,@data,@filename,@name,@idx_array,@lang=opt,env,data,filename,name,idx_array,lang
+ @opt, @env,@data,@filename,@name,@idx_array,@lang=
+ opt,env, data, filename, name, idx_array, lang
end
def extract_harvest
- data,filename,name,idx_array,lang=@data,@filename,@name,@idx_array,@lang
- @idx_lst,@title,@subtitle,@fulltitle,@author,@author_format=nil,nil,nil,nil,nil,nil
+ data, filename, name, idx_array, lang=
+ @data,@filename,@name,@idx_array,@lang
+ @idx_lst=@title=@subtitle=@fulltitle=@author=@author_format=nil
rgx={}
rgx[:author]=/^@creator:(?:[ ]+|.+?:author:[ ]+)(.+?)(?:\||\n)/m
rgx[:title]=/^@title:[ ]+(.+)/
@@ -150,10 +168,26 @@ module SiSU_HarvestTopics
idxl=[]
g.each do |i|
i=i.strip
- idxl << { filename: filename, file: file, rough_idx: i, title: @fulltitle, author: creator, page: page, lang: lang }
+ idxl << {
+ filename: filename,
+ file: file,
+ rough_idx: i,
+ title: @fulltitle,
+ author: creator,
+ page: page,
+ lang: lang
+ }
end
idxl
- else { filename: filename, file: file, rough_idx: @idx_list, title: @fulltitle, author: creator, page: page, lang: lang }
+ else {
+ filename: filename,
+ file: file,
+ rough_idx: @idx_list,
+ title: @fulltitle,
+ author: creator,
+ page: page,
+ lang: lang,
+ }
end
else
if (@opt.act[:verbose_plus][:set]==:on \
@@ -167,7 +201,8 @@ module SiSU_HarvestTopics
end
class Index < Mix
def initialize(opt,env,idx_array,the_idx)
- @opt,@env,@idx_array,@the_idx=opt,env,idx_array,the_idx
+ @opt, @env,@idx_array,@the_idx=
+ opt,env, idx_array, the_idx
@@the_idx_topics=@the_idx
end
def song
@@ -195,7 +230,13 @@ module SiSU_HarvestTopics
names += %{<a href="authors.#{lang}.html##{s}">#{n}</a>, }
end
end
- { filename: idx[:filename], file: idx[:file], author: names, title: idx[:title], page: idx[:page] }
+ {
+ filename: idx[:filename],
+ file: idx[:file],
+ author: names,
+ title: idx[:title],
+ page: idx[:page]
+ }
end
def capital_(txt)
txt[0].chr.capitalize + txt[1,txt.length]
@@ -471,18 +512,26 @@ module SiSU_HarvestTopics
@output[lng] ||={}
harvest_pth,file='',''
if @env.output_dir_structure.by? == :language
- harvest_pth="#{@env.path.webserv}/#{@opt.base_stub}/#{lng}/manifest"
- file="#{harvest_pth}/topics.html"
+ harvest_pth=@env.path.webserv + '/' \
+ + @opt.base_stub + '/' \
+ + lng + '/' \
+ + 'manifest'
+ file=harvest_pth + '/' + 'topics.html'
elsif @env.output_dir_structure.by? == :filetype
- harvest_pth="#{@env.path.webserv}/#{@opt.base_stub}/manifest"
- file="#{harvest_pth}/topics.#{lng}.html"
+ harvest_pth=@env.path.webserv + '/' \
+ + @opt.base_stub + '/' \
+ + 'manifest'
+ file=harvest_pth + '/' + 'topics.' + lng + '.html'
elsif @env.output_dir_structure.by? == :filename
- harvest_pth="#{@env.path.webserv}/#{@opt.base_stub}"
- file="#{harvest_pth}/topics.#{lng}.html"
+ harvest_pth=@env.path.webserv + '/' \
+ + @opt.base_stub
+ file=harvest_pth + '/' + 'topics.' + lng + '.html'
end
- FileUtils::mkdir_p(harvest_pth) unless FileTest.directory?(harvest_pth)
+ FileUtils::mkdir_p(harvest_pth) \
+ unless FileTest.directory?(harvest_pth)
fileinfo=(@opt.act[:verbose][:set]==:on \
|| @opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:urls_selected][:set]==:on \
|| @opt.act[:maintenance][:set]==:on) \
? ("file://#{file}")
: ''
@@ -615,16 +664,17 @@ module SiSU_HarvestTopics
@the_idx.keys.each do |lg|
if @env.output_dir_structure.by? == :language
harvest_pth="../../#{lg}/manifest"
- file="#{harvest_pth}/topics.html"
+ file=harvest_pth + '/' + 'topics.html'
elsif @env.output_dir_structure.by? == :filetype
harvest_pth='.'
- file="#{harvest_pth}/topics.#{lg}.html"
+ file=harvest_pth + '/' + 'topics.' + lg + '.html'
elsif @env.output_dir_structure.by? == :filename
harvest_pth='.'
- file="#{harvest_pth}/topics.#{lg}.html"
+ file=harvest_pth + '/topics.' + lg + '.html'
end
l=ln[lg][:t]
- harvest_languages += %{<a href="#{file}">#{l}</a>&nbsp;&nbsp;&nbsp;}
+ harvest_languages +=
+ %{<a href="#{file}">#{l}</a>&nbsp;&nbsp;&nbsp;}
end
sv=SiSU_Env::InfoVersion.instance.get_version
if @env.output_dir_structure.by? == :language
@@ -668,7 +718,9 @@ WOK
end
def html_head
@the_idx.keys.each do |lng|
- @output[lng][:html_mnt] << html_head_adjust(lng,'maintenance') if @opt.act[:maintenance][:set]==:on
+ @output[lng][:html_mnt] \
+ << html_head_adjust(lng,'maintenance') \
+ if @opt.act[:maintenance][:set]==:on
@output[lng][:html] << html_head_adjust(lng)
end
end
@@ -682,7 +734,8 @@ WOK
end
a=a.join
@the_idx.keys.each do |lng|
- @output[lng][:html_mnt] << a if @opt.act[:maintenance][:set]==:on
+ @output[lng][:html_mnt] << a \
+ if @opt.act[:maintenance][:set]==:on
@output[lng][:html] << a
end
end
@@ -700,7 +753,8 @@ WOK
</html>
WOK
@the_idx.keys.each do |lng|
- @output[lng][:html_mnt] << a if @output[lng][:html_mnt].is_a?(File)
+ @output[lng][:html_mnt] << a \
+ if @output[lng][:html_mnt].is_a?(File)
@output[lng][:html] << a
end
end
@@ -708,12 +762,14 @@ WOK
@output[lng][:html] << html
end
def do_html_maintenance(lng,html)
- @output[lng][:html_mnt] << html if @output[lng][:html_mnt].is_a?(File)
+ @output[lng][:html_mnt] << html \
+ if @output[lng][:html_mnt].is_a?(File)
end
def do_string(lng,attrib,string)
html=%{<p class="#{attrib}">#{string}</p>}
do_html(lng,html)
- do_html_maintenance(lng,html) if @output[lng][:html_mnt].is_a?(File)
+ do_html_maintenance(lng,html) \
+ if @output[lng][:html_mnt].is_a?(File)
end
def do_string_default(lng,attrib,string)
html=%{<p class="#{attrib}">#{string}</p>}
@@ -721,7 +777,8 @@ WOK
end
def do_string_maintenance(lng,attrib,string)
html=%{<p class="#{attrib}">#{string}</p>}
- do_html_maintenance(lng,html) if @output[lng][:html_mnt].is_a?(File)
+ do_html_maintenance(lng,html) \
+ if @output[lng][:html_mnt].is_a?(File)
end
def do_string_name(lng,attrib,string)
f=/^(\S)/.match(string)[1]
@@ -735,9 +792,11 @@ WOK
if @alph.length > 0
@letter=@alph.shift
if @output[lng][:html_mnt].is_a?(File)
- @output[lng][:html_mnt] << %{\n<p class="letter"><a name="#{@letter}">#{@letter}</a></p><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
+ @output[lng][:html_mnt] \
+ << %{\n<p class="letter"><a name="#{@letter}">#{@letter}</a></p><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
end
- @output[lng][:html] << %{\n<p class="letter"><a name="#{@letter}">#{@letter}</a></p><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
+ @output[lng][:html] \
+ << %{\n<p class="letter"><a name="#{@letter}">#{@letter}</a></p><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
else break
end
end
@@ -745,7 +804,8 @@ WOK
name=string.strip.gsub(/\s+/,'_')
html=%{<p class="#{attrib}"><a name="#{name}">#{string}</a></p>}
do_html(lng,html)
- do_html_maintenance(lng,html) if @output[lng][:html_mnt].is_a?(File)
+ do_html_maintenance(lng,html) \
+ if @output[lng][:html_mnt].is_a?(File)
end
def do_array(lng,lv,array)
lv+=1
diff --git a/lib/sisu/v5/html.rb b/lib/sisu/v5/html.rb
index a613f56f..683eba96 100644
--- a/lib/sisu/v5/html.rb
+++ b/lib/sisu/v5/html.rb
@@ -150,7 +150,7 @@ module SiSU_HTML
SiSU_HTML::Source::Output.new(scroll,@md).scroll
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -163,7 +163,7 @@ module SiSU_HTML
end
end
end
- SiSU_Env::Clear.new(@opt.cmd,@opt.fns,@md).param_instantiate
+ SiSU_Env::Clear.new(@opt.selections.str,@opt.fns,@md).param_instantiate
@@flag,@@scr,@@seg,@@seg_endnotes,@@seg_subtoc,@@seg_ad={},{},{},{},{},{}
@@seg_total,@@tracker,@@loop_count,@@tablehead,@@number_of_cols=0,0,0,0,0
@@seg_name,@@seg_name_html,@@seg_subtoc_array,@@seg_endnotes_array,@@segtocband,@@tablefoot=Array.new(7){[]}
@@ -305,7 +305,7 @@ module SiSU_HTML
@@toc[:seg_mini] << toc[:seg_mini] if toc[:seg_mini]
@@toc[:scr] << toc[:scr] if toc[:scr]
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -729,7 +729,7 @@ WOK
end
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -751,7 +751,7 @@ WOK
end
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/html_concordance.rb b/lib/sisu/v5/html_concordance.rb
index dbaf83cf..c02b8f5c 100644
--- a/lib/sisu/v5/html_concordance.rb
+++ b/lib/sisu/v5/html_concordance.rb
@@ -51,7 +51,7 @@
* Git
<http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
- <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/concordance.rb;hb=HEAD>
+ <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/html_concordance.rb;hb=HEAD>
* Ralph Amissah
<ralph@amissah.com>
@@ -118,7 +118,7 @@ module SiSU_Concordance
SiSU_Concordance::Source::Words.new(@particulars).songsheet
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -236,18 +236,19 @@ WOK
@alphlst=SiSU_i18n::Alphabet.new(@md.opt.lng).hash_strings
@rgx_scanlist=%r{#{Mx[:fa_italics_o]}[#{@alphlst[:l]}#{@alphlst[:u]}0-9"\s]{2,12}#{Mx[:fa_italics_c]}|#{Mx[:fa_bold_o]}[#{@alphlst[:l]}#{@alphlst[:u]}0-9"\s]{2,12}#{Mx[:fa_bold_c]}|(?:https?|file)://\S+|<\S+?>|[#{@alphlst[:l]}#{@alphlst[:u]}]+|\w+}mi
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
end
def songsheet
begin
- FileUtils::mkdir_p(@file.output_path.html_concordance.dir) unless FileTest.directory?(@file.output_path.html_concordance.dir)
+ FileUtils::mkdir_p(@file.output_path.html_concordance.dir) \
+ unless FileTest.directory?(@file.output_path.html_concordance.dir)
@file_concordance=File.open(@file.place_file.html_concordance.dir,'w')
map_para
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/html_format.rb b/lib/sisu/v5/html_format.rb
index 058a8f34..7731464a 100644
--- a/lib/sisu/v5/html_format.rb
+++ b/lib/sisu/v5/html_format.rb
@@ -1065,6 +1065,9 @@ WOK
def heading_body6
heading_normal('h6','norm')
end
+ def heading_body7
+ heading_normal('h7','norm')
+ end
def title_heading(tag,attrib)
cl=(@make.build.html_minitoc?) \
? 'content'
@@ -1228,6 +1231,8 @@ WOK
end
def navigation_toc_lev6
end
+ def navigation_toc_lev7
+ end
def endnote_seg_body(fn='') #FIX #url construction keep within single line... BUG WATCH 200408
fn='doc' if fn.to_s.empty? #you may wish to reconsider, sends to 'doc' where no segment info
%{
@@ -1265,6 +1270,9 @@ WOK
def subtoc_lev6
subtoc_lev('h6','subtoc') if @txt
end
+ def subtoc_lev7
+ subtoc_lev('h7','subtoc') if @txt
+ end
def heading_sub(tag,attrib)
@txt=@txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
%{
@@ -1357,6 +1365,9 @@ WOK
def lev6
lev('h6','toc')
end
+ def lev7
+ lev('h7','toc')
+ end
def strip_endnotes(txt)
txt=txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
txt
@@ -1389,6 +1400,10 @@ WOK
@txt=strip_endnotes(@txt)
lev('h6','minitoc')
end
+ def mini_lev7
+ @txt=strip_endnotes(@txt)
+ lev('h7','minitoc')
+ end
def mini_lev0 #docinfo
lev('h1','minitoc')
end
diff --git a/lib/sisu/v5/html_scroll.rb b/lib/sisu/v5/html_scroll.rb
index 01fe2940..c11a532a 100644
--- a/lib/sisu/v5/html_scroll.rb
+++ b/lib/sisu/v5/html_scroll.rb
@@ -76,7 +76,7 @@ module SiSU_HTML_Scroll
scr[:tails]=SiSU_HTML_Scroll::Scroll.new(@md).tails
scr
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -88,11 +88,13 @@ module SiSU_HTML_Scroll
@rcdc=false
@scr={ body: [], metadata: [], owner_details: [] }
data.each do |dob|
- dob.obj=dob.obj.gsub(/#{@md.file.output_path.html_seg.rel_image}/m,@md.file.output_path.html_scroll.rel_image)
+ dob.obj=dob.obj.gsub(/#{@md.file.output_path.html_seg.rel_image}/m,
+ @md.file.output_path.html_scroll.rel_image)
if defined? dob.name and dob.name =~/^meta/ \
and dob.obj =~/Document Information/
- dob.obj=dob.obj.gsub(/(Document Information(?: \(metadata\))?)/,
- '\1<a name="docinfo"></a>')
+ dob.obj=dob.obj.
+ gsub(/(Document Information(?: \(metadata\))?)/,
+ '\1<a name="docinfo"></a>')
end
if dob.obj =~/^Metadata$/ \
and dob.lv =='B'
@@ -108,7 +110,8 @@ module SiSU_HTML_Scroll
gsub(/href="#{Xx[:segment]}/m,'href="')
if dob.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]})/
unless dob.is ==:code
- dob.obj=dob.obj.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
+ dob.obj=dob.obj.
+ gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
end
if defined? dob.ocn
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,dob.ocn)
@@ -129,6 +132,8 @@ module SiSU_HTML_Scroll
sto.heading_body5
elsif dob.ln==6
sto.heading_body6
+ elsif dob.ln==7
+ sto.heading_body7
end
elsif dob.is==:break \
and dob.from==:markup
@@ -162,7 +167,8 @@ module SiSU_HTML_Scroll
elsif dob.ln==4 \
and dob.obj=='Index'
sto.heading_body4
- book_idx=SiSU_Particulars::CombinedSingleton.instance.get_idx_html(@md.opt).html_idx
+ book_idx=SiSU_Particulars::CombinedSingleton.
+ instance.get_idx_html(@md.opt).html_idx
book_idx.each do |y| #takes book index prepared for segments & strips segment identifying info
y.gsub!(/<a href="\S+?\.html#(\d+)">(\1(?:-\d+)?)<\/a>/,
'<a href="#\1">\2</a>')
@@ -176,6 +182,10 @@ module SiSU_HTML_Scroll
unless dob.obj.empty?
sto.heading_body6
end
+ elsif dob.ln==7
+ unless dob.obj.empty?
+ sto.heading_body7
+ end
end
elsif dob.is==:para
if dob.indent \
@@ -222,7 +232,9 @@ module SiSU_HTML_Scroll
def tails
scr_tail=[]
format_head_scroll=SiSU_HTML_Format::HeadToc.new(@md)
- scr_tail << format_head_scroll.scroll_tail << format_head_scroll.html_close
+ scr_tail \
+ << format_head_scroll.scroll_tail \
+ << format_head_scroll.html_close
scr_tail
end
end
diff --git a/lib/sisu/v5/html_segments.rb b/lib/sisu/v5/html_segments.rb
index 5826163e..9b0cc1c7 100644
--- a/lib/sisu/v5/html_segments.rb
+++ b/lib/sisu/v5/html_segments.rb
@@ -67,7 +67,8 @@ module SiSU_HTML_Seg
require_relative 'shared_metadata' # shared_metadata.rb
class Output
def initialize(md,outputfile,seg,minitoc,type='')
- @md,@output_seg_file,@seg,@minitoc,@type=md,outputfile,seg,minitoc,type
+ @md, @output_seg_file,@seg,@minitoc,@type=
+ md,outputfile, seg,minitoc, type
@title_banner_=SiSU_Env::CreateSite.new(@md.opt).html_seg_title_banner?
@file=SiSU_Env::FileOp.new(@md)
@make=SiSU_Env::ProcessingSettings.new(@md)
@@ -79,59 +80,97 @@ module SiSU_HTML_Seg
if @seg[:title] =~/\S/
filename_seg=[]
if @make.build.html_top_band?
- filename_seg << @seg[:title] << @seg[:tocband_banner]
+ filename_seg \
+ << @seg[:title] \
+ << @seg[:tocband_banner]
else
- filename_seg << @seg[:title]
+ filename_seg \
+ << @seg[:title]
end
if @type=='endnotes'
@seg[:headings]=[]
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
if @title_banner_
- @seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author)
+ @seg[:headings] \
+ << format_head_seg.
+ title_banner(@md.title.main,@md.title.sub,@author)
end
txt_obj={ txt: 'Endnotes', ocn_display: '' }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @seg[:headings] << format_seg.title_heading1
- filename_seg << @seg[:heading_endnotes] << @minitoc << @seg[:headings] << %{\n<div class="#{@cl}">\n} << @seg[:endnote_all] << '</div>' # << '</div>'
+ @seg[:headings] \
+ << format_seg.title_heading1
+ filename_seg \
+ << @seg[:heading_endnotes] \
+ << @minitoc << @seg[:headings] \
+ << %{\n<div class="#{@cl}">\n} \
+ << @seg[:endnote_all] \
+ << '</div>' # << '</div>'
elsif @type=='idx'
@seg[:headings]=[]
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
if @title_banner_
- @seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author)
+ @seg[:headings] \
+ << format_head_seg.
+ title_banner(@md.title.main,@md.title.sub,@author)
end
txt_obj={ txt: 'Index', ocn_display: '' }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
@seg[:headings] << format_seg.title_heading1
- filename_seg << @seg[:heading_idx] << @minitoc << @seg[:headings] << %{\n<div class="#{@cl}">\n} << @seg[:idx] << '</div>' # << '</div>'
+ filename_seg \
+ << @seg[:heading_idx] \
+ << @minitoc << @seg[:headings] \
+ << %{\n<div class="#{@cl}">\n} \
+ << @seg[:idx] \
+ << '</div>' # << '</div>'
elsif @type=='metadata'
metadata=SiSU_Metadata::Summary.new(@md).xhtml_display.metadata
@seg[:headings]=[]
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
if @title_banner_
- @seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author)
+ @seg[:headings] \
+ << format_head_seg.
+ title_banner(@md.title.main,@md.title.sub,@author)
end
txt_obj={ txt: 'Metadata', ocn_display: '' }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
@seg[:headings] << format_seg.title_heading1
- filename_seg << @seg[:heading_idx] << @minitoc << @seg[:headings] << %{\n<div class="#{@cl}">\n} << metadata << '</div>' # << '</div>'
+ filename_seg \
+ << @seg[:heading_idx] \
+ << @minitoc \
+ << @seg[:headings] \
+ << %{\n<div class="#{@cl}">\n} \
+ << metadata \
+ << '</div>' # << '</div>'
else
if @make.build.html_top_band?
- filename_seg << @minitoc << @seg[:headings] << @seg[:main] << "\n</div>\n"
+ filename_seg \
+ << @minitoc \
+ << @seg[:headings] \
+ << @seg[:main] \
+ << "\n</div>\n"
else
- filename_seg << @minitoc << @seg[:main] << "\n</div>\n"
+ filename_seg \
+ << @minitoc \
+ << @seg[:main] \
+ << "\n</div>\n"
end
end
filename_seg <<=if @make.build.html_top_band?
- @seg[:tail] << @seg[:tocband_bannerless] << @seg[:credits]
+ @seg[:tail] \
+ << @seg[:tocband_bannerless] \
+ << @seg[:credits]
else
- @seg[:tail] << @seg[:credits]
+ @seg[:tail] \
+ << @seg[:credits]
end
filename_seg=filename_seg.flatten.compact #watch
filename_seg.each do |str|
unless str =~/\A\s*\Z/
str=str.strip.
- gsub(Xx[:html_relative2],@file.path_rel_links.html_seg_2).
- gsub(Xx[:html_relative1],@file.path_rel_links.html_seg_1)
+ gsub(Xx[:html_relative2],
+ @file.path_rel_links.html_seg_2).
+ gsub(Xx[:html_relative1],
+ @file.path_rel_links.html_seg_1)
@output_seg_file << str
end
end
@@ -146,7 +185,17 @@ module SiSU_HTML_Seg
@@loop_count=@@seg_total=@@tracker=0
@@is4=@@is3=@@is2=@@is1=@@is0=0
@@heading0=@@heading1=@@heading2=@@heading3=@@heading4=0
- @@seg[:tocband_banner],@@seg[:tocband_bannerless],@@seg[:title],@@seg[:headings],@@seg[:main],@@seg[:idx],@@seg[:tail],@@seg[:credits],@@seg_subtoc_array,@@seg_endnotes_array,@@seg[:endnote_all]=Array.new(11){[]}
+ @@seg[:tocband_banner],
+ @@seg[:tocband_bannerless],
+ @@seg[:title],@@seg[:headings],
+ @@seg[:main],
+ @@seg[:idx],
+ @@seg[:tail],
+ @@seg[:credits],
+ @@seg_subtoc_array,
+ @@seg_endnotes_array,
+ @@seg[:endnote_all]=
+ Array.new(11){[]}
@@seg[:heading_endnotes]=''
@@tablehead,@@number_of_cols=0,0
@@dp,@@segtocband=nil,nil
@@ -177,7 +226,7 @@ module SiSU_HTML_Seg
SiSU_HTML_Seg::Seg.new.cleanup # (((( added ))))
#### (((( END )))) ####
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -192,7 +241,8 @@ module SiSU_HTML_Seg
idx_html=nil
if @md.book_idx
#my_make_source_file=SiSU_Env::CreateFile.new(@md.fns)
- idx_html=SiSU_Particulars::CombinedSingleton.instance.get_idx_html(@md.opt).html_idx
+ idx_html=SiSU_Particulars::CombinedSingleton.
+ instance.get_idx_html(@md.opt).html_idx
idx_html.each {|x| @@seg[:idx] << x }
@@seg[:heading_idx]=''
end
@@ -215,7 +265,8 @@ module SiSU_HTML_Seg
@@seg_name.length
).segmented
end
- map_nametags=SiSU_Particulars::CombinedSingleton.instance.get_map_nametags(@md).nametags_map #p map_nametags
+ map_nametags=SiSU_Particulars::CombinedSingleton.
+ instance.get_map_nametags(@md).nametags_map #p map_nametags
data.each do |dob|
if defined? dob.obj \
and dob.obj =~/href="#{Xx[:segment]}#+\S+?"/
@@ -227,10 +278,12 @@ module SiSU_HTML_Seg
lng=(inf.output_dir_structure.by_language_code?) \
? ''
: '.' + @md.opt.lng
- dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,%{href="#{map_nametags[m][:segname]}#{lng}#{Sfx[:html]}#\\1"})
+ dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,
+ %{href="#{map_nametags[m][:segname]}#{lng}#{Sfx[:html]}#\\1"})
else
p "NOT FOUND name_tags: #{m}"
- dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,%{href="#\\1"}) # not satisfactory
+ dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,
+ %{href="#\\1"}) # not satisfactory
end
end
end
@@ -281,7 +334,8 @@ module SiSU_HTML_Seg
if tracking != 0
@file=SiSU_Env::FileOp.new(@md)
unless FileTest.directory?(@file.output_path.html_seg.dir)
- FileUtils::mkdir_p(@file.output_path.html_seg.dir) if File.writable?("#{@file.output_path.base.dir}/.")
+ FileUtils::mkdir_p(@file.output_path.html_seg.dir) \
+ if File.writable?("#{@file.output_path.base.dir}/.")
end
SiSU_HTML_Seg::Seg.new(@md).tail
fnh={
@@ -357,7 +411,7 @@ module SiSU_HTML_Seg
&& (@make.build.html_navigation_bar?)
x=if (dob.is==:heading \
|| dob.is==:heading_insert) \
- && (dob.ln.to_s =~/^[0-6]/)
+ && (dob.ln.to_s =~/^[0-7]/)
x=if @@tracker < @@seg_total-1
format_head_seg.dot_control_pre_next
else
@@ -387,10 +441,14 @@ module SiSU_HTML_Seg
@p_num ||= ''
if @@is0==1
@author=%{<b>#{@md.author}</b>\n} if @md.author.to_s =~/\S/
- @@seg[:tocband_banner] << format_head_seg.navigation_band(@@segtocband,@@seg[:dot_nav])
- @@seg[:tocband_bannerless] << '<br />' << format_head_seg.navigation_band_bottom(@@segtocband,@@seg[:dot_nav])
+ @@seg[:tocband_banner] \
+ << format_head_seg.navigation_band(@@segtocband,@@seg[:dot_nav])
+ @@seg[:tocband_bannerless] \
+ << '<br />' \
+ << format_head_seg.navigation_band_bottom(@@segtocband,@@seg[:dot_nav])
if @title_banner_
- @@seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author).gsub(clean,'')
+ @@seg[:headings] \
+ << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author).gsub(clean,'')
end
ocn=(@@heading0[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]) \
? $1
@@ -398,8 +456,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: @@heading0, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading0.gsub(clean,'')
- @@heading0=@@heading0.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading0.gsub(clean,'')
+ @@heading0=@@heading0.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is1==1
heading1=@@heading1
@@ -409,8 +469,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading1, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading1.gsub(clean,'')
- @@heading1=@@heading1.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading1.gsub(clean,'')
+ @@heading1=@@heading1.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is2==1
heading2=@@heading2
@@ -420,8 +482,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading2, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading2.gsub(clean,'')
- @@heading2=@@heading2.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading2.gsub(clean,'')
+ @@heading2=@@heading2.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is3==1
heading3=@@heading3
@@ -431,8 +495,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading3, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading3.gsub(clean,'')
- @@heading3=@@heading3.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading3.gsub(clean,'')
+ @@heading3=@@heading3.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is4==1
heading4=@@heading4
@@ -442,7 +508,8 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading4, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading4.gsub(clean,'')
+ @@seg[:headings] \
+ << format_seg.title_heading4.gsub(clean,'')
end
@@tracker=@@tracker+1
end
@@ -467,6 +534,8 @@ module SiSU_HTML_Seg
sto.seg_heading5
elsif dob.ln==6
sto.seg_heading6
+ elsif dob.ln==7
+ sto.seg_heading6
end
elsif dob.is==:para
if dob.indent \
@@ -589,7 +658,7 @@ module SiSU_HTML_Seg
end
end
if dob.is==:heading \
- && (dob.ln.to_s =~/^[56]/)
+ && (dob.ln.to_s =~/^[5-7]/)
case dob.ln
when 5
txt_obj={ txt: dob.obj.strip, ocn: dob.ocn }
@@ -599,6 +668,10 @@ module SiSU_HTML_Seg
txt_obj={ txt: dob.obj.strip, ocn: dob.ocn }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
subtoc=format_seg.subtoc_lev6 #keep and make available, this is the subtoc
+ when 7
+ txt_obj={ txt: dob.obj.strip, ocn: dob.ocn }
+ format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
+ subtoc=format_seg.subtoc_lev7 #keep and make available, this is the subtoc
end
@@seg_subtoc_array << subtoc
end
diff --git a/lib/sisu/v5/html_tune.rb b/lib/sisu/v5/html_tune.rb
index 1a2c9dee..3e8c2d68 100644
--- a/lib/sisu/v5/html_tune.rb
+++ b/lib/sisu/v5/html_tune.rb
@@ -150,7 +150,7 @@ module SiSU_HTML_Tune
end
SiSU_HTML_Tune::Tune.new(@data,@md).output
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/hub.rb b/lib/sisu/v5/hub.rb
index 785da84d..fed4ae55 100644
--- a/lib/sisu/v5/hub.rb
+++ b/lib/sisu/v5/hub.rb
@@ -66,6 +66,7 @@ module SiSU
require_relative 'se' # se.rb
include SiSU_Env
include SiSU_Screen
+ require_relative 'hub_actions' # hub_actions.rb
require_relative 'hub_options' # hub_options.rb
require_relative 'dp' # dp.rb
include SiSU_Param
@@ -82,10 +83,12 @@ module SiSU
def initialize(argv,call_path)
begin #% select what to do (set options & start processing (files selected if any))
opt=SiSU_Commandline::Options.new(argv,call_path) # command line selection of what to do, files & operations set
- SiSU::Processing.new(opt).actions # do it
+ SiSU::Processing.new(opt).version_info
+ SiSU::Processing.new(opt).actions_without_files # do it
+ SiSU::Processing.new(opt).actions_on_files # do it
rescue
- cmd=(opt ? opt.cmd : '')
- SiSU_Screen::Ansi.new(cmd,$!,$@).rescue do
+ selection=(opt ? opt.selection : '')
+ SiSU_Screen::Ansi.new(selection,$!,$@).rescue do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -202,81 +205,6 @@ module SiSU
end
end
end
- class Operations
- @@n_do=0
- def initialize(opt='')
- @opt=opt
- @cX=SiSU_Screen::Ansi.new(@opt).cX
- end
- def counter
- @@n_do=0
- end
- def remote_put_base_site_rsync # -CR
- SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
- if @opt.act[:maintenance][:set] ==:on
- require_relative 'remote' # remote.rb
- SiSU_Remote::Put.new(@opt).rsync_base
- end
- def remote_put_base_site_rsync_match # -CCRZ
- SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
- if @opt.act[:maintenance][:set] ==:on
- require_relative 'remote' # remote.rb
- SiSU_Remote::Put.new(@opt).rsync_base_sync
- end
- def remote_put_base_site # -Cr
- SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
- if @opt.act[:maintenance][:set] ==:on
- require_relative 'remote' # remote.rb
- SiSU_Remote::Put.new(@opt).scp_base
- end
- def remote_put_base_site_all # -CCr
- SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
- if @opt.act[:maintenance][:set] ==:on
- require_relative 'remote' # remote.rb
- SiSU_Remote::Put.new(@opt).scp_base_all
- end
- def cgi # -F
- require_relative 'cgi' # cgi.rb
- SiSU_CGI::SearchSQL.new(@opt).read
- end
- def termsheet # -t
- system("sisu_termsheet #{@opt.cmd} #{@opt.fns}\n")
- @@n_do=@@n_do+1
- SiSU_Screen::Ansi.new(
- @opt.cmd,@@n_do,
- 'Termsheet(s) processed'
- ).term_sheet_title unless @opt.act[:quiet][:set] ==:on
- end
- def webrick # -W
- prt=SiSU_Env::InfoEnv.new(@fns).port.webrick_port
- puts %{#{@cX.blue}<<#{@cX.off}#{@cX.green}Start Webrick web server on port: #{prt}#{@cX.off}#{@cX.blue}>> #{@cX.off*2} }
- require_relative 'webrick'
- SiSU_Webserv::WebrickStart.new
- end
- def not_found
- puts "\n#{@cX.fuchsia}FILE NOT FOUND:#{@cX.off} << #{@opt.fns} >> - requested #{@opt.cmd} processing skipped\n"
- end
- def convert_name_message(fns,type,i,o,rune)
- %{\nIn filename: "#{@cX.fuchsia}#{fns}#{@cX.off}" << #{type} >> #{@cX.fuchsia}is apre 0.36 markup filename.#{@cX.off} #{@cX.brown}Please rename your file.#{@cX.off}\n\tAs of sisu-0.37, SiSU markup files with #{@cX.brown}the extensions #{i} should be re-named #{o}#{@cX.off}\n\tif you have the program called 'rename' installed, the following rune should do the trick:\n\t\t#{rune}\n\talternatively try:\n\t\tsisu --convert --36to37 #{fns}\n\trequested #{@opt.cmd} processing skipped\n}
- end
- def not_recognised
- case @opt.fns
- when /(\.s[123])$/
- type=@opt.fns.gsub(/\S+?(#{$1})/,'\1')
- rune=%q{rename 's/\.s[123]$/\.sst/' *.s{1,2,3}}
- puts convert_name_message(@opt.fns,type,'.s1 .s2 and .s3','.sst',rune)
- when /(\.r[123])$/
- type=@opt.fns.gsub(/\S+?(#{$1})/,'\1')
- rune=%q{rename 's/\.r[123]$/\.ssm/' *.r{1,2,3}}
- puts convert_name_message(@opt.fns,type,'.r1 .r2 and .r3','.sst',rune)
- puts %{\n\tNote also that you will need to change the names of the files called/required\n\twithin the document text to build the composite document\n\t\t.s1 .s2 .s3 should be .sst \n\t\t.si should be .ssi\n\trequested #{@opt.cmd} processing skipped\n}
- when /(\.ssi)$/
- puts "\n#{@cX.fuchsia}component filetype:#{@cX.off} << #{@opt.fns} >> - is not a processed filetype, (it may be used as a component of a .ssm markup file)\n\trequested #{@opt.cmd} processing skipped\n"
- else
- puts "\n#{@cX.fuchsia}FILETYPE NOT RECOGNISED:#{@cX.off} << #{@opt.fns} >> - is not a recognized filetype,\n\trequested #{@opt.cmd} processing skipped\n"
- end
- end
- end
class Processing
begin
require 'fileutils'
@@ -292,7 +220,11 @@ module SiSU
@@env=@env=SiSU_Env::InfoEnv.new
@msg,@msgs='',nil
@tell=lambda {
- SiSU_Screen::Ansi.new(@opt.cmd,@msg,"#{@msgs.inspect if @msgs}")
+ SiSU_Screen::Ansi.new(
+ @opt.selections.str,
+ @msg,
+ "#{@msgs.inspect if @msgs}"
+ )
}
end
def remove_skipped_files_if_any_from_processing_files_array
@@ -307,16 +239,6 @@ module SiSU
@remove_faulty_markup_files_array.join(',')
end
end
- def do_loops
- @remove_faulty_markup_files_array=[]
- if @opt.act[:zap][:set]==:on #% --zap, -Z
- do_loop_files_on_given_option_pre
- end
- do_each_file_loop_options
- remove_skipped_files_if_any_from_processing_files_array
- do_loop_files_on_given_option_post
- print_error_message_if_files_skipped
- end
def do_each_file_loop_options
@opt.files.each_with_index do |fno,i|
@opt.fno=fno
@@ -336,129 +258,18 @@ module SiSU
Dir.chdir(@opt.pth) #watch
end
@env=SiSU_Env::InfoEnv.new(@opt.fns)
- if @opt.act[:ao][:set]==:on #% --ao --dal, -m
- $process_document = :ok
- unless @opt.act[:po4a][:set]==:on # --po4a, -P
- if @opt.fno =~ /\.ssm$/
- require_relative 'ao_composite' # ao_composite.rb #pre-processing
- SiSU_Assemble::Composite.new(@opt).read
- end
- require_relative 'ao' # -m ao.rb
- SiSU_AO::Source.new(@opt).read
- end
- end
- if $process_document == :ok
- if @opt.act[:qrcode][:set]==:on #% --qrcode, -Q
- require_relative 'qrcode' # qrcode.rb
- SiSU_QRcode::Source.new(@opt).read
- end
- if @opt.act[:hash_digests][:set]==:on #% --hash-digests, -N digest tree
- require_relative 'digests' # digests.rb
- SiSU_DigestView::Source.new(@opt).read
- end
- if @opt.act[:txt][:set]==:on #% --txt, -t -a
- require_relative 'txt_plain' # txt_plain.rb
- SiSU_Txt_Plain::Source.new(@opt).read
- end
- if @opt.act[:txt_textile][:set]==:on #% --textile
- require_relative 'txt_textile' # txt_textile.rb
- SiSU_Txt_Textile::Source.new(@opt).read
- end
- if @opt.act[:txt_asciidoc][:set]==:on #% --asciidoc
- require_relative 'txt_asciidoc' # txt_asciidoc.rb
- SiSU_Txt_AsciiDoc::Source.new(@opt).read
- end
- if @opt.act[:txt_markdown][:set]==:on #% --markdown
- require_relative 'txt_markdown' # txt_markdown.rb
- SiSU_Txt_Markdown::Source.new(@opt).read
- end
- if @opt.act[:txt_rst][:set]==:on #% --rst, --rest
- require_relative 'txt_rst' # txt_rst.rb
- SiSU_Txt_rST::Source.new(@opt).read
- end
- if @opt.act[:html][:set]==:on #% --html, -h -H
- require_relative 'html' # html.rb
- SiSU_HTML::Source.new(@opt).read
- else
- if @opt.act[:html_seg][:set]==:on #% --html-seg (-h -H)
- require_relative 'html' # html.rb
- SiSU_HTML::Source.new(@opt).read
- end
- if @opt.act[:html_scroll][:set]==:on #% --html-scroll (-h -H)
- require_relative 'html' # html.rb
- SiSU_HTML::Source.new(@opt).read
- end
- end
- if @opt.act[:concordance][:set]==:on #% --concordance, -w
- require_relative 'html_concordance' # html_concordance.rb
- SiSU_Concordance::Source.new(@opt).read
- end
- if @opt.act[:epub][:set]==:on #% --epub, -e
- require_relative 'xhtml_epub2' # xhtml_epub2.rb
- SiSU_XHTML_EPUB2::Source.new(@opt).read
- end
- if @opt.act[:odt][:set]==:on #% --odt, -o opendocument
- require_relative 'xml_odf_odt' # xml_odf_odt.rb
- SiSU_XML_ODF_ODT::Source.new(@opt).read
- end
- if @opt.act[:xhtml][:set]==:on #% --xhtml, -b xhtml
- require_relative 'xhtml' # xhtml.rb
- SiSU_XHTML::Source.new(@opt).read
- end
- if @opt.act[:xml_scaffold_structure_sisu][:set]==:on #% --xml-scaffold --xml-scaffold-sisu
- require_relative 'xml_scaffold_structure_sisu' # xml_scaffold_structure_sisu.rb
- SiSU_XML_Scaffold_Structure_Sisu::Source.new(@opt).read
- end
- if @opt.act[:xml_scaffold_structure_collapse][:set]==:on #% --xml-scaffold-collapse
- require_relative 'xml_scaffold_structure_collapsed' # xml_scaffold_structure_collapsed.rb
- SiSU_XML_Scaffold_Structure_Collapse::Source.new(@opt).read
- end
- if @opt.act[:xml_docbook_book][:set]==:on #% --xml-docbook
- require_relative 'xml_docbook5' # xml_docbook5.rb
- SiSU_XML_Docbook_Book::Source.new(@opt).read
- end
- if @opt.act[:xml_fictionbook][:set]==:on #% --xml-fictionbook
- require_relative 'xml_fictionbook2' # xml_fictionbook2.rb
- SiSU_XML_Fictionbook::Source.new(@opt).read
- end
- if @opt.act[:xml_sax][:set]==:on #% --xml-sax, -x xml sax type
- require_relative 'xml_sax' # xml_sax.rb
- SiSU_XML_SAX::Source.new(@opt).read
- end
- if @opt.act[:xml_dom][:set]==:on #% --xml-dom, -X xml dom type
- require_relative 'xml_dom' # xml_dom.rb
- SiSU_XML_DOM::Source.new(@opt).read
- end
- if @opt.act[:pdf][:set]==:on \
- or @opt.act[:pdf_p][:set]==:on \
- or @opt.act[:pdf_l][:set]==:on #% --pdf-l --pdf, -p latex/ texpdf
- require_relative 'texpdf' # texpdf.rb
- SiSU_TeX::Source.new(@opt).read
- end
- if @opt.act[:manpage][:set]==:on #% --manpage, -i
- require_relative 'manpage' # manpage.rb
- SiSU_Manpage::Source.new(@opt).read
- end
- if @opt.act[:texinfo][:set]==:on #% --texinfo, -I
- require_relative 'texinfo' # texinfo.rb
- SiSU_TexInfo::Source.new(@opt).read
- end
- if @opt.act[:sqlite_discrete][:set]==:on #% --sqlite, -d DB sqlite
- require_relative 'dbi_discrete' # dbi_discrete.rb
- SiSU_DBI_Discrete::SQL.new(@opt).build
- end
- if @opt.act[:manifest][:set]==:on #% --manifest, -y
- require_relative 'manifest' # manifest.rb
- ((@opt.act[:sisupod][:set]==:on \
- || @opt.act[:share_source][:set]==:on) \
- && @opt.files.length < 2 ) \
- ? nil
- : SiSU_Manifest::Source.new(@opt).read
- end
- else
- @remove_faulty_markup_files_array << fno
- $process_document=:ok
- end
+ actions=SiSU_Hub_Actions::HubActions.new(@opt)
+ actions.outputs.each_file.abstract_objects?
+ actions.outputs.each_file.qrcode?
+ actions.outputs.each_file.hash_digests?
+ actions.outputs.each_file.text?
+ actions.outputs.each_file.html?
+ actions.outputs.each_file.xhtml?
+ actions.outputs.each_file.xml?
+ actions.outputs.each_file.pdf?
+ actions.outputs.each_file.man_or_info?
+ actions.outputs.each_file.sqlite_discrete?
+ actions.outputs.each_file.manifest?
end
end
def do_loop_files_on_given_option_pre
@@ -473,234 +284,27 @@ module SiSU
end
end
def do_loop_files_on_given_option_post
- if @opt.act[:share_source][:set]==:on \
- or @opt.act[:sisupod][:set]==:on \
- or @opt.act[:git][:set]==:on
- begin
- require_relative 'src_shared'
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Source::SiSUpodSource.new(@opt).read
- end
- if @opt.act[:share_source][:set]==:on
- require_relative 'src_share' # -s src_share.rb
- begin
- ensure
- OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
- SiSU_Markup::Source.new(@opt).read
- end
- end
- end
- if @opt.act[:sisupod][:set]==:on #% --sisupod, -S make sisupod
- require_relative 'src_sisupod_make' # -S src_sisupod_make.rb
- begin
- ensure
- OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
- SiSU_Doc::Source.new(@opt).sisupod_tar_xz
- end
- end
- end
- if @opt.act[:git][:set]==:on #% --git, -g sisu git
- require_relative 'git' # -g git.rb
- begin
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Git::Source.new(@opt).read
- end
- ensure
- OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
- SiSU_Git::Source.new(@opt).git_commit
- end
- end
- end
- if (@opt.act[:sisupod][:set]==:on \
- || @opt.act[:share_source][:set]==:on) \
- and @opt.act[:manifest][:set]==:on #% --manifest, -y
- require_relative 'manifest' # -y manifest.rb
- begin
- ensure
- OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
- SiSU_Manifest::Source.new(@opt).read
- end
- end
- end
- ensure
- path_pod=@env.processing_path.processing_sisupod(@opt).paths
- unless @opt.act[:maintenance][:set]==:on
- FileUtils::rm_rf("#{path_pod[:sisupod]}/*") \
- if FileTest.directory?(path_pod[:sisupod])
- end
- end
- end
- if @opt.act[:po4a][:set]==:on #% --po4a, -P
- require_relative 'po4a'
- begin
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Po4a::Source.new(@opt).read # -P po4a.rb
- end
- ensure
- end
- end
- if @opt.act[:images][:set]==:on #% --images, -j
- require_relative 'shared_images'
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Images::Source.new(@opt).read # -j shared_images.rb
- end
- end
- if @opt.cmd =~/T/ #% -T termsheet/standard form
- @opt.files.each do |fns|
- if FileTest.file?(fns)
- @opt.fns=fns
- case @opt.fns
- when /\.(termsheet.rb)$/
- SiSU::Operations.new(@opt).termsheet
- else #print "not processed --> ", fns, "\n"
- end
- else SiSU::Operations.new(@opt).not_found
- end
- end
- SiSU::Operations.new.counter
- end
- if @opt.act[:psql][:set]==:on #% --pg, -D DB postgresql
- require_relative 'dbi'
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb
- end
- end
- if @opt.act[:sqlite][:set]==:on #% --sqlite, -d DB sqlite
- require_relative 'dbi'
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb
- end
- end
- if @opt.act[:manifest][:set]==:on #% --manifest, -y
- require_relative 'manifest'
- OptionLoopFiles.new(@opt).manifest_on_files_translated do
- SiSU_Manifest::Source.new(@opt).read # -y manifest.rb
- end
- end
- if @opt.act[:sitemap][:set]==:on #% --sitemap, -Y
- require_relative 'sitemaps'
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Sitemaps::Source.new(@opt).read # -Y sitemaps.rb
- end
- end
- if @opt.act[:harvest][:set] !=:on
- if @opt.act[:scp][:set]==:on #% -r copy to remote server
- require_relative 'remote' # -r remote.rb
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Remote::Put.new(@opt).scp
- end
- end
- if @opt.act[:rsync][:set]==:on #% -R copy to remote server
- require_relative 'remote' # -R remote.rb
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Remote::Put.new(@opt).rsync
- end
- end
- else
- end
- if @opt.act[:urls_selected][:set]==:on #% --sitemap, -Y
- require_relative 'urls'
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Urls::Source.new(@opt).read #% -u -v -V -M
- end
- end
+ actions=SiSU_Hub_Actions::HubActions.new(@opt)
+ actions.outputs.loop_files.share_source?
+ actions.outputs.loop_files.run_termsheet?
+ actions.outputs.loop_files.sql?
+ SiSU_Hub_Actions::Operations.new.counter
+ actions.outputs.loop_files.manifest?
+ actions.outputs.loop_files.sitemaps?
+ actions.outputs.loop_files.urls?
end
- def do_initialization
- @cX=SiSU_Screen::Ansi.new(@opt.act[:color_state][:set]).cX
- SiSU_Env::InfoProcessingFlag.new
- if @opt.act[:version_info][:set]==:on #% version information
+ def version_info
+ if @opt.act[:version_info][:set]==:on
SiSU_Env::InfoAbout.new(@opt).sisu_version
- if (@opt.act[:verbose][:set]==:on \
- || @opt.act[:verbose_plus][:set]==:on \
- || @opt.act[:maintenance][:set]==:on)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- ' ' + File.dirname(__FILE__)
- ).grey
- end
- end
- if @opt.act[:ao][:set]==:on \
- or @opt.act[:maintenance][:set]==:on #% --maintenance, -m for -C
- path={}
- path[:css]=@@env.path.output + '/_sisu/css'
- path[:xml]=@@env.path.output + '/_sisu/xml'
- path[:xsd]=path[:xml] + '/xsd'
- path[:xsd]=path[:xml] + '/rnc'
- path[:xsd]=path[:xml] + '/rng'
- re_p3=/(sisupod(?:\.txz)?|\S+?\.ss[mt]\.txz|[^\/]+?\.ssp)$/
- unless @opt.files.join(',') =~ re_p3 #do not mix pods with source markup files in command line
- if @opt.act[:maintenance][:set] ==:on
- $VERBOSE=false #debug $VERBOSE=true
- end
- end
- re_p2=/(sisupod(?:\.zip)?|\S+?\.ss[mt]\.zip)$/
- unless @opt.files.join(',') =~ re_p2 #do not mix pods with source markup files in command line
- if @opt.act[:maintenance][:set] ==:on
- $VERBOSE=false #debug $VERBOSE=true
- end
- end
- end
- if @opt.act[:site_init][:set]==:on #% --init-site, -C initialize/configure
- require_relative 'conf' #% --init-site, -C initialize/configure
- SiSU_Initialize::Source.new(@opt).read
- if @opt.act[:rsync][:set]==:on
- if @opt.mod.inspect =~/--init(?:ialize)?=site/ \
- and @opt.cmd =~/RZ/
- SiSU::Operations.new(@opt).remote_put_base_site_rsync_match
- else SiSU::Operations.new(@opt).remote_put_base_site_rsync
- end
- elsif @opt.act[:scp][:set]==:on
- if @opt.mod.inspect =~/--init(?:ialize)?=site/ \
- and @opt.cmd =~/CCr/
- SiSU::Operations.new(@opt).remote_put_base_site_all
- else SiSU::Operations.new(@opt).remote_put_base_site
- end
- end
- end
- if @opt.act[:sample_search_form][:set]==:on #% --sample-search-form, -F cgi sample search form
- SiSU::Operations.new(@opt).cgi
- end
- if @opt.act[:webrick][:set]==:on #% --webrick, -W webrick
- SiSU::Operations.new(@opt).webrick
- end
- if @opt.act[:ao][:set]==:on
- @retry_count= -1
- begin
- @get_s,@get_p,@get_pl=[],[],[]
- re_s=/(\S+?\.-sst)$/
- re_p3=/((?:https?|file):\/\/\S+?(?:\/\S+?\.ss[mt]\.txz|sisupod(?:\.txz)?|\.ssp))/
- re_pl3=/^(\/\S+?\.ss[mt]\.txz)/
- @opt.files.each do |fns|
- if fns =~re_s
- @get_s << @opt.f_pths[0][:url]
- end
- if fns =~re_p3
- @get_p << re_p3.match(fns)[1] if re_p3
- end
- if fns =~re_pl3
- @get_pl << re_pl3.match(fns)[1] if re_p3
- end
- end
- if @get_s.length > 0 #% remote markup file .sst
- require_relative 'remote' # remote.rb
- SiSU_Remote::Get.new(@opt,@get_s).fns
- SiSU::Operations.new.counter
- end
- if @get_p.length > 0 #% remote sisupod
- require_relative 'remote' # remote.rb
- SiSU_Remote::Get.new(@opt,@get_p).sisupod
- end
- rescue
- SiSU_Errors::Rescued.new($!,$@,@opt,@fns).location do
- __LINE__.to_s + ':' + __FILE__
- end
- @retry_count +=1
- retry unless @retry_count > 1
- ensure
- end
end
end
- def actions
+ def actions_without_files
+ actions=SiSU_Hub_Actions::HubActions.new(@opt)
+ actions.prepare.site?
+ actions.prepare.remote_site?
+ actions.prepare.sql?
+ end
+ def actions_on_files
if @opt.act[:profile][:set]==:on
begin
require 'profile'
@@ -709,150 +313,71 @@ module SiSU
error('profile NOT FOUND (LoadError)')
end
end
- action_on_file_ =if @opt.act[:rsync][:set]==:on \
- && @opt.act[:site_init][:set]==:on
- :false
- elsif @opt.act[:rsync][:set]==:on \
- && @opt.act[:site_init][:set] !=:on
- :true
- elsif ((@opt.act[:psql][:set]==:on \
- or @opt.act[:sqlite][:set]==:on) \
- and @opt.mod.join(';') =~/--(?:createdb|init(?:ialize)?|create(?:all)?|createtables|recreate|drop(?:all))/)
- :false
- else
- (@opt.act[:ao][:set]==:on \
- || @opt.act[:manpage][:set]==:on \
- || @opt.act[:texinfo][:set]==:on \
- || @opt.act[:txt][:set]==:on \
- || @opt.act[:txt_textile][:set]==:on \
- || @opt.act[:txt_asciidoc][:set]==:on \
- || @opt.act[:txt_markdown][:set]==:on \
- || @opt.act[:txt_rst][:set]==:on \
- || @opt.act[:html][:set]==:on \
- || @opt.act[:html_scroll][:set]==:on \
- || @opt.act[:html_seg][:set]==:on \
- || @opt.act[:concordance][:set]==:on \
- || @opt.act[:xhtml][:set]==:on \
- || @opt.act[:epub][:set]==:on \
- || @opt.act[:odt][:set]==:on \
- || @opt.act[:xml_sax][:set]==:on \
- || @opt.act[:xml_dom][:set]==:on \
- || @opt.act[:xml_scaffold_structure_sisu][:set]==:on \
- || @opt.act[:xml_scaffold_structure_collapse][:set]==:on \
- || @opt.act[:xml_docbook_book][:set]==:on \
- || @opt.act[:xml_fictionbook][:set]==:on \
- || @opt.act[:pdf][:set]==:on \
- || @opt.act[:pdf_p][:set]==:on \
- || @opt.act[:pdf_l][:set]==:on \
- || @opt.act[:psql][:set]==:on \
- || @opt.act[:sqlite][:set]==:on \
- || @opt.act[:sqlite_discrete][:set]==:on \
- || @opt.act[:share_source][:set]==:on \
- || @opt.act[:sisupod][:set]==:on \
- || @opt.act[:qrcode][:set]==:on \
- || @opt.act[:hash_digests][:set]==:on \
- || @opt.act[:manifest][:set]==:on \
- || @opt.act[:scp][:set]==:on \
- || @opt.act[:webrick][:set]==:on \
- || @opt.act[:zap][:set]==:on) \
- ? (:true)
- : (:false)
- end
- if @opt.act[:harvest][:set]==:on
- require_relative 'harvest' # harvest.rb
- SiSU_Harvest::Source.new(@opt).read # -h -H html.rb
- elsif @opt.mod.inspect =~/--convert|--to|--from/
- require_relative 'sst_convert_markup' # sst_convert_markup.rb
- elsif action_on_file_ == :false \
- and (@opt.act[:psql][:set]==:on \
- or @opt.act[:sqlite][:set]==:on)
- if @opt.act[:psql][:set]==:on
- require_relative 'dbi'
- SiSU_DBI::SQL.new(@opt).connect
- end
- if @opt.act[:sqlite][:set]==:on
- require_relative 'dbi'
- SiSU_DBI::SQL.new(@opt).connect
+ actions=SiSU_Hub_Actions::HubActions.new(@opt)
+ actions.outputs.each_file.harvest? #check
+ actions.outputs.init?
+ do_loop_files_on_given_option_pre
+ do_each_file_loop_options
+ #remove_skipped_files_if_any_from_processing_files_array # NEEDS WORK
+ do_loop_files_on_given_option_post
+ print_error_message_if_files_skipped
+ actions.outputs.sql? #check location
+ if @opt.f_pths.length > 0
+ if (@opt.act[:verbose][:set]==:on \
+ || @opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:maintenance][:set]==:on)
+ @msg,@msgs="\tsisu -W [to start ruby web-server on output directory]\n",nil
end
- elsif action_on_file_ == :true \
- or ( #% --->
- @opt.cmd =~/^-/ \
- and @opt.cmd =~/([abCcDdeFGgHhIjikLMmNnoPpQqRrSsTtUuVvWwXxYyZ_0-9])/ \
- and @opt.mod.inspect !~/--(?:sitemaps|query|identify)/ \
- or @opt.mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/
- )
- do_initialization
- if action_on_file_ == :true \
- and @opt.files.length > 0
- do_loops
- if (@opt.act[:verbose][:set]==:on \
- || @opt.act[:verbose_plus][:set]==:on \
- || @opt.act[:maintenance][:set]==:on)
- @msg,@msgs="\tsisu -W [to start ruby web-server on output directory]\n",nil
- end
- if (@opt.act[:verbose][:set]==:on \
- || @opt.act[:verbose_plus][:set]==:on \
- || @opt.act[:maintenance][:set]==:on \
- || @opt.act[:urls_selected][:set]==:on \
- || @opt.act[:urls_all][:set]==:on)
- @tell.call.print_brown unless @opt.files.join.empty?
- end
- if defined? @@env.processing_path.processing \
- and @@env.user \
- and FileTest.directory?(@@env.processing_path.processing) \
- and @@env.processing_path.processing =~/#{@@env.user}$/ #clean temporary processing directory of content as is located in public area
- if @@env.processing_path.processing_base_tmp =~/^\/tmp\/\S+/
- FileUtils::cd(@@env.processing_path.processing_base_tmp) do
- FileUtils::rm_rf('.') unless @opt.act[:maintenance][:set] ==:on
- end
+ if (@opt.act[:verbose][:set]==:on \
+ || @opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:maintenance][:set]==:on \
+ || @opt.act[:urls_selected][:set]==:on \
+ || @opt.act[:urls_all][:set]==:on)
+ @tell.call.print_brown unless @opt.files.join.empty?
+ end
+ if defined? @@env.processing_path.processing \
+ and @@env.user \
+ and FileTest.directory?(@@env.processing_path.processing) \
+ and @@env.processing_path.processing =~/#{@@env.user}$/ #clean temporary processing directory of content as is located in public area
+ if @@env.processing_path.processing_base_tmp =~/^\/tmp\/\S+/
+ FileUtils::cd(@@env.processing_path.processing_base_tmp) do
+ FileUtils::rm_rf('.') unless @opt.act[:maintenance][:set] ==:on
end
end
- elsif action_on_file_ == :true \
- and @opt.files.length == 0
- STDERR.puts %{requested action requires valid sisu markup file [filename (.sst .ssm)] or wildcard (that includes a valid filename)}
- if (@opt.act[:verbose_plus][:set]==:on \
- || @opt.act[:maintenance][:set]==:on)
- SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).warn(:fuchsia)
- end
end
- elsif @opt.mod.inspect =~/--query/
- require_relative 'sst_identify_markup' # sst_identify_markup.rb
- puts SiSU_Markup::MarkupHistory.new(@opt).query
- elsif @opt.mod.inspect =~/--identify/
- require_relative 'sst_identify_markup' # sst_identify_markup.rb
- SiSU_Markup::MarkupIdentify.new(@opt).markup_version?
- elsif @opt.mod.inspect =~/--sitemaps/ #% sitemaps
- require_relative 'sitemaps' # sitemaps.rb
- SiSU_Sitemaps::Source.new(@opt).read
- if @opt.act[:rsync][:set]==:on
- require_relative 'remote' # remote.rb
- SiSU_Remote::Put.new(@opt).rsync_sitemaps
+ elsif @opt.f_pths.length == 0
+ STDERR.puts %{requested action requires valid sisu markup file [filename (.sst .ssm)] or wildcard (that includes a valid filename)}
+ if (@opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:maintenance][:set]==:on)
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).warn(:fuchsia)
end
else #% sisu help refer to man pages
- SiSU_Env::InfoAbout.new(@opt).sisu_version
- SiSU_Env::InfoAbout.new(@opt).sisu_about
+ actions.prepare(@opt).site?
+ unless done==:ok
+ #SiSU_Env::InfoAbout.new(@opt).sisu_about
+ end
end
@opt.files.each do |fns|
if FileTest.file?(fns)
@opt.fns=fns
unless @opt.fns =~ /(?:\.(?:(?:-|ssm\.)?sst|ssm|ssp|sx[sdn]\.xml|termsheet.rb)|\S+?\.ss[mt]\.(?:txz|zip)|sisupod\.(?:txz|zip)?|\S+?\.ssp)$/
- if @opt.cmd.inspect=~/-P/
+ if @opt.selections.str=~/--pg/
elsif @opt.fns=~/\.kdi$/ \
and @opt.mod.inspect =~/--(?:convert(?:-from)?|from)[=-]kdi/
elsif @opt.fns=~/\.sx[sdn]\.xml$/ \
and @opt.mod.inspect =~/--(?:(?:convert(?:-from)?|from)[=-])?(?:xml2sst|sxml)/
elsif @opt.fns=~/\.ssi$/ \
and @opt.mod.inspect =~/--identify/
- else SiSU::Operations.new(@opt).not_recognised
+ else SiSU_Hub_Actions::Operations.new(@opt).not_recognised
end
end
if @opt.fns =~/\.ssm\.sst$/ \
- and @opt.cmd !~/[S_M]/ # rework necessry, revist, the _ flag is a hack, to keep ._sst files
+ and @opt.selections.str !~/[S_M]/ # rework necessary, revist, the _ flag is a hack, to keep ._sst files
@msg,@msgs='temporary file removed',nil
@tell.call.warn unless @opt.act[:quiet][:set]==:on
File.unlink(@opt.fns) if File.exist?(@opt.fns) #CONSIDER
end
- else #SiSU::Operations.new(fns,'html').not_found
+ else #SiSU::Operations.new(fns,'html').not_found
end
end
end
diff --git a/lib/sisu/v5/hub_actions.rb b/lib/sisu/v5/hub_actions.rb
new file mode 100644
index 00000000..8717f815
--- /dev/null
+++ b/lib/sisu/v5/hub_actions.rb
@@ -0,0 +1,585 @@
+# encoding: utf-8
+=begin
+
+ * Name: SiSU
+
+ * Description: a framework for document structuring, publishing and search
+
+ * Author: Ralph Amissah
+
+ * Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+ 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Ralph Amissah,
+ All Rights Reserved.
+
+ * License: GPL 3 or later:
+
+ SiSU, a framework for document structuring, publishing and search
+
+ Copyright (C) Ralph Amissah
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the Free
+ Software Foundation, either version 3 of the License, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along with
+ this program. If not, see <http://www.gnu.org/licenses/>.
+
+ If you have Internet connection, the latest version of the GPL should be
+ available at these locations:
+ <http://www.fsf.org/licensing/licenses/gpl.html>
+ <http://www.gnu.org/licenses/gpl.html>
+
+ <http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html>
+
+ * SiSU uses:
+ * Standard SiSU markup syntax,
+ * Standard SiSU meta-markup syntax, and the
+ * Standard SiSU object citation numbering and system
+
+ * Hompages:
+ <http://www.jus.uio.no/sisu>
+ <http://www.sisudoc.org>
+
+ * Download:
+ <http://www.sisudoc.org/sisu/en/SiSU/download.html>
+
+ * Git
+ <http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
+ <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/hub_actions.rb;hb=HEAD>
+
+ * Ralph Amissah
+ <ralph@amissah.com>
+ <ralph.amissah@gmail.com>
+
+ ** Description: SiSU information Structuring Universe, text structuring,
+ processing, publishing, search
+
+=end
+module SiSU_Hub_Actions
+ class HubActions
+ def initialize(opt)
+ @opt=opt
+ end
+ def prepare
+ def site?
+ if @opt.act[:site_init][:set]==:on #% --init-site, -C initialize/configure
+ require_relative 'conf' #% --init-site, -C initialize/configure
+ SiSU_Initialize::Source.new(@opt).read
+ if @opt.act[:rsync][:set]==:on
+ if @opt.mod.inspect =~/--init(?:ialize)?=site/ \
+ and @opt.selections.str =~/RZ/
+ SiSU::Operations.new(@opt).remote_put_base_site_rsync_match
+ else SiSU::Operations.new(@opt).remote_put_base_site_rsync
+ end
+ elsif @opt.act[:scp][:set]==:on
+ if @opt.mod.inspect =~/--init(?:ialize)?=site/ \
+ and @opt.selections.str =~/CCr/
+ SiSU::Operations.new(@opt).remote_put_base_site_all
+ else SiSU::Operations.new(@opt).remote_put_base_site
+ end
+ end
+ end
+ end
+ def remote_site?
+ if @opt.act[:site_init][:set]==:on
+ if @opt.act[:site_init][:set]==:on #% --init-site, -C initialize/configure
+ #require_relative 'conf' #% --init-site, -C initialize/configure
+ #SiSU_Initialize::Source.new(@opt).read
+ #if @opt.act[:rsync][:set]==:on
+ # if @opt.mod.inspect =~/--init(?:ialize)?=site/ \
+ # and @opt.selection =~/RZ/
+ # SiSU::Operations.new(@opt).remote_put_base_site_rsync_match
+ # else SiSU::Operations.new(@opt).remote_put_base_site_rsync
+ # end
+ #elsif @opt.act[:scp][:set]==:on
+ # if @opt.mod.inspect =~/--init(?:ialize)?=site/ \
+ # and @opt.selection =~/CCr/
+ # SiSU::Operations.new(@opt).remote_put_base_site_all
+ # else SiSU::Operations.new(@opt).remote_put_base_site
+ # end
+ #end
+ end
+ end
+ end
+ def sql?
+ if @opt.act[:psql_createdb][:set]==:on \
+ or @opt.act[:psql_create][:set]==:on \
+ or @opt.act[:psql_drop][:set]==:on
+ done=:ok
+ if @opt.act[:psql][:set]==:on
+ require_relative 'dbi'
+ SiSU_DBI::SQL.new(@opt).connect
+ end
+ end
+ if @opt.act[:sqlite_createdb][:set]==:on \
+ or @opt.act[:sqlite_create][:set]==:on \
+ or @opt.act[:sqlite_drop][:set]==:on
+ done=:ok
+ if @opt.act[:sqlite][:set]==:on
+ require_relative 'dbi'
+ SiSU_DBI::SQL.new(@opt).connect
+ end
+ end
+ end
+ self
+ end
+ def outputs
+ if @opt.f_pths.length > 0
+ def each_file
+ def abstract_objects?
+ if @opt.act[:ao][:set]==:on #% --ao --dal, -m
+ unless @opt.act[:po4a][:set]==:on # --po4a, -P
+ if @opt.fno =~ /\.ssm$/
+ require_relative 'ao_composite' # ao_composite.rb #pre-processing
+ SiSU_Assemble::Composite.new(@opt).read
+ end
+ require_relative 'ao' # -m ao.rb
+ SiSU_AO::Source.new(@opt).read
+ end
+ end
+ end
+ def qrcode?
+ if @opt.act[:qrcode][:set]==:on #% --qrcode, -Q
+ require_relative 'qrcode' # qrcode.rb
+ SiSU_QRcode::Source.new(@opt).read
+ end
+ end
+ def hash_digests?
+ if @opt.act[:hash_digests][:set]==:on #% --hash-digests, -N digest tree
+ require_relative 'digests' # digests.rb
+ SiSU_DigestView::Source.new(@opt).read
+ end
+ end
+ def text?
+ if @opt.act[:txt][:set]==:on #% --txt, -t -a
+ require_relative 'txt_plain' # txt_plain.rb
+ SiSU_Txt_Plain::Source.new(@opt).read
+ end
+ if @opt.act[:txt_textile][:set]==:on #% --textile
+ require_relative 'txt_textile' # txt_textile.rb
+ SiSU_Txt_Textile::Source.new(@opt).read
+ end
+ if @opt.act[:txt_asciidoc][:set]==:on #% --asciidoc
+ require_relative 'txt_asciidoc' # txt_asciidoc.rb
+ SiSU_Txt_AsciiDoc::Source.new(@opt).read
+ end
+ if @opt.act[:txt_markdown][:set]==:on #% --markdown
+ require_relative 'txt_markdown' # txt_markdown.rb
+ SiSU_Txt_Markdown::Source.new(@opt).read
+ end
+ if @opt.act[:txt_rst][:set]==:on #% --rst, --rest
+ require_relative 'txt_rst' # txt_rst.rb
+ SiSU_Txt_rST::Source.new(@opt).read
+ end
+ end
+ def html?
+ if @opt.act[:html][:set]==:on #% --html, -h -H
+ require_relative 'html' # html.rb
+ SiSU_HTML::Source.new(@opt).read
+ else
+ if @opt.act[:html_seg][:set]==:on #% --html-seg (-h -H)
+ require_relative 'html' # html.rb
+ SiSU_HTML::Source.new(@opt).read
+ end
+ if @opt.act[:html_scroll][:set]==:on #% --html-scroll (-h -H)
+ require_relative 'html' # html.rb
+ SiSU_HTML::Source.new(@opt).read
+ end
+ end
+ if @opt.act[:concordance][:set]==:on #% --concordance, -w
+ require_relative 'html_concordance' # html_concordance.rb
+ SiSU_Concordance::Source.new(@opt).read
+ end
+ end
+ def xhtml?
+ if @opt.act[:xhtml][:set]==:on #% --xhtml, -b xhtml
+ require_relative 'xhtml' # xhtml.rb
+ SiSU_XHTML::Source.new(@opt).read
+ end
+ if @opt.act[:epub][:set]==:on #% --epub, -e
+ require_relative 'xhtml_epub2' # xhtml_epub2.rb
+ SiSU_XHTML_EPUB2::Source.new(@opt).read
+ end
+ end
+ def xml?
+ if @opt.act[:odt][:set]==:on #% --odt, -o opendocument
+ require_relative 'xml_odf_odt' # xml_odf_odt.rb
+ SiSU_XML_ODF_ODT::Source.new(@opt).read
+ end
+ if @opt.act[:xml_scaffold_structure_sisu][:set]==:on #% --xml-scaffold --xml-scaffold-sisu
+ require_relative 'xml_scaffold_structure_sisu' # xml_scaffold_structure_sisu.rb
+ SiSU_XML_Scaffold_Structure_Sisu::Source.new(@opt).read
+ end
+ if @opt.act[:xml_scaffold_structure_collapse][:set]==:on #% --xml-scaffold-collapse
+ require_relative 'xml_scaffold_structure_collapsed' # xml_scaffold_structure_collapsed.rb
+ SiSU_XML_Scaffold_Structure_Collapse::Source.new(@opt).read
+ end
+ if @opt.act[:xml_docbook_book][:set]==:on #% --xml-docbook
+ require_relative 'xml_docbook5' # xml_docbook5.rb
+ SiSU_XML_Docbook_Book::Source.new(@opt).read
+ end
+ if @opt.act[:xml_fictionbook][:set]==:on #% --xml-fictionbook
+ require_relative 'xml_fictionbook2' # xml_fictionbook2.rb
+ SiSU_XML_Fictionbook::Source.new(@opt).read
+ end
+ if @opt.act[:xml_sax][:set]==:on #% --xml-sax, -x xml sax type
+ require_relative 'xml_sax' # xml_sax.rb
+ SiSU_XML_SAX::Source.new(@opt).read
+ end
+ if @opt.act[:xml_dom][:set]==:on #% --xml-dom, -X xml dom type
+ require_relative 'xml_dom' # xml_dom.rb
+ SiSU_XML_DOM::Source.new(@opt).read
+ end
+ end
+ def pdf?
+ if @opt.act[:pdf][:set]==:on \
+ or @opt.act[:pdf_p][:set]==:on \
+ or @opt.act[:pdf_l][:set]==:on #% --pdf-l --pdf, -p latex/ texpdf
+ require_relative 'texpdf' # texpdf.rb
+ SiSU_TeX::Source.new(@opt).read
+ end
+ end
+ def man_or_info?
+ if @opt.act[:manpage][:set]==:on #% --manpage, -i
+ require_relative 'manpage' # manpage.rb
+ SiSU_Manpage::Source.new(@opt).read
+ end
+ if @opt.act[:texinfo][:set]==:on #% --texinfo, -I
+ require_relative 'texinfo' # texinfo.rb
+ SiSU_TexInfo::Source.new(@opt).read
+ end
+ end
+ def sqlite_discrete?
+ if @opt.act[:sqlite_discrete][:set]==:on #% --sqlite, -d DB sqlite
+ require_relative 'dbi_discrete' # dbi_discrete.rb
+ SiSU_DBI_Discrete::SQL.new(@opt).build
+ end
+ end
+ def manifest?
+ if @opt.act[:manifest][:set]==:on #% --manifest, -y
+ require_relative 'manifest' # manifest.rb
+ ((@opt.act[:sisupod][:set]==:on \
+ || @opt.act[:share_source][:set]==:on) \
+ && @opt.f_pths.length < 2 ) \
+ ? nil
+ : SiSU_Manifest::Source.new(@opt).read
+ end
+ end
+ def harvest?
+ if @opt.act[:harvest][:set]==:on
+ require_relative 'harvest' # harvest.rb
+ SiSU_Harvest::Source.new(@opt).read # -h -H html.rb
+ end
+ end
+ self
+ end
+ def loop_files
+ def share_source?
+ if @opt.act[:share_source][:set]==:on \
+ or @opt.act[:sisupod][:set]==:on \
+ or @opt.act[:git][:set]==:on
+ begin
+ require_relative 'src_shared'
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Source::SiSUpodSource.new(@opt).read
+ end
+ if @opt.act[:share_source][:set]==:on
+ require_relative 'src_share' # -s src_share.rb
+ begin
+ ensure
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
+ SiSU_Markup::Source.new(@opt).read
+ end
+ end
+ end
+ if @opt.act[:sisupod][:set]==:on #% --sisupod, -S make sisupod
+ require_relative 'src_sisupod_make' # -S src_sisupod_make.rb
+ begin
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
+ SiSU_Doc::Source.new(@opt).sisupod_tar_xz
+ end
+ ensure
+ end
+ end
+ if @opt.act[:git][:set]==:on #% --git, -g sisu git
+ require_relative 'git' # -g git.rb
+ begin
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Git::Source.new(@opt).read
+ end
+ ensure
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
+ SiSU_Git::Source.new(@opt).git_commit
+ end
+ end
+ end
+ if (@opt.act[:sisupod][:set]==:on \
+ || @opt.act[:share_source][:set]==:on) \
+ and @opt.act[:manifest][:set]==:on #% --manifest, -y
+ require_relative 'manifest' # -y manifest.rb
+ begin
+ ensure
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
+ SiSU_Manifest::Source.new(@opt).read
+ end
+ end
+ end
+ ensure
+ env=SiSU_Env::InfoEnv.new(@opt.fns)
+ path_pod=env.processing_path.processing_sisupod(@opt).paths
+ unless @opt.act[:maintenance][:set]==:on
+ FileUtils::rm_rf("#{path_pod[:sisupod]}/*") \
+ if FileTest.directory?(path_pod[:sisupod])
+ end
+ end
+ end
+ if @opt.act[:po4a][:set]==:on #% --po4a, -P
+ require_relative 'po4a'
+ begin
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Po4a::Source.new(@opt).read # -P po4a.rb
+ end
+ ensure
+ end
+ end
+ if @opt.act[:images][:set]==:on #% --images, -j
+ require_relative 'shared_images'
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Images::Source.new(@opt).read # -j shared_images.rb
+ end
+ end
+ end
+ def run_termsheet? #broken, revisit later
+ if @opt.selections.str =~/--termsheet/ #% -T termsheet/standard form #fix later
+ @opt.files.each do |fns|
+ if FileTest.file?(fns)
+ @opt.fns=fns
+ case @opt.fns
+ when /\.(termsheet.rb)$/
+ SiSU::Operations.new(@opt).termsheet
+ else #print "not processed --> ", fns, "\n"
+ end
+ else SiSU::Operations.new(@opt).not_found
+ end
+ end
+ end
+ end
+ def sql?
+ if @opt.act[:psql][:set]==:on #% --pg, -D DB postgresql
+ require_relative 'dbi'
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb
+ end
+ end
+ if @opt.act[:sqlite][:set]==:on #% --sqlite, -d DB sqlite
+ require_relative 'dbi'
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb
+ end
+ end
+ end
+ def manifest?
+ if @opt.act[:manifest][:set]==:on #% --manifest, -y
+ require_relative 'manifest'
+ SiSU::OptionLoopFiles.new(@opt).manifest_on_files_translated do
+ SiSU_Manifest::Source.new(@opt).read # -y manifest.rb
+ end
+ end
+ end
+ def sitemaps?
+ if @opt.act[:sitemap][:set]==:on #% --sitemap, -Y
+ require_relative 'sitemaps'
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Sitemaps::Source.new(@opt).read # -Y sitemaps.rb
+ end
+ end
+ end
+ def remote_placement?
+ if @opt.act[:harvest][:set] !=:on
+ if @opt.act[:scp][:set]==:on #% -r copy to remote server
+ require_relative 'remote' # -r remote.rb
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Remote::Put.new(@opt).scp
+ end
+ end
+ if @opt.act[:rsync][:set]==:on #% -R copy to remote server
+ require_relative 'remote' # -R remote.rb
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Remote::Put.new(@opt).rsync
+ end
+ end
+ else
+ end
+ end
+ def urls?
+ if @opt.act[:urls_selected][:set]==:on #% --sitemap, -Y
+ require_relative 'urls'
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Urls::Source.new(@opt).read #% urls.rb
+ end
+ end
+ end
+ self
+ end
+ end
+ def init?
+ SiSU_Env::InfoProcessingFlag.new
+ if (@opt.act[:verbose][:set]==:on \
+ || @opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:maintenance][:set]==:on)
+ SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ ' ' + File.dirname(__FILE__)
+ ).grey
+ end
+ if @opt.act[:ao][:set]==:on \
+ or @opt.act[:maintenance][:set]==:on #% --maintenance, -m for -C
+ env=SiSU_Env::InfoEnv.new(@opt.fns)
+ path={}
+ path[:css]=env.path.output + '/_sisu/css'
+ path[:xml]=env.path.output + '/_sisu/xml'
+ path[:xsd]=path[:xml] + '/xsd'
+ path[:xsd]=path[:xml] + '/rnc'
+ path[:xsd]=path[:xml] + '/rng'
+ re_p3=/(sisupod(?:\.txz)?|\S+?\.ss[mt]\.txz|[^\/]+?\.ssp)$/
+ unless @opt.files.join(',') =~ re_p3 #do not mix pods with source markup files in command line
+ if @opt.act[:maintenance][:set] ==:on
+ $VERBOSE=false #debug $VERBOSE=true
+ end
+ end
+ re_p2=/(sisupod(?:\.zip)?|\S+?\.ss[mt]\.zip)$/
+ unless @opt.files.join(',') =~ re_p2 #do not mix pods with source markup files in command line
+ if @opt.act[:maintenance][:set] ==:on
+ $VERBOSE=false #debug $VERBOSE=true
+ end
+ end
+ end
+ if @opt.act[:sample_search_form][:set]==:on #% --sample-search-form, -F cgi sample search form
+ SiSU::Operations.new(@opt).cgi
+ end
+ if @opt.act[:webrick][:set]==:on #% --webrick, -W webrick
+ SiSU::Operations.new(@opt).webrick
+ end
+ if @opt.act[:ao][:set]==:on
+ @retry_count= -1
+ begin
+ @get_s,@get_p,@get_pl=[],[],[]
+ re_s=/(\S+?\.-sst)$/
+ re_p3=/((?:https?|file):\/\/\S+?(?:\/\S+?\.ss[mt]\.txz|sisupod(?:\.txz)?|\.ssp))/
+ re_pl3=/^(\/\S+?\.ss[mt]\.txz)/
+ @opt.files.each do |fns|
+ if fns =~re_s
+ @get_s << @opt.f_pths[0][:url]
+ end
+ if fns =~re_p3
+ @get_p << re_p3.match(fns)[1] if re_p3
+ end
+ if fns =~re_pl3
+ @get_pl << re_pl3.match(fns)[1] if re_p3
+ end
+ end
+ if @get_s.length > 0 #% remote markup file .sst
+ require_relative 'remote' # remote.rb
+ SiSU_Remote::Get.new(@opt,@get_s).fns
+ SiSU::Operations.new.counter
+ end
+ if @get_p.length > 0 #% remote sisupod
+ require_relative 'remote' # remote.rb
+ SiSU_Remote::Get.new(@opt,@get_p).sisupod
+ end
+ rescue
+ SiSU_Errors::Rescued.new($!,$@,@opt,@fns).location do
+ __LINE__.to_s + ':' + __FILE__
+ end
+ @retry_count +=1
+ retry unless @retry_count > 1
+ ensure
+ end
+ end
+ end
+ self
+ end
+ end
+ class Operations
+ @@n_do=0
+ def initialize(opt='')
+ @opt=opt
+ @cX=SiSU_Screen::Ansi.new(@opt).cX
+ end
+ def counter
+ @@n_do=0
+ end
+ def remote_put_base_site_rsync # -CR
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
+ if @opt.act[:maintenance][:set] ==:on
+ require_relative 'remote' # remote.rb
+ SiSU_Remote::Put.new(@opt).rsync_base
+ end
+ def remote_put_base_site_rsync_match # -CCRZ
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
+ if @opt.act[:maintenance][:set] ==:on
+ require_relative 'remote' # remote.rb
+ SiSU_Remote::Put.new(@opt).rsync_base_sync
+ end
+ def remote_put_base_site # -Cr
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
+ if @opt.act[:maintenance][:set] ==:on
+ require_relative 'remote' # remote.rb
+ SiSU_Remote::Put.new(@opt).scp_base
+ end
+ def remote_put_base_site_all # -CCr
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
+ if @opt.act[:maintenance][:set] ==:on
+ require_relative 'remote' # remote.rb
+ SiSU_Remote::Put.new(@opt).scp_base_all
+ end
+ def cgi # -F
+ require_relative 'cgi' # cgi.rb
+ SiSU_CGI::SearchSQL.new(@opt).read
+ end
+ def termsheet # -t
+ system("sisu_termsheet #{@opt.selections.str} #{@opt.fns}\n")
+ @@n_do=@@n_do+1
+ SiSU_Screen::Ansi.new(
+ @opt.selections.str,@@n_do,
+ 'Termsheet(s) processed'
+ ).term_sheet_title unless @opt.act[:quiet][:set] ==:on
+ end
+ def webrick # -W
+ prt=SiSU_Env::InfoEnv.new(@fns).port.webrick_port
+ puts %{#{@cX.blue}<<#{@cX.off}#{@cX.green}Start Webrick web server on port: #{prt}#{@cX.off}#{@cX.blue}>> #{@cX.off*2} }
+ require_relative 'webrick'
+ SiSU_Webserv::WebrickStart.new
+ end
+ def not_found
+ puts "\n#{@cX.fuchsia}FILE NOT FOUND:#{@cX.off} << #{@opt.fns} >> - requested #{@opt.selections.str} processing skipped\n"
+ end
+ def convert_name_message(fns,type,i,o,rune)
+ %{\nIn filename: "#{@cX.fuchsia}#{fns}#{@cX.off}" << #{type} >> #{@cX.fuchsia}is apre 0.36 markup filename.#{@cX.off} #{@cX.brown}Please rename your file.#{@cX.off}\n\tAs of sisu-0.37, SiSU markup files with #{@cX.brown}the extensions #{i} should be re-named #{o}#{@cX.off}\n\tif you have the program called 'rename' installed, the following rune should do the trick:\n\t\t#{rune}\n\talternatively try:\n\t\tsisu --convert --36to37 #{fns}\n\trequested #{@opt.selections.str} processing skipped\n}
+ end
+ def not_recognised
+ case @opt.fns
+ when /(\.s[123])$/
+ type=@opt.fns.gsub(/\S+?(#{$1})/,'\1')
+ rune=%q{rename 's/\.s[123]$/\.sst/' *.s{1,2,3}}
+ puts convert_name_message(@opt.fns,type,'.s1 .s2 and .s3','.sst',rune)
+ when /(\.r[123])$/
+ type=@opt.fns.gsub(/\S+?(#{$1})/,'\1')
+ rune=%q{rename 's/\.r[123]$/\.ssm/' *.r{1,2,3}}
+ puts convert_name_message(@opt.fns,type,'.r1 .r2 and .r3','.sst',rune)
+ puts %{\n\tNote also that you will need to change the names of the files called/required\n\twithin the document text to build the composite document\n\t\t.s1 .s2 .s3 should be .sst \n\t\t.si should be .ssi\n\trequested #{@opt.selections.str} processing skipped\n}
+ when /(\.ssi)$/
+ puts "\n#{@cX.fuchsia}component filetype:#{@cX.off} << #{@opt.fns} >> - is not a processed filetype, (it may be used as a component of a .ssm markup file)\n\trequested #{@opt.selections.str} processing skipped\n"
+ else
+ puts "\n#{@cX.fuchsia}FILETYPE NOT RECOGNISED:#{@cX.off} << #{@opt.fns} >> - is not a recognized filetype,\n\trequested #{@opt.selections.str} processing skipped\n"
+ end
+ end
+ end
+end
+__END__
diff --git a/lib/sisu/v5/hub_options.rb b/lib/sisu/v5/hub_options.rb
index f851b985..d822ebd5 100644
--- a/lib/sisu/v5/hub_options.rb
+++ b/lib/sisu/v5/hub_options.rb
@@ -51,7 +51,7 @@
* Git
<http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
- <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v6/hub_options.rb;hb=HEAD>
+ <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/hub_options.rb;hb=HEAD>
* Ralph Amissah
<ralph@amissah.com>
@@ -156,11 +156,12 @@ module SiSU_Commandline
end
end
class Options
- attr_accessor :cmd,:mod,:act,:dir_structure_by,:lingual,:f_pths,:files,:files_mod,:call_path,:base_path,:base_stub,:sub_location,:image_src_path,:paths,:lngs,:f_pth,:pth,:fno,:fns,:fnb,:fnc,:fng,:fncb,:lng,:lng_base,:what,:make_instructions,:make_instructions_pod
+ attr_accessor :selections,:opt_ch,:act,:dir_structure_by,:lingual,:f_pths,:files,:files_mod,:call_path,:base_path,:base_stub,:sub_location,:image_src_path,:paths,:lngs,:f_pth,:pth,:fno,:fns,:fnb,:fnc,:fng,:fncb,:lng,:lng_base,:what,:make_instructions,:make_instructions_pod
@@act=nil
def initialize(a,call_path)
- @cmd=@f_pth=@pth=@fno=@fns=@fnb=@fnc=@fng=@fncb=@what=@lng=@lng_base=@call_path=@base_path=@base_stub=@image_src_path=@sub_location=''
- @f_pths,@files,@files_mod,@paths,@mod,@act=Array.new(5){[]}
+ @opt_ch=@f_pth=@pth=@fno=@fns=@fnb=@fnc=@fng=@fncb=@what=@lng=@lng_base=@call_path=@base_path=@base_stub=@image_src_path=@sub_location=''
+ @f_pths,@files,@files_mod,@paths,@select_arr,@act=Array.new(5){[]}
+ @select_str=nil
@env=SiSU_Env::InfoEnv.new
@lng_base=@env.language_default_set
@dir_structure_by=SiSU_Env::EnvCall.new.output_dir_structure.by?
@@ -269,24 +270,25 @@ module SiSU_Commandline
if a.length > 0
s=expand_numeric_shortcuts(a)
q=set_files_and_paths_and_general_extract(s)
- @cmd,@mod=opt_cmd_and_mod_adjust(q[:cmd],q[:mod])
+ files=(q[:files].length > 0) ? :true : :false
+ @select_arr=opt_cmd_and_mod_adjust(q[:opt_ch],q[:selections],files)
@what=q[:what] unless q[:what].empty?
@paths = q[:paths]
@files = q[:files]
@f_pths = q[:f_pths]
@lngs = q[:lngs]
if @files.length > 0 \
- and @cmd.empty? \
- and @mod.length==0 #% if no other action called on filename given, default is sisu --v5 -0 [filename(s)] configured as flag default
+ and @opt_ch.empty? \
+ and @select_arr.length==0 #% if no other action called on filename given, default is sisu --v5 -0 [filename(s)] configured as flag default
shortcut=SiSU_Env::InfoProcessingFlag.new
- @mod=['--v5']
- @cmd=shortcut.cf_0 + ' --dal'
+ @select_arr=['--v5']
+ @select_arr << shortcut.act_0.arr #+ ' --dal'
end
- if @cmd =~/[vVM]/ \
- && @cmd !~/-[ku]*v[ku]*$/
+ if @select_arr.inspect =~/--verbose/ \
+ && @opt_ch !~/-[ku]*v[ku]*$/
SiSU_Screen::Ansi.new(
- @cmd,
- "\tsisu " + @cmd + ' ' + @mod.join(' ') + ' ' + @files.join(' ') + "\n"
+ @opt_ch,
+ "\tsisu " + @opt_ch + ' ' + @select_arr.join(' ') + ' ' + @files.join(' ') + "\n"
).print_brown
end
end
@@ -443,8 +445,8 @@ module SiSU_Commandline
end
end
{
- cmd: c,
- mod: m,
+ opt_ch: c,
+ selections: m,
what: w,
paths: pth,
files: f,
@@ -454,387 +456,583 @@ module SiSU_Commandline
}
end
def expand_numeric_shortcuts(a)
+ s=''
+ a.each do |x|
+ y=case x
+ when /0/
+ (x=~/^-0\S+/) \
+ ? x.gsub(/^-0(\S+)/,'--act0' + ' -\1')
+ : x.gsub(/^-0/,'--act0' + ' ')
+ when /1/
+ (x=~/^-1\S+/) \
+ ? x.gsub(/^-1(\S+)/,'--act1' + ' -\1')
+ : x.gsub(/^-1/,'--act1' + ' ')
+ when /2/
+ (x=~/^-2\S+/) \
+ ? x.gsub(/^-2(\S+)/,'--act2' + ' -\1')
+ : x.gsub(/^-2/,'--act2' + ' ')
+ when /3/
+ (x=~/^-3\S+/) \
+ ? x.gsub(/^-3(\S+)/,'--act3' + ' -\1')
+ : x.gsub(/^-3/,'--act3' + ' ')
+ when /4/
+ (x=~/^-4\S+/) \
+ ? x.gsub(/^-4(\S+)/,'--act4' + ' -\1')
+ : x.gsub(/^-4/,'--act4' + ' ')
+ when /5/
+ (x=~/^-5\S+/) \
+ ? x.gsub(/^-5(\S+)/,'--act5' + ' -\1')
+ : x.gsub(/^-5/,'--act5' + ' ')
+ when /6/
+ (x=~/^-6\S+/) \
+ ? x.gsub(/^-6(\S+)/,'--act6' + ' -\1')
+ : x.gsub(/^-6/,'--act6' + ' ')
+ when /7/
+ (x=~/^-7\S+/) \
+ ? x.gsub(/^-7(\S+)/,'--act7' + ' -\1')
+ : x.gsub(/^-7/,'--act7' + ' ')
+ when /8/
+ (x=~/^-8\S+/) \
+ ? x.gsub(/^-8(\S+)/,'--act8' + ' -\1')
+ : x.gsub(/^-8/,'--act8' + ' ')
+ when /9/
+ (x=~/^-9\S+/) \
+ ? x.gsub(/^-9(\S+)/,'--act9' + ' -\1')
+ : x.gsub(/^-9/,'--act9' + ' ')
+ else x
+ end
+ s << " #{y}" unless y.empty?
+ end
+ s.strip!
+ end
+ def expand_numeric_shortcuts_(a)
shortcut=SiSU_Env::InfoProcessingFlag.new
s=''
a.each do |x|
y=case x
when /0/
(x=~/^-0\S+/) \
- ? x.gsub(/^-0(\S+)/,shortcut.cf_0 + ' -\1')
- : x.gsub(/^-0/,shortcut.cf_0 + ' ')
+ ? x.gsub(/^-0(\S+)/,shortcut.act_0.str + ' -\1')
+ : x.gsub(/^-0/,shortcut.act_0.str + ' ')
when /1/
(x=~/^-1\S+/) \
- ? x.gsub(/^-1(\S+)/,shortcut.cf_1 + ' -\1')
- : x.gsub(/^-1/,shortcut.cf_1 + ' ')
+ ? x.gsub(/^-1(\S+)/,shortcut.act_1.str + ' -\1')
+ : x.gsub(/^-1/,shortcut.act_1.str + ' ')
when /2/
(x=~/^-2\S+/) \
- ? x.gsub(/^-2(\S+)/,shortcut.cf_2 + ' -\1')
- : x.gsub(/^-2/,shortcut.cf_2 + ' ')
+ ? x.gsub(/^-2(\S+)/,shortcut.act_2.str + ' -\1')
+ : x.gsub(/^-2/,shortcut.act_2.str + ' ')
when /3/
(x=~/^-3\S+/) \
- ? x.gsub(/^-3(\S+)/,shortcut.cf_3 + ' -\1')
- : x.gsub(/^-3/,shortcut.cf_3 + ' ')
+ ? x.gsub(/^-3(\S+)/,shortcut.act_3.str + ' -\1')
+ : x.gsub(/^-3/,shortcut.act_3.str + ' ')
when /4/
(x=~/^-4\S+/) \
- ? x.gsub(/^-4(\S+)/,shortcut.cf_4 + ' -\1')
- : x.gsub(/^-4/,shortcut.cf_4 + ' ')
+ ? x.gsub(/^-4(\S+)/,shortcut.act_4.str + ' -\1')
+ : x.gsub(/^-4/,shortcut.act_4.str + ' ')
when /5/
(x=~/^-5\S+/) \
- ? x.gsub(/^-5(\S+)/,shortcut.cf_5 + ' -\1')
- : x.gsub(/^-5/,shortcut.cf_5 + ' ')
+ ? x.gsub(/^-5(\S+)/,shortcut.act_5.str + ' -\1')
+ : x.gsub(/^-5/,shortcut.act_5.str + ' ')
when /6/
(x=~/^-6\S+/) \
- ? x.gsub(/^-6(\S+)/,shortcut.cf_5 + ' -\1')
- : x.gsub(/^-6/,shortcut.cf_5 + ' ')
+ ? x.gsub(/^-6(\S+)/,shortcut.act_6.str + ' -\1')
+ : x.gsub(/^-6/,shortcut.act_6.str + ' ')
+ when /7/
+ (x=~/^-7\S+/) \
+ ? x.gsub(/^-7(\S+)/,shortcut.act_7.str + ' -\1')
+ : x.gsub(/^-7/,shortcut.act_7.str + ' ')
+ when /8/
+ (x=~/^-8\S+/) \
+ ? x.gsub(/^-8(\S+)/,shortcut.act_8.str + ' -\1')
+ : x.gsub(/^-8/,shortcut.act_8.str + ' ')
+ when /9/
+ (x=~/^-9\S+/) \
+ ? x.gsub(/^-9(\S+)/,shortcut.act_9.str + ' -\1')
+ : x.gsub(/^-9/,shortcut.act_9.str + ' ')
else x
end
s << " #{y}" unless y.empty?
end
s.strip!
end
- def opt_cmd_and_mod_adjust(c,m)
- cmd,mod,files=@cmd,@mod,@files
- if not m.empty? \
- and m.inspect =~/"--pdf-/
- mod << '--pdf'
- m.each do |s|
- if s =~ /^--pdf-(?:(?:l|landscape)(?:-(?:a4|letter|a5|b5|legal))?|(?:a4|letter|a5|b5|legal)-(?:l|landscape))$/
- mod << '--landscape'
- end
- if s =~ /^--pdf-(?:(?:p|portrait)(?:-(?:a4|letter|a5|b5|legal))?|(?:a4|letter|a5|b5|legal)-(?:p|portrait))$/
- mod << '--portrait'
- end
- if s =~ /^--pdf(?:-(?:a4|letter|a5|b5|legal)(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))(?:-(?:a4|letter|a5|b5|legal)))$/
- if s =~ /^--pdf(?:-a4(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-a4)$/
- mod << '--papersize-a4'
- end
- if s =~ /^--pdf(?:-a5(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-a5)$/
- mod << '--papersize-a5'
+ def opt_cmd_and_mod_adjust(ch,select_arr,files)
+if @select_arr.length > 0
+ p __LINE__
+ p @selection
+end
+ select_arr=select_arr.flatten
+ sel_init=select_arr.flatten
+ shortcut=SiSU_Env::InfoProcessingFlag.new
+ if files ==:true
+ if not sel_init.empty? \
+ and sel_init.inspect =~/"--act[0-9]/
+ sel_init.each do |s|
+ select_arr <<=case s
+ when /--act0/ then shortcut.act_0.arr
+ when /--act1/ then shortcut.act_1.arr
+ when /--act2/ then shortcut.act_2.arr
+ when /--act3/ then shortcut.act_3.arr
+ when /--act4/ then shortcut.act_4.arr
+ when /--act5/ then shortcut.act_5.arr
+ when /--act6/ then shortcut.act_6.arr
+ when /--act7/ then shortcut.act_7.arr
+ when /--act8/ then shortcut.act_8.arr
+ when /--act9/ then shortcut.act_9.arr
end
- if s =~ /^--pdf(?:-b5(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-b5)$/
- mod << '--papersize-b5'
+ end
+ end
+ if not sel_init.empty? \
+ and sel_init.inspect =~/"--pdf-/
+ select_arr << '--pdf'
+ sel_init.each do |s|
+ if s =~ /^--pdf-(?:(?:l|landscape)(?:-(?:a4|letter|a5|b5|legal))?|(?:a4|letter|a5|b5|legal)-(?:l|landscape))$/
+ select_arr << '--landscape'
end
- if s =~ /^--pdf(?:-letter(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-letter)$/
- mod << '--papersize-letter'
+ if s =~ /^--pdf-(?:(?:p|portrait)(?:-(?:a4|letter|a5|b5|legal))?|(?:a4|letter|a5|b5|legal)-(?:p|portrait))$/
+ select_arr << '--portrait'
end
- if s =~ /^--pdf(?:-legal(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-legal)$/
- mod << '--papersize-legal'
+ if s =~ /^--pdf(?:-(?:a4|letter|a5|b5|legal)(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))(?:-(?:a4|letter|a5|b5|legal)))$/
+ if s =~ /^--pdf(?:-a4(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-a4)$/
+ select_arr << '--papersize-a4'
+ end
+ if s =~ /^--pdf(?:-a5(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-a5)$/
+ select_arr << '--papersize-a5'
+ end
+ if s =~ /^--pdf(?:-b5(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-b5)$/
+ select_arr << '--papersize-b5'
+ end
+ if s =~ /^--pdf(?:-letter(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-letter)$/
+ select_arr << '--papersize-letter'
+ end
+ if s =~ /^--pdf(?:-legal(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-legal)$/
+ select_arr << '--papersize-legal'
+ end
end
end
+ select_arr=select_arr.uniq
end
- mod=mod.uniq
- end
- unless m.empty?
- m.each do |s|
- case s
- when /^--(?:color-toggle)$/ then c=c+'c'
- when /^--(?:color-off)$/ then c=c+'k'
- when /^--(?:conf|config|configure|init|initialize|init-site)$/ then c=c+'CC'
- when /^--(?:ao|dal?|machine|abstraction|abs)$/ then c=c+'m'
- when /^--(?:txt|text|plaintext)$/ then c=c+'t'
- when /^--(?:html)$/ then c=c+'h'
- when /^--(?:html-scroll|html-seg)$/ then c=c+'H'
- mod << s
- when /^--(?:epub)$/ then c=c+'e'
- when /^--(?:od[ft])$/ then c=c+'o'
- when /^--docbook$/ then c=c+'d'
- when /^--(?:pdf)$/ then c=c+'p'
- when /^--pdf-(?:a4|a5|b5|legal|letter)$/ then c=c+'p'
- when /^--pdf-(?:p|l|portrait|landscape)$/ then c=c+'L'
- when /^--pdf-(?:p(?:ortrait)?|l(?:andscape)?)-(?:a4|letter|a5|b5|legal)$/ then c=c+'L'
- when /^--pdf-(?:a4|letter|a5|b5|legal)-(?:p(?:ortrait)?|l(?:andscape)?)$/ then c=c+'L'
- when /^--(?:concordance|wordmap)$/ then c=c+'w'
- when /^--(?:manpage|man)$/ then c=c+'i'
- when /^--(?:texinfo)$/ then c=c+'I'
- when /^--(?:xhtml)$/ then c=c+'b'
- when /^--(?:xml-sax)$/ then c=c+'x'
- when /^--(?:xml-dom)$/ then c=c+'X'
- when /^--(?:images)$/ then c=c+'j'
- when /^--(?:digests?|hash-digests)$/ then c=c+'N'
- when /^--(?:po4a|pot?)$/ then c=c+'P'
- when /^--(?:termsheet)$/ then c=c+'T'
- when /^--(?:manifest)$/ then c=c+'y'
- when /^--(?:qrcode)$/ then c=c+'Q'
- when /^--(?:remote|rsync)$/ then c=c+'R'
- when /^--(?:scp)$/ then c=c+'r'
- when /^--(?:source)$/ then c=c+'s'
- when /^--(?:sisupod|pod)$/ then c=c+'S'
- when /^--(?:git)$/ then c=c+'g'
- when /^--(?:urls)$/ then c=c+'U'
- when /^--(?:zap|delete)$/ then c=c+'Z'
- when /^--(?:sample-search-form)$/ then c=c+'F'
- when /^--(?:webserv|webrick)$/ then c=c+'W'
- when /^--(?:profile)$/ then c=c+'E'
- when /^--(?:maintenance|keep-processing-files)$/ then c=c+'M'
- when /^--(?:verbose[=-]3)$/ then c=c+'VM'
- when /^--(?:verbose[=-]2|Verbose|VERBOSE)$/ then c=c+'V'
- when /^--(?:verbose(?:[=-]1)?)$/ then c=c+'v'
- when /^--(?:version)$/ then c=c+'v'
- when /^--(?:verbose[=-]0|quiet|silent)$/ then c=c+'q'
- else mod << s #mod only contains command modifiers; commands converted to character
+ if ch.empty? \
+ and sel_init.length == 0
+ select_arr << shortcut.act_0.arr ################ & --flag empty
+ elsif not ch.empty?
+ if ch =~/c/ then select_arr << '--color-toggle'
+ ch=ch.gsub(/[c]/,'')
+ end
+ if ch =~/k/ then select_arr << '--color-off'
+ ch=ch.gsub(/[k]/,'')
+ end
+ if ch =~/C/ then select_arr << '--config'
+ ch=ch.gsub(/[C]+/,'')
+ end
+ if ch =~/m/ then select_arr << '--dal'
+ ch=ch.gsub(/[m]/,'')
+ end
+ if ch =~/t/ then select_arr << '--txt'
+ ch=ch.gsub(/[t]/,'')
+ end
+ if ch =~/h/ then select_arr << '--html'
+ ch=ch.gsub(/[h]/,'')
+ end
+ if ch =~/e/ then select_arr << '--epub'
+ ch=ch.gsub(/[e]/,'')
+ end
+ if ch =~/o/ then select_arr << '--odt'
+ ch=ch.gsub(/[o]/,'')
+ end
+ if ch =~/d/ then select_arr << '--docbook'
+ ch=ch.gsub(/[d]/,'')
+ end
+ if ch =~/p/ then select_arr << '--pdf'
+ ch=ch.gsub(/[p]/,'')
+ end
+ if ch =~/w/ then select_arr << '--concordance'
+ ch=ch.gsub(/[w]/,'')
+ end
+ if ch =~/i/ then select_arr << '--manpage'
+ ch=ch.gsub(/[i]/,'')
+ end
+ if ch =~/I/ then select_arr << '--texinfo'
+ ch=ch.gsub(/[I]/,'')
+ end
+ if ch =~/b/ then select_arr << '--xhtml'
+ ch=ch.gsub(/[b]/,'')
+ end
+ if ch =~/x/ then select_arr << '--xml-sax'
+ ch=ch.gsub(/[x]/,'')
+ end
+ if ch =~/X/ then select_arr << '--xml-dom'
+ ch=ch.gsub(/[X]/,'')
+ end
+ if ch =~/j/ then select_arr << '--images'
+ ch=ch.gsub(/[j]/,'')
+ end
+ if ch =~/N/ then select_arr << '--digests'
+ ch=ch.gsub(/[N]/,'')
+ end
+ if ch =~/P/ then select_arr << '--po4a'
+ ch=ch.gsub(/[P]/,'')
+ end
+ if ch =~/d/ then select_arr << '--sqlite'
+ ch=ch.gsub(/[d]/,'')
+ end
+ if ch =~/D/ then select_arr << '--pg'
+ ch=ch.gsub(/[D]/,'')
+ end
+ if ch =~/Q/ then select_arr << '--qrcode'
+ ch=ch.gsub(/[Q]/,'')
+ end
+ if ch =~/s/ then select_arr << '--source'
+ ch=ch.gsub(/[s]/,'')
+ end
+ if ch =~/S/ then select_arr << '--sisupod'
+ ch=ch.gsub(/[S]/,'')
+ end
+ if ch =~/m/ then select_arr << '--manifest'
+ ch=ch.gsub(/[m]/,'')
+ end
+ if ch =~/R/ then select_arr << '--rsync'
+ ch=ch.gsub(/[R]/,'')
+ end
+ if ch =~/r/ then select_arr << '--scp'
+ ch=ch.gsub(/[r]/,'')
+ end
+ if ch =~/g/ then select_arr << '--git'
+ ch=ch.gsub(/[g]/,'')
+ end
+ if ch =~/U/ then select_arr << '--urls'
+ ch=ch.gsub(/[u]/,'')
+ end
+ if ch =~/Z/ then select_arr << '--zap'
+ ch=ch.gsub(/[Z]/,'')
+ end
+ if ch =~/F/ then select_arr << '--sample-search-form'
+ ch=ch.gsub(/[F]/,'')
+ end
+ if ch =~/w/ then select_arr << '--webrick'
+ ch=ch.gsub(/[w]/,'')
+ end
+ if ch =~/M/ then select_arr << '--maintenance'
+ ch=ch.gsub(/[M]/,'')
+ end
+ if ch =~/V/ then select_arr << '--very-verbose'
+ ch=ch.gsub(/[V]/,'')
+ end
+ if ch =~/v/ then select_arr << '--verbose'
+ ch=ch.gsub(/[v]/,'')
+ end
+ if ch =~/q/ then select_arr << '--quiet'
+ ch=ch.gsub(/[q]/,'')
+ end
+ if select_arr.inspect !~/--urls/ \
+ and select_arr.inspect \
+ !~/"--harvest/
+ select_arr << '--urls'
+ end
+ if select_arr.inspect !~/--dal/ \
+ and select_arr.inspect =~/txt|text|html|odt|epub|docbook|xml|pdf|manpage|texinfo|concordance|qrcode|source|sisupod|pg|sqlite|zap/
+ select_arr << '--dal'
+ end
+ if select_arr.inspect !~/--manifest/ \
+ and select_arr.inspect =~/txt|text|html|odt|epub|docbook|xml|pdf|manpage|texinfo|concordance|qrcode|source|sisupod|pg|sqlite|zap/
+ select_arr << '--manifest'
+ end
+ if select_arr.inspect !~/--images/ \
+ and select_arr.inspect =~/html|odt|docbook|xml|qrcode/
+ select_arr << '--images'
end
end
- end
- ca=[]
- unless c.empty?
- c=c.gsub(/-/,'')
- c.scan(/CC|\S/) {|x| ca << x}
- cmd= '-' + ca.uniq.join
- end
- extra=''
- if cmd !~/[mn]/
- extra+=if cmd =~/[abegHhIiLNOoPpQTtwXxyz]/ \
- and cmd !~/[mn]/
- 'm' #% add ao
- elsif ((mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/) \
- and mod.inspect !~/(?:remove|(?:(?:re)?create(?:all)?|dropall|drop)$)/) \
- and cmd !~/[mn]/
- 'm' #% add ao
- else ''
+ else
+ if ch =~/C/ then select_arr << '--config'
+ ch=ch.gsub(/[C]+/,'')
end
- end
- if cmd !~/j/
- extra+=if cmd =~/[bdHhwXxyz]/ \
- and cmd !~/[j]/
- 'j' #% copy images
- else ''
+ if sel_init.inspect =~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"/
+ if ch =~/d/ then select_arr << '--sqlite'
+ ch=ch.gsub(/[d]/,'')
+ end
+ if ch =~/D/ then select_arr << '--pg'
+ ch=ch.gsub(/[D]/,'')
+ end
end
- end
- if cmd !~/y/
- extra+=if cmd =~/[abdeHhIiNopQSstwXxz]/ \
- and cmd !~/y/
- 'ym' #% add manifest
- elsif mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/ \
- and files[0] !~/^remove$/ \
- and cmd !~/y/
- 'ym' #% add manifest
- else ''
+ if ch =~/v/ then select_arr << '--version'
+ ch=ch.gsub(/[v]/,'')
end
end
- if cmd !~/u/ #% add urls
- extra+='u'
- end
- cmd=cmd + extra
- cmds=cmd.scan(/CC|\S/)
- [cmds.uniq.join,mod]
+ select_arr=select_arr.flatten.compact.uniq.sort
end
- def opt_act #note mod line commands have already been converted to command characters, cmd
- cmd,mod=@cmd,@mod
+ def opt_act
+ select_arr=@select_arr
@@act=if @@act
@act=@@act
else
act={}
- act[:license]=(mod.inspect =~/"--license/) \
+ act[:license]=(select_arr.inspect \
+ =~/"--license/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:site_init]=(cmd =~/C/ \
- || mod.inspect =~/"--init"|"--initialize"|"--init-site"|"--conf"|"--config"|"--configure"/) \
+ act[:site_init]=(select_arr.inspect \
+ =~/"--init"|"--initialize"|"--init-site"|"--conf"|"--config"|"--configure"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:rc]=if mod.inspect =~/"--rc=/
- x=Dir.pwd + '/' + mod.join.gsub(/--rc=/,'')
+ act[:rc]=if select_arr.inspect \
+ =~/"--rc=/
+ x=Dir.pwd + '/' + select_arr.join.gsub(/--rc=/,'')
{ bool: true, set: :on, inst: x }
else
{ bool: false, set: :na, inst: '' }
end
- act[:processing_path]=if mod.inspect =~/"--processing-path=/
- base_pth=mod.join(';').gsub(/^.*--processing-path=['"]?(.+?)(?:['"]?;.+)?$/,'\1')
+ act[:processing_path]=if select_arr.inspect \
+ =~/"--processing-path=/
+ base_pth=select_arr.join(';').gsub(/^.*--processing-path=['"]?(.+?)(?:['"]?;.+)?$/,'\1')
{ bool: true, set: :on, inst: base_pth }
- elsif mod.inspect =~/"--processing-path/
+ elsif select_arr.inspect \
+ =~/"--processing-path/
{ bool: true, set: :on, inst: @base_path }
else
{ bool: false, set: :na, inst: nil }
end
- act[:dump]=if mod.inspect =~/"--dump=/
- base_pth=mod.join(';').gsub(/^.*--dump=['"]?(.+?)(?:['"]?;.+)?$/,'\1')
+ act[:dump]=if select_arr.inspect \
+ =~/"--dump=/
+ base_pth=select_arr.join(';').
+ gsub(/^.*--dump=['"]?(.+?)(?:['"]?;.+)?$/,'\1')
{ bool: true, set: :on, inst: base_pth }
- elsif mod.inspect =~/"--dump/
+ elsif select_arr.inspect =~/"--dump/
{ bool: true, set: :on, inst: @base_path }
else
{ bool: false, set: :na, inst: nil }
end
- act[:redirect]=if mod.inspect =~/"--redirect=/
- base_pth=mod.join(';').gsub(/^.*--redirect=['"]?(.+?)(?:['"]?;.+)?$/,'\1')
+ act[:redirect]=if select_arr.inspect \
+ =~/"--redirect=/
+ base_pth=select_arr.join(';').
+ gsub(/^.*--redirect=['"]?(.+?)(?:['"]?;.+)?$/,'\1')
{ bool: true, set: :on, inst: base_pth }
- elsif mod.inspect =~/"--redirect/
+ elsif select_arr.inspect \
+ =~/"--redirect/
{ bool: true, set: :on, inst: @base_path }
else
{ bool: false, set: :na, inst: nil }
end
- act[:switch]=if mod.inspect =~/"--switch-off=/
- off_list=mod.join(';').gsub(/^.*--switch-off=['"]?(.+?)(?:['"];.+)?$/,'\1')
+ act[:switch]=if select_arr.inspect \
+ =~/"--switch-off=/
+ off_list=select_arr.join(';').
+ gsub(/^.*--switch-off=['"]?(.+?)(?:['"];.+)?$/,'\1')
off_list=off_list.scan(/[^,;\s]+/)
{ bool: false, set: :off, off: off_list}
else { bool: true, set: :na, off: [] }
end
- act[:default_language]=if mod.inspect =~/"--(?:default-)?language[-=](\S{2})"/
+ act[:default_language]=if select_arr.inspect \
+ =~/"--(?:default-)?language[-=](\S{2})"/
{ set: :on, code: $1 }
elsif lng_base
{ set: :on, code: lng_base }
else { set: :na, code: 'en' }
end
- act[:i18n]=if mod.inspect =~/"(?:--monolingual|--i18n-mono(?:lingual)?)"/ #if monolingual possible outputs output_by :filename & :filetype only, without language code in default language name; give warning of conflict settings if monolingual & :language selected
+ act[:i18n]=if select_arr.inspect \
+ =~/"(?:--monolingual|--i18n-mono(?:lingual)?)"/ #if monolingual possible outputs output_by :filename & :filetype only, without language code in default language name; give warning of conflict settings if monolingual & :language selected
@lingual=:mono
{ set: :mono }
- elsif mod.inspect =~/"(?:--multilingual|--i18n-multi(?:lingual)?)"/
+ elsif select_arr.inspect \
+ =~/"(?:--multilingual|--i18n-multi(?:lingual)?)"/
@lingual=:multi
{ set: :multi }
else { set: :na }
end
- act[:output_by]=if mod.inspect =~/"--(?:output-)?by-language"/
+ act[:output_by]=if select_arr.inspect \
+ =~/"--(?:output-)?by-language"/
@dir_structure_by=:language
{ set: :language }
- elsif mod.inspect =~/"--(?:output-)?by-filename"/
+ elsif select_arr.inspect \
+ =~/"--(?:output-)?by-filename"/
@dir_structure_by=:filename
{ set: :filename }
- elsif mod.inspect =~/"--(?:output-)?by-filetype"/
+ elsif select_arr.inspect \
+ =~/"--(?:output-)?by-filetype"/
@dir_structure_by=:filetype
{ set: :filetype }
else { set: :na }
end
- act[:ocn]=if mod.inspect =~/"--ocn"|"--inc-ocn"|"--numbering"|"--inc-numbering"/
+ act[:ocn]=if select_arr.inspect \
+ =~/"--ocn"|"--inc-ocn"|"--numbering"|"--inc-numbering"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--no-ocn"|"--exc-ocn"|"--no-numbering"|"--exc-numbering"/ \
+ elsif select_arr.inspect \
+ =~/"--no-ocn"|"--exc-ocn"|"--no-numbering"|"--exc-numbering"/ \
|| act[:switch][:off].inspect =~/"ocn"|"--numbering"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:toc]=if mod.inspect =~/"--inc-toc"/
+ act[:toc]=if select_arr.inspect \
+ =~/"--inc-toc"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-toc"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-toc"/ \
|| act[:switch][:off].inspect =~/"toc"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:minitoc]=if mod.inspect =~/"--inc-minitoc"/
+ act[:minitoc]=if select_arr.inspect \
+ =~/"--inc-minitoc"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-minitoc"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-minitoc"/ \
|| act[:switch][:off].inspect =~/"minitoc"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:links_to_manifest]=if mod.inspect =~/"--inc-links-to-manifest"|"--inc-manifest-links"/
+ act[:links_to_manifest]=if select_arr.inspect \
+ =~/"--inc-links-to-manifest"|"--inc-manifest-links"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-manifest"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-manifest"/ \
|| act[:switch][:off].inspect =~/"manifest"/ #place lower
{ bool: false, set: :off }
- elsif mod.inspect =~/"--(?:exc|no)-links-to-manifest"|"--(?:exc|no)-manifest-links"/ \
- || act[:switch][:off].inspect =~/"links_to_manifest"|"manifest_links"|"--(?:exc|no)-manifest"/ \
- || mod.inspect =~/"--(?:redirect|dump)/
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-links-to-manifest"|"--(?:exc|no)-manifest-links"/ \
+ || act[:switch][:off].inspect \
+ =~/"links_to_manifest"|"manifest_links"|"--(?:exc|no)-manifest"/ \
+ || select_arr.inspect \
+ =~/"--(?:redirect|dump)/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:manifest_minitoc]=if mod.inspect =~/"--inc-manifest-minitoc"|"--inc-minitoc"/
+ act[:manifest_minitoc]=if select_arr.inspect \
+ =~/"--inc-manifest-minitoc"|"--inc-minitoc"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-manifest-minitoc"|"--(?:exc|no)-minitoc"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-manifest-minitoc"|"--(?:exc|no)-minitoc"/ \
|| act[:switch][:off].inspect =~/"manifest_minitoc"|"minitoc"/
- #|| mod.inspect =~/"--(?:redirect|dump)/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:metadata]=if mod.inspect =~/"--inc-metadata"/
+ act[:metadata]=if select_arr.inspect \
+ =~/"--inc-metadata"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-metadata"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-metadata"/ \
|| act[:switch][:off].inspect =~/"metadata"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:html_minitoc]=if mod.inspect =~/"--inc-html-minitoc"|"--inc-minitoc"/
+ act[:html_minitoc]=if select_arr.inspect \
+ =~/"--inc-html-minitoc"|"--inc-minitoc"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-html-minitoc"|"--(?:exc|no)-minitoc"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-html-minitoc"|"--(?:exc|no)-minitoc"/ \
|| act[:switch][:off].inspect =~/"html_minitoc"|"minitoc"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:html_navigation]=if mod.inspect =~/"--inc-html-navigation"|"--inc-navigation"/
+ act[:html_navigation]=if select_arr.inspect \
+ =~/"--inc-html-navigation"|"--inc-navigation"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-html-navigation"|"--(?:exc|no)-navigation"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-html-navigation"|"--(?:exc|no)-navigation"/ \
|| act[:switch][:off].inspect =~/"html_navigation"|"nav"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:html_navigation_bar]=if mod.inspect =~/"--inc-html-navigation-bar"|"--inc-navigation-bar"/
+ act[:html_navigation_bar]=if select_arr.inspect \
+ =~/"--inc-html-navigation-bar"|"--inc-navigation-bar"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-html-navigation-bar"|"--(?:exc|no)-navigation-bar"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-html-navigation-bar"|"--(?:exc|no)-navigation-bar"/ \
|| act[:switch][:off].inspect =~/"html_navigation_bar"|"navbar"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:segsubtoc]=if mod.inspect =~/"--inc-segsubtoc"/
+ act[:segsubtoc]=if select_arr.inspect \
+ =~/"--inc-segsubtoc"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-segsubtoc"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-segsubtoc"/ \
|| act[:switch][:off].inspect =~/"segsubtoc"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:search_form]=if mod.inspect =~/"--inc-search-form"/
+ act[:search_form]=if select_arr.inspect \
+ =~/"--inc-search-form"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-search-form"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-search-form"/ \
|| act[:switch][:off].inspect =~/"search_form"|"search"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:html_search_form]=if mod.inspect =~/"--inc-html-search-form"|"--inc-search-form"/
+ act[:html_search_form]=if select_arr.inspect \
+ =~/"--inc-html-search-form"|"--inc-search-form"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-html-search-form"|"--(?:exc|no)-search-form"/ \
- || act[:switch][:off].inspect =~/"html_search_form"|"search_form"|"search"/
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-html-search-form"|"--(?:exc|no)-search-form"/ \
+ || act[:switch][:off].inspect \
+ =~/"html_search_form"|"search_form"|"search"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:html_right_pane]=if mod.inspect =~/"--inc-html-right-pane"|"--inc-right-pane"|"--inc-html-right-column"|"--inc-right-column"/
+ act[:html_right_pane]=if select_arr.inspect \
+ =~/"--inc-html-right-pane"|"--inc-right-pane"|"--inc-html-right-column"|"--inc-right-column"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-html-right-pane"|"--(?:exc|no)-right-pane"|"--(?:exc|no)-html-right-column"|"--(?:exc|no)-right-column"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-html-right-pane"|"--(?:exc|no)-right-pane"|"--(?:exc|no)-html-right-column"|"--(?:exc|no)-right-column"/ \
|| act[:switch][:off].inspect =~/"html_right_pane"|"html_right_column"|"promo"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:html_top_band]=if mod.inspect =~/"--inc-html-top-band"|"--inc-top-band"/
+ act[:html_top_band]=if select_arr.inspect \
+ =~/"--inc-html-top-band"|"--inc-top-band"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-html-top-band"|"--(?:exc|no)-top-band"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-html-top-band"|"--(?:exc|no)-top-band"/ \
|| act[:switch][:off].inspect =~/"html-top-band"|"top-band"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:html]=if mod.inspect =~/"--html-strict"/ \
- or ((cmd =~/h/ || mod.inspect =~/"--html"/) \
- && mod.inspect =~/"--strict"/)
+ act[:html]=if select_arr.inspect \
+ =~/"--html-strict"/ \
+ or ((select_arr.inspect \
+ =~/"--html"/) \
+ && select_arr.inspect \
+ =~/"--strict"/)
act[:html_strict]={ bool: true, set: :on }
act[:html_scroll]={ bool: true, set: :on }
act[:html_seg]={ bool: true, set: :on }
{ bool: true, set: :on }
- elsif (cmd =~/h/ \
- || mod.inspect =~/"--html"/)
+ elsif (select_arr.inspect \
+ =~/"--html"/)
act[:html_strict]={ bool: false, set: :off }
act[:html_scroll]={ bool: true, set: :on }
act[:html_seg]={ bool: true, set: :on }
{ bool: true, set: :on }
else
- act[:html_strict]=(mod.inspect =~/"--strict"/) \
+ act[:html_strict]=(select_arr.inspect \
+ =~/"--strict"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:html_scroll]=(mod.inspect =~/"--html-scroll"/) \
+ act[:html_scroll]=(select_arr.inspect \
+ =~/"--html-scroll"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:html_seg]=(mod.inspect =~/"--html-seg"/) \
+ act[:html_seg]=(select_arr.inspect \
+ =~/"--html-seg"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
{ bool: false, set: :na }
end
- act[:concordance]=(cmd =~/w/ \
- || mod.inspect =~/"--concordance"/) \
+ act[:concordance]=(select_arr.inspect \
+ =~/"--concordance"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:images]=(cmd =~/j/ \
- || mod.inspect =~/"--images"/) \
+ act[:images]=(select_arr.inspect \
+ =~/"--images"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- if (cmd =~/p/ \
- || mod.inspect =~/"--pdf"/)
- if mod.inspect =~/"--portrait"/
+ if select_arr.inspect \
+ =~/"--pdf"/
+ if select_arr.inspect \
+ =~/"--portrait"/
act[:pdf]= { bool: false, set: :na }
act[:pdf_l]={ bool: false, set: :na }
act[:pdf_p]={ bool: true, set: :on }
- elsif mod.inspect =~/"--landscape"/
+ elsif select_arr.inspect \
+ =~/"--landscape"/
act[:pdf]= { bool: false, set: :na }
act[:pdf_l]={ bool: true, set: :on }
act[:pdf_p]={ bool: false, set: :na }
@@ -856,47 +1054,60 @@ module SiSU_Commandline
if act[:pdf][:set]==:on \
or act[:pdf_p][:set]==:on \
or act[:pdf_l][:set]==:on
- act[:pdf_a4]=if mod.inspect =~/"--a4"|--papersize-a4"/ \
- or mod.inspect =~/"--papersize=\S*a4\b\S*"/ #--papersize=a4,a5
+ act[:pdf_a4]=if select_arr.inspect \
+ =~/"--a4"|--papersize-a4"/ \
+ or select_arr.inspect \
+ =~/"--papersize=\S*a4\b\S*"/ #--papersize=a4,a5
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:pdf_a5]=if mod.inspect =~/"--a5"|"--papersize-a5"/ \
- or mod.inspect =~/"--papersize=\S*a5\b\S*"/ #--papersize=a4,a5
+ act[:pdf_a5]=if select_arr.inspect \
+ =~/"--a5"|"--papersize-a5"/ \
+ or select_arr.inspect \
+ =~/"--papersize=\S*a5\b\S*"/ #--papersize=a4,a5
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:pdf_b5]=if mod.inspect =~/"--b5"|"--papersize-b5"/ \
- or mod.inspect =~/"--papersize=\S*b5\b\S*"/
+ act[:pdf_b5]=if select_arr.inspect \
+ =~/"--b5"|"--papersize-b5"/ \
+ or select_arr.inspect \
+ =~/"--papersize=\S*b5\b\S*"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:pdf_letter]=if mod.inspect =~/"--letter"|"--papersize-letter"/ \
- or mod.inspect =~/"--papersize=\S*letter\b\S*"/
+ act[:pdf_letter]=if select_arr.inspect \
+ =~/"--letter"|"--papersize-letter"/ \
+ or select_arr.inspect \
+ =~/"--papersize=\S*letter\b\S*"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:pdf_legal]=if mod.inspect =~/"--legal"|"--papersize-legal"/ \
- or mod.inspect =~/"--papersize=\S*legal\b\S*"/
+ act[:pdf_legal]=if select_arr.inspect \
+ =~/"--legal"|"--papersize-legal"/ \
+ or select_arr.inspect \
+ =~/"--papersize=\S*legal\b\S*"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
end
- act[:epub]=(cmd =~/e/ \
- || mod.inspect =~/"--epub"/) \
+ act[:epub]=(select_arr.inspect \
+ =~/"--epub"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:odt]=if cmd =~/o/ \
- or mod.inspect =~/"--odt"|"--odf"|"--odt-(?:ocn|numbering)"|"--odf-(?:ocn|numbering)"/
- act[:odt_ocn]=if (mod.inspect =~/"--odt-(?:ocn|numbering)"|"--odf-(?:ocn|numbering)"/ \
- or mod.inspect =~/"--ocn"|"--inc-ocn"|"--numbering"|"--inc-numbering"/)
+ act[:odt]=if select_arr.inspect \
+ =~/"--odt"|"--odf"|"--odt-(?:ocn|numbering)"|"--odf-(?:ocn|numbering)"/
+ act[:odt_ocn]=if (select_arr.inspect \
+ =~/"--odt-(?:ocn|numbering)"|"--odf-(?:ocn|numbering)"/ \
+ or select_arr.inspect \
+ =~/"--ocn"|"--inc-ocn"|"--numbering"|"--inc-numbering"/)
{ bool: true, set: :on }
- elsif mod.inspect =~/"--no-ocn"|"--exc-ocn"|"--no-numbering"|"--exc-numbering"/
+ elsif select_arr.inspect \
+ =~/"--no-ocn"|"--exc-ocn"|"--no-numbering"|"--exc-numbering"/
{ bool: false, set: :off }
else
{ bool: false, set: :na }
@@ -905,38 +1116,43 @@ module SiSU_Commandline
else
{ bool: false, set: :na }
end
- act[:xml_sax]=(cmd =~/x/ \
- || mod.inspect =~/"--xml-sax"/) \
+ act[:xml_sax]=(select_arr.inspect \
+ =~/"--xml-sax"|"--sax"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:xml_dom]=(cmd =~/X/ \
- || mod.inspect =~/"--xml-dom"/) \
+ act[:xml_dom]=(select_arr.inspect \
+ =~/"--xml-dom"|"--dom"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:xml_docbook_book]=(cmd =~/d/ \
- || mod.inspect =~/"--docbook"|"--docbook-book"|"--xml-docbook"|"--xml-docbook_book"/) \
+ act[:xml_docbook_book]=(select_arr.inspect \
+ =~/"--docbook"|"--docbook-book"|"--xml-docbook"|"--xml-docbook_book"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:xml_fictionbook]=(cmd =~/f/ \
- || mod.inspect =~/"--fictionbook"|"--xml-fictionbook"/) \
+ act[:xml_fictionbook]=(select_arr.inspect \
+ =~/"--fictionbook"|"--xml-fictionbook"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:xml_scaffold_structure_sisu]=mod.inspect =~/"--xml-scaffold"|"--xml-scaffold-sisu"/ \
+ act[:xml_scaffold_structure_sisu]=select_arr.inspect \
+ =~/"--xml-scaffold"|"--xml-scaffold-sisu"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:xml_scaffold_structure_collapse]=mod.inspect =~/"--xml-scaffold-collapse"/ \
+ act[:xml_scaffold_structure_collapse]=select_arr.inspect \
+ =~/"--xml-scaffold-collapse"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:xhtml]=(cmd =~/b/ \
- || mod.inspect =~/"--xhtml"/) \
+ act[:xhtml]=(select_arr.inspect \
+ =~/"--xhtml"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:txt]=if cmd =~/[at]/ \
- or mod.inspect =~/"--txt"|"--text"|"--plaintext"|"--txt-(?:ocn|numbering)"|"--text-(?:ocn|numbering)"|"--plaintext-(?:ocn|numbering)"/
- act[:txt_ocn]=if (mod.inspect =~/"--txt-(?:ocn|numbering)"|"--text-(?:ocn|numbering)"|"--plaintext-(?:ocn|numbering)"/ \
- or mod.inspect =~/"--ocn"|"--inc-ocn"|"--numbering"|"--inc-numbering"/)
+ act[:txt]=if select_arr.inspect \
+ =~/"--txt"|"--text"|"--plaintext"|"--txt-(?:ocn|numbering)"|"--text-(?:ocn|numbering)"|"--plaintext-(?:ocn|numbering)"/
+ act[:txt_ocn]=if (select_arr.inspect \
+ =~/"--txt-(?:ocn|numbering)"|"--text-(?:ocn|numbering)"|"--plaintext-(?:ocn|numbering)"/ \
+ or select_arr.inspect \
+ =~/"--ocn"|"--inc-ocn"|"--numbering"|"--inc-numbering"/)
{ bool: true, set: :on }
- elsif mod.inspect =~/"--no-ocn"|"--exc-ocn"|"--no-numbering"|"--exc-numbering"/
+ elsif select_arr.inspect \
+ =~/"--no-ocn"|"--exc-ocn"|"--no-numbering"|"--exc-numbering"/
{ bool: false, set: :off }
else
{ bool: false, set: :na }
@@ -945,66 +1161,71 @@ module SiSU_Commandline
else
{ bool: false, set: :na }
end
- act[:txt_textile]=(mod.inspect =~/"--textile"/) \
+ act[:txt_textile]=(select_arr.inspect \
+ =~/"--textile"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:txt_asciidoc]=(mod.inspect =~/"--asciidoc"/) \
+ act[:txt_asciidoc]=(select_arr.inspect \
+ =~/"--asciidoc"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:txt_markdown]=(mod.inspect =~/"--markdown"/) \
+ act[:txt_markdown]=(select_arr.inspect \
+ =~/"--markdown"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:txt_rst]=(mod.inspect =~/"--rst"|"--rest"|"--restructuredtext"/) \
+ act[:txt_rst]=(select_arr.inspect \
+ =~/"--rst"|"--rest"|"--restructuredtext"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:manpage]=(cmd =~/i/ \
- || mod.inspect =~/"--manpage"|"--man"/) \
+ act[:manpage]=(select_arr.inspect \
+ =~/"--manpage"|"--man"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:texinfo]=(cmd =~/I/ \
- || mod.inspect =~/"--texinfo"/) \
+ act[:texinfo]=(select_arr.inspect \
+ =~/"--texinfo"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:psql]=if mod.inspect =~/"--pg-\S+"/ \
- or ((mod.inspect =~/"--pg"/) \
- && (mod.inspect \
+ act[:psql]=if select_arr.inspect \
+ =~/"--pg-\S+"/ \
+ or ((select_arr.inspect =~/"--pg"/) \
+ && (select_arr.inspect \
=~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/))
- act[:psql_createdb]=if mod.inspect \
+ act[:psql_createdb]=if select_arr.inspect \
=~/"--pg-createdb"|"--createdb"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- if mod.inspect \
+ if select_arr.inspect \
=~/"--pg-recreate(?:all)?"|"--recreate(?:all)?"/
act[:psql_drop]={ bool: true, set: :on }
act[:psql_create]={ bool: true, set: :on }
else
- act[:psql_drop]=if mod.inspect \
+ act[:psql_drop]=if select_arr.inspect \
=~/"--pg-dropall"|"--dropall"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:psql_create]=if mod.inspect \
+ act[:psql_create]=if select_arr.inspect \
=~/"--pg-create(?:all)?"|"--create(?:all)?"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
end
- act[:psql_import]=if mod.inspect \
+ act[:psql_import]=if select_arr.inspect \
=~/"--pg-import"|"--import"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:psql_update]=if mod.inspect \
+ act[:psql_update]=if select_arr.inspect \
=~/"--pg-update"|"--update"/
act[:psql_remove]={ bool: true, set: :on }
{ bool: true, set: :on }
else
- act[:psql_remove]=if mod.inspect \
+ act[:psql_remove]=if select_arr.inspect \
=~/"--pg-remove"|"--remove"/
{ bool: true, set: :on }
else
@@ -1028,46 +1249,48 @@ module SiSU_Commandline
{ bool: false, set: :na }
{ bool: false, set: :na }
end
- act[:sqlite]=if (mod.inspect =~/"--sqlite-\S+"/) \
- or ((mod.inspect =~/"--sqlite"/) \
- && (mod.inspect \
- =~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/))
- act[:sqlite_createdb]=if mod.inspect \
+ act[:sqlite]=if select_arr.inspect \
+ =~/"--sqlite-\S+"/ \
+ or (select_arr.inspect \
+ =~/"--sqlite"/ \
+ && select_arr.inspect \
+ =~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/)
+ act[:sqlite_createdb]=if select_arr.inspect \
=~/"--sqlite-createdb"|"--createdb"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- if mod.inspect \
+ if select_arr.inspect \
=~/"--sqlite-recreate(?:all)?"|"--recreate(?:all)?"/
act[:sqlite_drop]={ bool: true, set: :on }
act[:sqlite_create]={ bool: true, set: :on }
else
- act[:sqlite_create]=if mod.inspect \
+ act[:sqlite_create]=if select_arr.inspect \
=~/"--sqlite-create(?:all)?"|"--create(?:all)?"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:sqlite_drop]=if mod.inspect \
+ act[:sqlite_drop]=if select_arr.inspect \
=~/"--sqlite-dropall"|"--dropall"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
end
- act[:sqlite_import]=if mod.inspect \
+ act[:sqlite_import]=if select_arr.inspect \
=~/"--sqlite-import"|"--import"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:sqlite_update]=if mod.inspect \
+ act[:sqlite_update]=if select_arr.inspect \
=~/"--sqlite-update"|"--update"/
act[:sqlite_remove]={ bool: true, set: :on }
{ bool: true, set: :on }
else
- act[:sqlite_remove]=if mod.inspect \
+ act[:sqlite_remove]=if select_arr.inspect \
=~/"--sqlite-remove"|"--sqlite-remove"/
{ bool: true, set: :on }
else
@@ -1091,92 +1314,110 @@ module SiSU_Commandline
{ bool: false, set: :na }
{ bool: false, set: :na }
end
- act[:sqlite_discrete]=mod.inspect =~/"--sql"|"--sqlite"/ \
- && (mod.inspect !~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/) \
+ act[:sqlite_discrete]=select_arr.inspect \
+ =~/"--sql"|"--sqlite"/ \
+ && (select_arr.inspect \
+ !~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:harvest]=(mod.inspect =~/"--harvest"/) \
+ act[:harvest]=(select_arr.inspect \
+ =~/"--harvest"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:po4a]=(cmd =~/P/ \
- || mod.inspect =~/"--po4a"|"--pot?"/) \
+ act[:po4a]=(select_arr.inspect \
+ =~/"--po4a"|"--pot?"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:git]=(cmd =~/g/ \
- || mod.inspect =~/"--git"/) \
+ act[:git]=(select_arr.inspect \
+ =~/"--git"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:hash_digests]=(cmd =~/N/ \
- || mod.inspect =~/"--digests?"|"--hash-digests"/) \
+ act[:hash_digests]=(select_arr.inspect \
+ =~/"--digests?"|"--hash-digests"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:pdf_font_size]=if mod.inspect =~/"--(?:pdf-)?font-?size[=-](\d{1,2})(?:pt)?"/
+ act[:pdf_font_size]=if select_arr.inspect \
+ =~/"--(?:pdf-)?font-?size[=-](\d{1,2})(?:pt)?"/
$1
else :na
end
- act[:pdf_hyperlink_colors]=if mod.inspect =~/"--pdf-hyperlinks-(?:mono(?:chrome)?|no-color)"/
+ act[:pdf_hyperlink_colors]=if select_arr.inspect \
+ =~/"--pdf-hyperlinks-(?:mono(?:chrome)?|no-color)"/
:mono
- elsif mod.inspect =~/"--pdf-hyperlinks-color"/
+ elsif select_arr.inspect \
+ =~/"--pdf-hyperlinks-color"/
:color
else :na
end
- act[:hash_digest_algo]=if mod.inspect =~/"--hash-(?:sha)?512"/
+ act[:hash_digest_algo]=if select_arr.inspect \
+ =~/"--hash-(?:sha)?512"/
:sha512
- elsif mod.inspect =~/"--hash-(?:sha)?256"/
+ elsif select_arr.inspect \
+ =~/"--hash-(?:sha)?256"/
:sha256
- elsif mod.inspect =~/"--hash-md5"/
+ elsif select_arr.inspect \
+ =~/"--hash-md5"/
:md5
else :na
end
- act[:sample_search_form]=(cmd =~/F/ \
- || mod.inspect =~/"--sample-search-form"/) \
+ act[:sample_search_form]=select_arr.inspect \
+ =~/"--sample-search-form"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:webrick]=(cmd =~/W/ \
- || mod.inspect =~/"--webrick"/) \
+ act[:webrick]=select_arr.inspect \
+ =~/"--webrick"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:share_source]=(cmd =~/s/ \
- || mod.inspect =~/"--source"/) \
+ act[:share_source]=select_arr.inspect \
+ =~/"--source"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:sisupod]=(cmd =~/S/ \
- || mod.inspect =~/"--sisupod"/) \
+ act[:sisupod]=select_arr.inspect \
+ =~/"--sisupod"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:scp]=(cmd =~/r/ \
- || mod.inspect =~/"--scp"/) \
+ act[:scp]=select_arr.inspect \
+ =~/"--scp"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:rsync]=(cmd =~/R/ \
- || mod.inspect =~/"--rsync"|"--remote"/) \
+ act[:rsync]=select_arr.inspect \
+ =~/"--rsync"|"--remote"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:zap]=(cmd =~/Z/ \
- || mod.inspect =~/"--zap"|"--delete"/) \
+ act[:zap]=select_arr.inspect \
+ =~/"--zap"|"--delete"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:urls_all]=(cmd =~/U/ \
- || mod.inspect =~/"--urls-all"/) \
+ act[:urls_all]=select_arr.inspect \
+ =~/"--urls-all"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:urls_selected]=(cmd =~/u/ \
- || mod.inspect =~/"--urls"/) \
- ? { bool: true, set: :on }
- : { bool: false, set: :na }
- act[:sitemap]=(cmd =~/Y/ \
- || mod.inspect =~/"--sitemap"/) \
+ act[:urls_selected]=if select_arr.inspect \
+ =~/"--urls"/
+ { bool: true, set: :on }
+ elsif select_arr.inspect \
+ =~/"--harvest/
+ { bool: false, set: :off }
+ elsif select_arr.inspect \
+ =~/"--verbose"/
+ { bool: true, set: :on }
+ else
+ { bool: false, set: :na }
+ end
+ act[:sitemap]=select_arr.inspect \
+ =~/"--sitemap"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:qrcode]=(cmd =~/Q/ \
- || mod.inspect =~/"--qrcode"/) \
+ act[:qrcode]=select_arr.inspect \
+ =~/"--qrcode"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:help]=(mod.inspect =~/"--help/) \
+ act[:help]=select_arr.inspect \
+ =~/"--help/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:ao]=if (cmd =~/m/ \
- || mod.inspect =~/"--ao"|"--dal"/)
+ act[:ao]=if select_arr.inspect \
+ =~/"--ao"|"--dal"/
{ bool: true, set: :on }
elsif (act[:txt][:set]==:on \
|| act[:txt_textile][:set]==:on \
@@ -1199,6 +1440,13 @@ module SiSU_Commandline
|| act[:share_source][:set]==:on \
|| act[:sisupod][:set]==:on \
|| act[:concordance][:set]==:on \
+ || act[:sqlite_discrete][:set]==:on \
+ || act[:sqlite_import][:set]==:on \
+ || act[:sqlite_update][:set]==:on \
+ || act[:sqlite_remove][:set]==:on \
+ || act[:psql_import][:set]==:on \
+ || act[:psql_update][:set]==:on \
+ || act[:psql_remove][:set]==:on \
|| act[:xml_dom][:set]==:on \
|| act[:xml_sax][:set]==:on \
|| act[:xml_docbook_book][:set]==:on \
@@ -1206,27 +1454,18 @@ module SiSU_Commandline
|| act[:xml_scaffold_structure_sisu][:set]==:on \
|| act[:xml_scaffold_structure_collapse][:set]==:on )
{ bool: true, set: :on }
- #if cmd !~/[mn]/
- # extra+=if cmd =~/[abegHhIiLNOoPpQTtwXxyz]/ \
- # and cmd !~/[mn]/
- # 'm' #% add ao
- #elsif (act[:txt][:set]==:on \
- # { bool: true, set: :on }
- # elsif ((cmd =~/[Dd]/ \
- # or (mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/)) \
- # and mod.inspect !~/(?:remove|(?:(?:re)?create(?:all)?|dropall|drop)$)/) \
- # and cmd !~/[mn]/
- # 'm' #% add ao
else
{ bool: false, set: :na }
end
- act[:manifest]=if mod.inspect =~/"--inc-manifest"/
+ act[:manifest]=if select_arr.inspect \
+ =~/"--inc-manifest"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-manifest"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-manifest"/ \
|| act[:switch][:off].inspect =~/"manifest"/
{ bool: false, set: :off }
- elsif (cmd =~/y/ \
- || mod.inspect =~/"--manifest"/)
+ elsif select_arr.inspect \
+ =~/"--manifest"/
{ bool: true, set: :on }
elsif (act[:txt][:set]==:on \
|| act[:txt_textile][:set]==:on \
@@ -1256,71 +1495,55 @@ module SiSU_Commandline
|| act[:xml_scaffold_structure_sisu][:set]==:on \
|| act[:xml_scaffold_structure_collapse][:set]==:on )
{ bool: true, set: :on }
- ## if cmd !~/y/
- ## extra+=if cmd =~/[abeHhIiNopQSstwXxz]/ \
- ## and cmd !~/y/
- ## 'ym' #% add manifest
- #elsif (act[:txt][:set]==:on \
- # { bool: true, set: :on }
- # elsif (cmd =~/[Dd]/ \
- # or mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/) \
- # and files[0] !~/^remove$/ \
- # and cmd !~/y/
- # 'ym' #% add manifest
else { bool: true, set: :na }
end
act[:console_messages] = ''
- act[:verbose]=if (cmd =~/v/ \
- || mod.inspect =~/"--verbose"/)
+ act[:verbose]=if select_arr.inspect \
+ =~/"--verbose"/
act[:console_messages] << ' --verbose '
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:verbose_plus]=if (cmd =~/V/ \
- || mod.inspect =~/"--very-verbose"/)
+ act[:verbose_plus]=if select_arr.inspect \
+ =~/"--very-verbose"/
act[:console_messages] << ' --very-verbose '
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:version_info]=if (cmd =~/[vVM]/ \
- || mod.inspect =~/"--verbose"|"--maintenance"/)
+ act[:version_info]=if select_arr.inspect \
+ =~/"--version"|"--verbose"|"--maintenance"/
act[:console_messages] << ' --maintenance '
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:quiet]=if (cmd =~/q/ \
- || mod.inspect =~/"--quiet"/)
+ act[:quiet]=if (select_arr.inspect =~/"--quiet"/)
act[:console_messages] << ' --quiet '
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:color_state]=if mod.inspect =~/"--color-on"|"--color"/
+ act[:color_state]=if select_arr.inspect =~/"--color-on"|"--color"/
act[:console_messages] << ' --color-on '
{ bool: true, set: :on }
- elsif (cmd =~/k/ \
- || mod.inspect =~/"--color-off"/)
+ elsif (select_arr.inspect =~/"--color-off"/)
act[:console_messages] << ' --color-off '
{ bool: false, set: :off }
else { bool: true, set: :na } #fix default color
end
-# act[:color_toggle]=if cmd =~/c/ \
-# or mod.inspect =~/"--color-toggle"/
+# act[:color_toggle]=if select_arr.inspect =~/"--color-toggle"/
# true
# else false
# end
- act[:maintenance]=if (cmd =~/M/ \
- || mod.inspect =~/"--maintenance|--keep-processing-files"/)
+ act[:maintenance]=if (select_arr.inspect =~/"--maintenance|--keep-processing-files"/)
act[:console_messages] << ' --maintenance '
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:profile]=if (cmd =~/E/ \
- || mod.inspect =~/"--profile"/)
+ act[:profile]=if (select_arr.inspect =~/"--profile"/)
act[:console_messages] << ' --color-off '
{ bool: true, set: :on }
else
@@ -1329,11 +1552,17 @@ module SiSU_Commandline
@act=act
end
end
- def cmd
- @cmd
+ def opt_ch
+ @opt_ch
end
- def mod
- @mod
+ def selections
+ def arr
+ @select_arr.sort
+ end
+ def str
+ @select_str ||= arr.join(' ')
+ end
+ self
end
def act
@@act
@@ -1342,6 +1571,9 @@ module SiSU_Commandline
files_mod=files
@files_mod=files_mod
end
+ def files
+ @files
+ end
def f_pth
@f_pth
end
diff --git a/lib/sisu/v5/manifest.rb b/lib/sisu/v5/manifest.rb
index f2a9e748..0b4f79a4 100644
--- a/lib/sisu/v5/manifest.rb
+++ b/lib/sisu/v5/manifest.rb
@@ -116,7 +116,7 @@ module SiSU_Manifest
data=SiSU_HTML::Source::HTML_Environment.new(@particulars).tuned_file_instructions
SiSU_Manifest::Source::Output.new(@md).check_output(data)
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -1019,7 +1019,7 @@ WOK
WOK
output
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/manpage.rb b/lib/sisu/v5/manpage.rb
index 0bcf1799..c8957dfe 100644
--- a/lib/sisu/v5/manpage.rb
+++ b/lib/sisu/v5/manpage.rb
@@ -94,7 +94,7 @@ module SiSU_Manpage
(@opt.act[:verbose][:set]==:on \
|| @opt.act[:verbose_plus][:set]==:on \
|| @opt.act[:maintenance][:set]==:on) \
- && @opt.cmd !~/q/ \
+ && @opt.act[:quiet][:set]==:on \
? SiSU_Screen::Ansi.new(
@opt.act[:color_state][:set],
'Manpage',
@@ -116,7 +116,7 @@ module SiSU_Manpage
@ao_array=SiSU_AO::Source.new(@opt).get # ao file drawn here
SiSU_Manpage::Source::Scroll.new(@md,@ao_array).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/po4a.rb b/lib/sisu/v5/po4a.rb
index b5086eb7..66798dbd 100644
--- a/lib/sisu/v5/po4a.rb
+++ b/lib/sisu/v5/po4a.rb
@@ -167,7 +167,7 @@ module SiSU_Po4a
SiSU_Po4a::Source::Scroll.new(fn,@ao_array_lang_src,@ao_array_lang_translation,@@md_src,@@md_trn,wrap_width).songsheet
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/qrcode.rb b/lib/sisu/v5/qrcode.rb
index 19d310c1..3a7d9406 100644
--- a/lib/sisu/v5/qrcode.rb
+++ b/lib/sisu/v5/qrcode.rb
@@ -111,7 +111,7 @@ module SiSU_QRcode
data=SiSU_HTML::Source::HTML_Environment.new(@particulars).tuned_file_instructions
OutputInfo.new(@md).check_output(data)
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -152,7 +152,7 @@ module SiSU_QRcode
mn += x
end
manifest.close if @md.opt.act[:maintenance][:set]==:on
- cmd=SiSU_Env::SystemCall.new(mn,@f.place_file.qrcode_md.dir,@md.opt.cmd)
+ cmd=SiSU_Env::SystemCall.new(mn,@f.place_file.qrcode_md.dir,@md.opt.selections.str)
cmd.qrencode
end
def output_metadata_short
@@ -160,7 +160,7 @@ module SiSU_QRcode
@manifest[:txt_title].each do |x|
mn += x
end
- cmd=SiSU_Env::SystemCall.new(mn,@f.place_file.qrcode_title.dir,@md.opt.cmd)
+ cmd=SiSU_Env::SystemCall.new(mn,@f.place_file.qrcode_title.dir,@md.opt.selections.str)
cmd.qrencode
end
def summarize(id,file,pth='',rel='',url='',img='โ— ')
@@ -193,7 +193,7 @@ WOK
|| @md.opt.act[:verbose_plus][:set]==:on \
|| @md.opt.act[:maintenance][:set]==:on)
SiSU_Screen::Ansi.new(
- @md.opt.cmd,
+ @md.opt.selections.str,
"#{dgst[1]} #{file}"
).warn
end
@@ -403,12 +403,13 @@ WOK
summarize(id,file,pth,rel,url)
end
if FileTest.file?(@f.place_file.txt.dir)==true
- id=if @md.opt.cmd =~/a/ then 'Plaintext (Unix (UTF-8) with footnotes)'
- elsif @md.opt.cmd =~/e/ then 'Plaintext (Unix (UTF-8) with endnotes)'
- elsif @md.opt.cmd =~/A/ then 'Plaintext (dos (UTF-8) with footnotes)'
- elsif @md.opt.cmd =~/E/ then 'Plaintext (dos (UTF-8) with endnotes)'
- else 'Plaintext (UTF-8)'
- end
+ id='Plaintext (UTF-8)'
+ #id=if @md.opt.selections.str =~/a/ then 'Plaintext (Unix (UTF-8) with footnotes)'
+ #elsif @md.opt.selections.str =~/e/ then 'Plaintext (Unix (UTF-8) with endnotes)'
+ #elsif @md.opt.selections.str =~/A/ then 'Plaintext (dos (UTF-8) with footnotes)'
+ #elsif @md.opt.selections.str =~/E/ then 'Plaintext (dos (UTF-8) with endnotes)'
+ #else 'Plaintext (UTF-8)'
+ #end
pth=@f.output_path.txt.dir
rel=@f.output_path.txt.rel_sm
url=@f.output_path.txt.url
@@ -746,7 +747,7 @@ WOK
output_metadata
output_metadata_short
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/rexml.rb b/lib/sisu/v5/rexml.rb
index c4512872..98263899 100644
--- a/lib/sisu/v5/rexml.rb
+++ b/lib/sisu/v5/rexml.rb
@@ -130,7 +130,7 @@ module SiSU_Rexml
exit
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/se_createsite.rb b/lib/sisu/v5/se_createsite.rb
index 33e334ce..a7ab7cf5 100644
--- a/lib/sisu/v5/se_createsite.rb
+++ b/lib/sisu/v5/se_createsite.rb
@@ -190,16 +190,20 @@ module SiSU_Create_Site
if defined? @rc['permission_set']['css_modify'] \
and @rc['permission_set']['css_modify']
SiSU_Screen::Ansi.new(
- @opt.cmd,
+ @opt.selections.str,
"*WARN* modify is css set to: #{@rc['permission_set']['css_modify']}"
- ).warn if @opt.cmd=~/[MV]/
+ ).warn if @opt.act[:verbose_plus][:set]==:on \
+ or @opt.act[:maintenance][:set]==:on
css_path.each do |x|
if FileTest.directory?(x)
FileUtils::cd(x)
source=Dir.glob("*.{css}")
source.each do |i|
if FileTest.file?(i)
- FileUtils::cp(i,"#{@env.path.output}/#{@env.path.style}")
+ FileUtils::cp(
+ i,
+ @env.path.output + '/' + @env.path.style
+ )
else STDERR.puts %{\t*WARN* did not find css - "#{i}" [#{__FILE__}:#{__LINE__}]}
end
end
@@ -208,62 +212,63 @@ module SiSU_Create_Site
end
else
SiSU_Screen::Ansi.new(
- @opt.cmd,
+ @opt.selections.str,
"*WARN* modify css is not set or is set to: false"
- ).warn if @opt.cmd=~/[MV]/
+ ).warn if @opt.act[:verbose_plus][:set]==:on \
+ or @opt.act[:maintenance][:set]==:on
end
fn_css=SiSU_Env::CSS_Default.new
css=SiSU_Style::CSS.new
path_style="#{@env.path.output}/#{@env.path.style}"
FileUtils::mkdir_p(path_style) \
unless FileTest.directory?(path_style)
- if @opt.cmd =~/C/ \
+ if @opt.act[:site_init][:set]==:on \
or not FileTest.file?("#{path_style}/#{fn_css.homepage}")
style=File.new("#{path_style}/#{fn_css.homepage}",'w')
style << css.homepage
style.close
end
- if @opt.cmd =~/C/ \
+ if @opt.act[:site_init][:set]==:on \
or not FileTest.file?("#{path_style}/#{fn_css.html_tables}")
style=File.new("#{path_style}/#{fn_css.html_tables}",'w')
style << css.html_tables
style.close
end
- if @opt.cmd =~/C/ \
+ if @opt.act[:site_init][:set]==:on \
or not FileTest.file?("#{path_style}/#{fn_css.html}")
style=File.new("#{path_style}/#{fn_css.html}",'w')
style << css.html
style.close
end
- if @opt.cmd =~/C/ \
+ if @opt.act[:site_init][:set]==:on \
or not FileTest.file?("#{path_style}/#{fn_css.harvest}")
style=File.new("#{path_style}/#{fn_css.harvest}",'w')
style << css.harvest
style.close
end
- if @opt.cmd =~/C/ \
- or (@opt.cmd =~/[x]/ \
+ if @opt.act[:site_init][:set]==:on \
+ or (@opt.act[:xml_sax][:set]==:on \
and not FileTest.file?("#{path_style}/#{fn_css.xml_sax}"))
style=File.new("#{path_style}/#{fn_css.xml_sax}",'w')
style << css.xml_sax
style.close
end
- if @opt.cmd =~/C/ \
- or (@opt.cmd =~/[X]/ \
+ if @opt.act[:site_init][:set]==:on \
+ or (@opt.act[:xml_dom][:set]==:on \
and not FileTest.file?("#{path_style}/#{fn_css.xml_dom}"))
style=File.new("#{path_style}/#{fn_css.xml_dom}",'w')
style << css.xml_dom
style.close
end
- if @opt.cmd =~/C/ \
+ if @opt.act[:site_init][:set]==:on \
or (@opt.act[:xml_docbook_book][:set] == :on \
and not FileTest.file?("#{path_style}/#{fn_css.xml_docbook}"))
style=File.new("#{path_style}/#{fn_css.xml_docbook}",'w')
style << css.xml_docbook
style.close
end
- if @opt.cmd =~/C/ \
- or (@opt.cmd =~/[b]/ \
+ if @opt.act[:site_init][:set]==:on \
+ or (@opt.act[:xhtml][:set] == :on \
and not FileTest.file?("#{path_style}/#{fn_css.xhtml}"))
style=File.new("#{path_style}/#{fn_css.xhtml}",'w')
style << css.xhtml
diff --git a/lib/sisu/v5/se_db.rb b/lib/sisu/v5/se_db.rb
index 8ed78afa..3c6fdcba 100644
--- a/lib/sisu/v5/se_db.rb
+++ b/lib/sisu/v5/se_db.rb
@@ -94,7 +94,7 @@ module SiSU_Info_Db
def psql
def user(opt=nil)
if opt \
- and opt.mod.inspect =~/--db-user[=-]["']?(\S+)["']+/
+ and opt.selections.str.inspect =~/--db-user[=-]["']?(\S+)["']+/
$1
elsif opt \
and opt.mod =~/--webserv[=-]webrick/
@@ -176,7 +176,7 @@ module SiSU_Db_Op
begin
@md=md
rescue
- SiSU_Screen::Ansi.new(md.opt.cmd,$!,$@).rescue do
+ SiSU_Screen::Ansi.new(md.opt.selections.str,$!,$@).rescue do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/se_file_op.rb b/lib/sisu/v5/se_file_op.rb
index d8a919dd..83e9c1b9 100644
--- a/lib/sisu/v5/se_file_op.rb
+++ b/lib/sisu/v5/se_file_op.rb
@@ -188,7 +188,7 @@ module SiSU_File_Op
@md,@fno=md,fno
@env=SiSU_Env::InfoEnv.new(@md.fns)
rescue
- SiSU_Screen::Ansi.new(md.opt.cmd,$!,$@).rescue do
+ SiSU_Screen::Ansi.new(md.opt.selections.str,$!,$@).rescue do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/se_filemap.rb b/lib/sisu/v5/se_filemap.rb
index 0c4c84c0..075cdb83 100644
--- a/lib/sisu/v5/se_filemap.rb
+++ b/lib/sisu/v5/se_filemap.rb
@@ -68,7 +68,7 @@ module SiSU_File_Map
attr_accessor :local_sisu_source
def initialize(opt='') #watch / REVIEW
super()
- @opt=opt #,opt.fns,opt.cmd
+ @opt=opt #,opt.fns,opt.selections.str
@env=(@opt.fns && !(@opt.fns.empty?) \
? (SiSU_Env::InfoEnv.new(@opt.fns))
: (SiSU_Env::InfoEnv.new('dummy.sst')))
@@ -216,7 +216,7 @@ module SiSU_File_Map
ft=ft.uniq
filetypes=ft.join(',')
@filetypes=if filetypes !~/..+/ then '' # -r called alone, copy all
- elsif @opt.cmd =~/u/ then '' # -u added, copy all, (used to create remote directory tree see output path), not the usual function of -u
+ elsif @opt.selections.str =~/u/ then '' # -u added, copy all, (used to create remote directory tree see output path), not the usual function of -u
elsif filetypes =~/\S+?,\S+/ then '*{' + filetypes + '}' # more than one relevant file type
else '*' + filetypes # one relevant file type
end
diff --git a/lib/sisu/v5/se_hub_particulars.rb b/lib/sisu/v5/se_hub_particulars.rb
index 4372ac72..17942a71 100644
--- a/lib/sisu/v5/se_hub_particulars.rb
+++ b/lib/sisu/v5/se_hub_particulars.rb
@@ -127,7 +127,7 @@ module SiSU_Particulars
@md=SiSU_Param::Parameters.new(opt).get
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -138,7 +138,7 @@ module SiSU_Particulars
@env=SiSU_Env::InfoEnv.new(opt.fns)
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -149,7 +149,7 @@ module SiSU_Particulars
@file=SiSU_Env::FileOp.new(@md)
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -160,7 +160,7 @@ module SiSU_Particulars
@ao_array=SiSU_AO::Source.new(opt).get
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -170,7 +170,7 @@ module SiSU_Particulars
@sst_idx=SiSU_AO::Source.new(opt).get_idx_sst
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -180,7 +180,7 @@ module SiSU_Particulars
@raw_idx=SiSU_AO::Source.new(opt).get_idx_raw
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -190,7 +190,7 @@ module SiSU_Particulars
@html_idx=SiSU_AO::Source.new(opt).get_idx_html
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -200,7 +200,7 @@ module SiSU_Particulars
@xhtml_idx=SiSU_AO::Source.new(opt).get_idx_xhtml
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -213,11 +213,11 @@ module SiSU_Particulars
self
rescue
if @md
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
else
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -229,7 +229,7 @@ module SiSU_Particulars
@ocn_htmlseg_map=SiSU_AO::Source.new(@md).get_map_ocn_htmlseg
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
diff --git a/lib/sisu/v5/se_info_env.rb b/lib/sisu/v5/se_info_env.rb
index df3d0216..5d91e433 100644
--- a/lib/sisu/v5/se_info_env.rb
+++ b/lib/sisu/v5/se_info_env.rb
@@ -1634,7 +1634,7 @@ WOK
http=http.strip
end
def webserv_base_cgi(opt=nil) #web url for local webserv (localhost, or hostname)
- http=if opt.mod.inspect =~/--webserv-(?:cgi|db|search)[=-]["']?(\S+)["']+/
+ http=if opt.selections.str =~/--webserv-(?:cgi|db|search)[=-]["']?(\S+)["']+/
m=$1
(m=~/http\/\/:/) ? m : %{http://#{m}}
elsif defined? @rc['webserv_cgi']['host'] \
@@ -1708,7 +1708,7 @@ WOK
end
end
def webserv_files_from_db(opt=nil) #sort this out, messy
- if opt.mod.inspect =~/--webserv-output[=-]["']?(\S+)["']+/
+ if opt.selections.str =~/--webserv-output[=-]["']?(\S+)["']+/
m=$1
(m=~/(?:http|file\/)\/\/:/) ? m : %{http://#{m}}
else
@@ -1729,10 +1729,10 @@ WOK
#%q{http://#{ENV['HTTP_HOST']}/cgi-bin}
end
def cgi_sample_search_form_name(opt=nil)
- if opt.mod.inspect \
+ if opt.selections.str \
=~/--(?:cgi-)?search-form-name[=-]["']?(\S+?\.cgi)/
$1
- elsif not opt.mod.inspect =~/--db[=-]["']?sqlite/ \
+ elsif not opt.selections.str =~/--db[=-]["']?sqlite/ \
and defined? @rc['search'] \
and defined? @rc['search']['sisu'] \
and defined? @rc['search']['sisu']['action'] \
@@ -1740,7 +1740,7 @@ WOK
/(?:https?:\/\/\S+?)\/([^\/]+?\.cgi)$/.
match(@rc['search']['sisu']['action'])[1]
else
- (opt.mod.inspect =~/--db[=-]["']?sqlite/) \
+ (opt.selections.str =~/--db[=-]["']?sqlite/) \
? "#{Db[:name_prefix_db]}sqlite.cgi" \
: "#{Db[:name_prefix_db]}pg.cgi"
end
@@ -1783,12 +1783,12 @@ WOK
path.image_source_include
else
if @@local_image==true
- cmd=@cmd ? @cmd : ''
+ cmd=@selections.str ? @selections.str : ''
SiSU_Screen::Ansi.new(
cmd,
"WARNING - no local image directory or images:",
defaults[:image_local]
- ).warn unless cmd =~/q/
+ ).warn unless @md.opt.act[:quiet][:set]==:on
@@local_image=false
end
url.images
@@ -1813,7 +1813,7 @@ WOK
@cmd,
'WARNING - image directory for external images or no such images:',
:image_external
- ).warn unless @cmd =~/q/
+ ).warn unless @md.opt.act[:quiet][:set]==:on
@@local_image=false
end
url.images_external
@@ -1827,15 +1827,15 @@ WOK
def port
def webrick_port
if @md \
- and @md.opt.cmd.inspect=~/-F/ \
- and @md.opt.mod.inspect=~/port=(\d+)/
+ and @md.opt.act[:sample_search_form][:set]==:on \
+ and @md.opt.selections.str=~/port=(\d+)/
$1
else
if defined? @rc['webserv_cgi']['port']
if @rc['webserv_cgi']['port'].nil? \
and (defined? @md.opt.mod \
and not @md.opt.mod.nil? \
- and @md.opt.mod.inspect=~/webrick/)
+ and @md.opt.selections.str=~/webrick/)
defaults[:webserv_port_cgi]
elsif not @rc['webserv_cgi']['port'].nil?
@rc['webserv_cgi']['port']
@@ -1847,15 +1847,15 @@ WOK
end
def webserv_port_cgi(opt=nil)
port=if opt \
- and opt.cmd.inspect=~/-F/ \
- and opt.mod.inspect=~/port=(\d+)/
+ and @md.opt.act[:sample_search_form][:set]==:on \
+ and opt.selections.str=~/port=(\d+)/
$1
else
port=if defined? @rc['webserv_cgi']['port']
if @rc['webserv_cgi']['port'].nil? \
and (defined? opt.mod \
and not opt.mod.nil? \
- and opt.mod.inspect=~/webrick/)
+ and opt.selections.str=~/webrick/)
defaults[:webserv_port_cgi]
elsif not @rc['webserv_cgi']['port'].nil?
@rc['webserv_cgi']['port']
@@ -1864,7 +1864,7 @@ WOK
else
if (defined? opt.mod \
and not opt.mod.nil? \
- and opt.mod.inspect=~/webrick/)
+ and opt.selections.str=~/webrick/)
defaults[:webserv_port_cgi]
else nil
end
@@ -2145,7 +2145,7 @@ WOK
SiSU_Screen::Ansi.new(
'',
'*WARN* file not found: ' + fns_pod
- ).warn unless @cmd=~/q/
+ ).warn unless @md.opt.act[:quiet][:set]==:on
end
sisupod_processing_path
end
@@ -2164,7 +2164,7 @@ WOK
: (SiSU_Screen::Ansi.new(
'',
"*WARN* file not found: #{fns_pod}"
- ).warn unless @cmd=~/q/)
+ ).warn unless @md.opt.act[:quiet][:set]==:on)
sisupod_processing_path
end
end
diff --git a/lib/sisu/v5/se_processing.rb b/lib/sisu/v5/se_processing.rb
index 0a035ce8..35fa72c2 100644
--- a/lib/sisu/v5/se_processing.rb
+++ b/lib/sisu/v5/se_processing.rb
@@ -465,62 +465,172 @@ module SiSU_Processing_Settings
end
module SiSU_Info_Processing_Flag
class InfoProcessingFlag
- attr_accessor :color,:cf_0,:cf_1,:cf_2,:cf_3,:cf_4,:cf_5
+ attr_accessor :color,:act_0,:act_1,:act_2,:act_3,:act_4,:act_5,:act_6,:act_7,:act_8,:act_9
def initialize
@rc=SiSU_Get_Init::GetInit.new.sisu_yaml.rc
end
- def color #processing flag shortcuts
+ def color #configurable processing flag shortcuts
(defined? @rc['flag']['color']) \
? @rc['flag']['color']
: false
end
- def cf_0 #processing flag shortcuts
- if defined? @rc['flag']['default'] \
- and @rc['flag']['default'].is_a?(String)
- @rc['flag']['default']
- else #'-NQhewpotbxXdyYv'
- '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest'
+ def act_0 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act0'] \
+ and @rc['flag']['act0'].is_a?(String)
+ @rc['flag']['act0']
+ elsif defined? @rc['flag']['default'] \
+ and @rc['flag']['default'].is_a?(String)
+ @rc['flag']['default']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest --verbose'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
+ end
+ self
+ end
+ def act_1 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act1'] \
+ and @rc['flag']['act1'].is_a?(String)
+ @rc['flag']['act1']
+ elsif defined? @rc['flag']['i'] \
+ and @rc['flag']['i'].is_a?(String)
+ @rc['flag']['i']
+ else
+ '--digest --text --html --manifest'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
+ end
+ self
+ end
+ def act_2 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act2'] \
+ and @rc['flag']['act2'].is_a?(String)
+ @rc['flag']['act2']
+ elsif defined? @rc['flag']['ii'] \
+ and @rc['flag']['ii'].is_a?(String)
+ @rc['flag']['ii']
+ else
+ '--digest --text --html --epub --pdf --manifest'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
+ end
+ self
+ end
+ def act_3 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act3'] \
+ and @rc['flag']['act3'].is_a?(String)
+ @rc['flag']['act3']
+ elsif defined? @rc['flag']['iii'] \
+ and @rc['flag']['iii'].is_a?(String)
+ @rc['flag']['iii']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --manifest'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
+ end
+ self
+ end
+ def act_4 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act4'] \
+ and @rc['flag']['act4'].is_a?(String)
+ @rc['flag']['act4']
+ elsif defined? @rc['flag']['iv'] \
+ and @rc['flag']['iv'].is_a?(String)
+ @rc['flag']['iv']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --manifest'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
end
+ self
end
- def cf_1 #processing flag shortcuts
- if defined? @rc['flag']['i'] \
- and @rc['flag']['i'].is_a?(String)
- @rc['flag']['i']
- else #'-Qhewpoty'
- '--digest --qrcode --text --html --epub --concordance --pdf --manifest'
+ def act_5 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act5'] \
+ and @rc['flag']['act5'].is_a?(String)
+ @rc['flag']['act5']
+ elsif defined? @rc['flag']['v'] \
+ and @rc['flag']['v'].is_a?(String)
+ @rc['flag']['v']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --sqlite --manifest'
+ end
end
+ def arr
+ str.scan(/\S+/)
+ end
+ self
end
- def cf_2 #processing flag shortcuts
- if defined? @rc['flag']['ii'] \
- and @rc['flag']['ii'].is_a?(String)
- @rc['flag']['ii']
- else #'-NQhewpotbxXdy'
- '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --manifest'
+ def act_6 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act6'] \
+ and @rc['flag']['act6'].is_a?(String)
+ @rc['flag']['act6']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
end
+ self
end
- def cf_3 #processing flag shortcuts
- if defined? @rc['flag']['iii'] \
- and @rc['flag']['iii'].is_a?(String)
- @rc['flag']['iii']
- else #'-NQhewpotbxXdyY'
- '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest'
+ def act_7 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act7'] \
+ and @rc['flag']['act7'].is_a?(String)
+ @rc['flag']['act7']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --source --sisupod --manifest'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
end
+ self
end
- def cf_4 #processing flag shortcuts
- if defined? @rc['flag']['iv'] \
- and @rc['flag']['iv'].is_a?(String)
- @rc['flag']['iv']
- else #'-NQhewpotbxXdDyY --update'
- '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --postresql --update --manifest'
+ def act_8 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act8'] \
+ and @rc['flag']['act8'].is_a?(String)
+ @rc['flag']['act8']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --pg --update --manifest'
+ end
end
+ def arr
+ str.scan(/\S+/)
+ end
+ self
end
- def cf_5 #processing flag shortcuts
- if defined? @rc['flag']['v'] \
- and @rc['flag']['v'].is_a?(String)
- @rc['flag']['v']
- else #'-NQhewpotbxXdyYsS'
- '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest --sisupod --source'
+ def act_9 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act9'] \
+ and @rc['flag']['act9'].is_a?(String)
+ @rc['flag']['act9']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --pg --update --source --sisupod --manifest'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
end
+ self
end
end
end
diff --git a/lib/sisu/v5/se_programs.rb b/lib/sisu/v5/se_programs.rb
index 35d68cb6..4eef1ce9 100644
--- a/lib/sisu/v5/se_programs.rb
+++ b/lib/sisu/v5/se_programs.rb
@@ -87,7 +87,7 @@ module SiSU_Sys_Call
end
@sys.locale
end
- def file_encoding(filename,cmd='') #file encoding
+ def file_encoding(filename,act='') #file encoding
program='file'
fnsp=SiSU_Env::InfoEnv.new(filename).source_file_with_path
if program_found?(program)
@@ -98,9 +98,13 @@ module SiSU_Sys_Call
encoding
else 'UTF-8 assumed, encoding undetermined'
end
- puts encoding if cmd =~/[VM]/
+ if act[:verbose_plus][:set] ==:on \
+ or act[:maintenance][:set] ==:on
+ puts encoding
+ end
encoding
- else encoding='UTF-8 assumed, file encoding check program unavailable'
+ else
+ 'UTF-8 assumed, file encoding check program unavailable'
end
end
def wc #word count
diff --git a/lib/sisu/v5/texinfo.rb b/lib/sisu/v5/texinfo.rb
index e792a989..16aef8bf 100644
--- a/lib/sisu/v5/texinfo.rb
+++ b/lib/sisu/v5/texinfo.rb
@@ -132,7 +132,7 @@ module SiSU_TexInfo
@marshalfile=SiSU_Env::InfoFile.new(@opt.fns).marshal.ao_content
if FileTest.file?(@marshalfile)==true
File.open(@marshalfile) { |f| @@tuned_file=Marshal.load(f)}
- #tell.meta_verse_skipped if @opt.cmd =~/[vVM]/
+ #tell.meta_verse_skipped if @opt.selections.str =~/[vVM]/
else
tex_array=IO.readlines(@opt.fns,'')
SiSU_Metaverse.songsheet(tex_array)
@@ -418,7 +418,7 @@ module SiSU_TexInfo
pwd=Dir.pwd
case sfx
when /(?:-|ssm\.)?sst$/
- @env=SiSU_Env::InfoEnv.new(@md.fns,@md.opt.cmd)
+ @env=SiSU_Env::InfoEnv.new(@md.fns,@md.opt.selections.str)
Dir.chdir(@env.processing_path.texi)
texinfo=SiSU_Env::SystemCall.new("#{fnb}.texinfo")
texinfo.makeinfo
diff --git a/lib/sisu/v5/texpdf.rb b/lib/sisu/v5/texpdf.rb
index b5d36602..fe7ec47e 100644
--- a/lib/sisu/v5/texpdf.rb
+++ b/lib/sisu/v5/texpdf.rb
@@ -107,7 +107,7 @@ module SiSU_TeX
Dir.mkdir(@env.processing_path.tex) unless FileTest.directory?(@env.processing_path.tex)
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -148,7 +148,7 @@ module SiSU_TeX
end
end
@md=@particulars.md
- $flag=@md.opt.cmd #introduced to pass 0 for no object citation numbers... to texpdf_format
+ $flag=@md.opt.selections.str #introduced to pass 0 for no object citation numbers... to texpdf_format
directories
#% needed needs to be reprogrammed !!!
ao_array=SiSU_AO::Source.new(@opt).get # ao file drawn here
@@ -158,7 +158,7 @@ module SiSU_TeX
SiSU_TeX::Source::LaTeXtoPdf.new(@md,@particulars.env).latexrun_selective
Dir.chdir(pwd)
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -180,7 +180,7 @@ module SiSU_TeX
@@date=SiSU_Env::InfoDate.new
@@flag={}
$flag=1 #remove at some stage
- SiSU_Env::Clear.new(@opt.cmd,@opt.fns).param_instantiate
+ SiSU_Env::Clear.new(@opt.selections.str,@opt.fns).param_instantiate
end
end
private
@@ -194,7 +194,7 @@ module SiSU_TeX
@texfilename=texfilename
@@n_lpdf=@@n_lpdf+1
tex_fn_base=@texfilename.gsub(/\.tex$/,'')
- tell=SiSU_Screen::Ansi.new(@md.opt.cmd)
+ tell=SiSU_Screen::Ansi.new(@md.opt.selections.str)
if @md.opt.act[:pdf_p][:set]==:on
if (@md.opt.act[:verbose][:set]==:on \
|| @md.opt.act[:verbose_plus][:set]==:on \
@@ -204,13 +204,21 @@ module SiSU_TeX
"#{papersize} portrait ->"
).dark_grey_title_hi
end
- cmd=SiSU_Env::SystemCall.new("#{tex_fn_base}.tex",'',@md.opt.cmd)
- tell.grey_open if @md.opt.cmd =~/[MVv]/
+ cmd=SiSU_Env::SystemCall.new("#{tex_fn_base}.tex",'',@md.opt.selections.str)
+ if @md.opt.act[:verbose][:set]==:on \
+ || @md.opt.act[:verbose_plus][:set]==:on \
+ || @md.opt.act[:maintenance][:set]==:on
+ tell.grey_open
+ end
if "#{tex_fn_base}" =~/\w+/ \
and "#{papersize}" =~/\w+/
2.times { |i| cmd.latex2pdf(@md,papersize) } #comment out to skip processing of latex portrait
end
- tell.p_off if @md.opt.cmd =~/[MVv]/
+ if @md.opt.act[:verbose][:set]==:on \
+ || @md.opt.act[:verbose_plus][:set]==:on \
+ || @md.opt.act[:maintenance][:set]==:on
+ tell.p_off
+ end
end
if @md.opt.act[:pdf_l][:set]==:on
if (@md.opt.act[:verbose][:set]==:on \
@@ -221,7 +229,7 @@ module SiSU_TeX
"#{papersize} landscape ->"
).dark_grey_title_hi
end
- cmd=SiSU_Env::SystemCall.new("#{tex_fn_base}.landscape.tex",'',@md.opt.cmd)
+ cmd=SiSU_Env::SystemCall.new("#{tex_fn_base}.landscape.tex",'',@md.opt.selections.str)
if (@md.opt.act[:verbose][:set]==:on \
|| @md.opt.act[:verbose_plus][:set]==:on \
|| @md.opt.act[:maintenance][:set]==:on)
@@ -357,7 +365,7 @@ module SiSU_TeX
lst=Dir["*.{aux,log,out}"]
lst.each {|file| File.unlink(file)} if lst
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -438,7 +446,7 @@ module SiSU_TeX
data=markup(data)
output(data)
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -640,6 +648,8 @@ module SiSU_TeX
tst.heading_level_2
when 6
tst.heading_level_3
+ when 7
+ tst.heading_level_4
else dob
end
when :heading_insert
diff --git a/lib/sisu/v5/texpdf_format.rb b/lib/sisu/v5/texpdf_format.rb
index e9ff0fff..9957ab48 100644
--- a/lib/sisu/v5/texpdf_format.rb
+++ b/lib/sisu/v5/texpdf_format.rb
@@ -323,6 +323,9 @@ module SiSU_TeX_Pdf
def heading_level_3
heading_sublevels(@dob)
end
+ def heading_level_4
+ heading_sublevels(@dob)
+ end
def hang
case @dob.indent
when /0/
diff --git a/lib/sisu/v5/txt_asciidoc.rb b/lib/sisu/v5/txt_asciidoc.rb
index 43e49f7b..7171ee64 100644
--- a/lib/sisu/v5/txt_asciidoc.rb
+++ b/lib/sisu/v5/txt_asciidoc.rb
@@ -121,7 +121,7 @@ module SiSU_Txt_AsciiDoc
#wrap_width=(defined? md.make.plaintext_wrap) ? md.make.plaintext_wrap : 78
SiSU_Txt_AsciiDoc::Source::Scroll.new(md,ao_array,wrap_width).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/txt_markdown.rb b/lib/sisu/v5/txt_markdown.rb
index 1e4326a3..9a184635 100644
--- a/lib/sisu/v5/txt_markdown.rb
+++ b/lib/sisu/v5/txt_markdown.rb
@@ -120,7 +120,7 @@ module SiSU_Txt_Markdown
#wrap_width=(defined? md.make.plaintext_wrap) ? md.make.plaintext_wrap : 78
SiSU_Txt_Markdown::Source::Scroll.new(md,ao_array,wrap_width).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/txt_plain.rb b/lib/sisu/v5/txt_plain.rb
index 2f3cc134..608d3d09 100644
--- a/lib/sisu/v5/txt_plain.rb
+++ b/lib/sisu/v5/txt_plain.rb
@@ -122,7 +122,7 @@ module SiSU_Txt_Plain
#wrap_width=(defined? md.make.plaintext_wrap) ? md.make.plaintext_wrap : 78
SiSU_Txt_Plain::Source::Scroll.new(md,ao_array,wrap_width).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -139,7 +139,7 @@ module SiSU_Txt_Plain
@env=SiSU_Env::InfoEnv.new(@md.fns)
@brace_url=SiSU_Viz::Defaults.new.url_decoration
@tab="\t"
- @@endnotes_=case md.opt.mod.inspect
+ @@endnotes_=case md.opt.selections.str
when /--footnote/ then false
when /--endnote/ then true
else true
@@ -254,6 +254,9 @@ WOK
def l6
'.'
end
+ def l7
+ '.'
+ end
self
end
def bold
@@ -402,6 +405,9 @@ WOK
end
when 5 then wrapped.upcase << break_line << decorate.heading_underscore.l5*times + p_num << break_line*2
when 6 then wrapped.upcase << break_line << decorate.heading_underscore.l6*times + p_num << break_line*2
+ when 7
+ wrapped.upcase << break_line << decorate.heading_underscore.l7*times + p_num << break_line*2
+ #when 7 then wrapped.upcase << break_line << decorate.heading_underscore.l7*times + p_num << break_line*2
end
else
@plaintext[:body] << wrapped + p_num << break_line # main text, contents, body KEEP
@@ -419,7 +425,9 @@ WOK
if make.build.plaintext_ocn?
if defined? dob.ocn \
and dob.ocn.is_a?(Fixnum)
- (defined? dob.ocn) ? "\n#{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}" : ''
+ (defined? dob.ocn) \
+ ? "\n#{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}" \
+ : ''
else ''
end
else ''
@@ -428,8 +436,8 @@ WOK
def markup(data) # Used for major markup instructions
SiSU_Env::InfoEnv.new(@md.fns)
@data_mod,@endnotes,@level,@cont,@copen,@plaintext_contents_close=Array.new(6){[]}
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @plaintext_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @plaintext_contents_close[x]='' }
plaintext_tail #($1,$2)
plaintext_metadata
table_message='[table omitted, see other document formats]'
diff --git a/lib/sisu/v5/txt_rst.rb b/lib/sisu/v5/txt_rst.rb
index f00c9e9c..0147a6de 100644
--- a/lib/sisu/v5/txt_rst.rb
+++ b/lib/sisu/v5/txt_rst.rb
@@ -121,7 +121,7 @@ module SiSU_Txt_rST
#wrap_width=(defined? md.make.plaintext_wrap) ? md.make.plaintext_wrap : 78
SiSU_Txt_rST::Source::Scroll.new(md,ao_array,wrap_width).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/txt_textile.rb b/lib/sisu/v5/txt_textile.rb
index 65c102fc..43124493 100644
--- a/lib/sisu/v5/txt_textile.rb
+++ b/lib/sisu/v5/txt_textile.rb
@@ -121,7 +121,7 @@ module SiSU_Txt_Textile
#wrap_width=(defined? md.make.plaintext_wrap) ? md.make.plaintext_wrap : 78
SiSU_Txt_Textile::Source::Scroll.new(md,ao_array,wrap_width).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/update.rb b/lib/sisu/v5/update.rb
index 2301990a..3c355edb 100644
--- a/lib/sisu/v5/update.rb
+++ b/lib/sisu/v5/update.rb
@@ -81,7 +81,7 @@ module SiSU_UpdateControlFlag
).green_hi_blue unless @md.opt.act[:quiet][:set]==:on
SetCF.new(@md).set_flags
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/urls.rb b/lib/sisu/v5/urls.rb
index 815fe65a..4ecad1f9 100644
--- a/lib/sisu/v5/urls.rb
+++ b/lib/sisu/v5/urls.rb
@@ -74,7 +74,7 @@ module SiSU_Urls
begin
SiSU_Urls::OutputUrls.new(@opt).songsheet if @opt.fnb
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -82,11 +82,20 @@ module SiSU_Urls
end
end
class OutputUrls
- attr_reader :fns,:fnb,:cmd,:dir,:m_regular,:u
+ attr_reader :fns,:fnb,:act,:dir,:m_regular,:u
def initialize(opt)
@opt=opt
@particulars=SiSU_Particulars::CombinedSingleton.instance.get_env_md(opt)
- @cmd=@opt.cmd
+ if @particulars.is_a?(NilClass)
+ if @opt.act[:verbose_plus][:set]==:on \
+ or @opt.act[:maintenance][:set]==:on
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).
+ mark("@particulars is NilClass, acceptable e.g. for --harvest")
+ end
+ exit
+ end
+ @selections=@opt.selections.str
+ @act=@opt.act
@md=@particulars.md
@env=@particulars.env
@fnb=@env.fnb
@@ -95,308 +104,29 @@ module SiSU_Urls
@fn=SiSU_Env::EnvCall.new(@opt.fns).lang(fn_set_lang[:c])
@m_regular=/(.+?)\.(?:(?:-|ssm\.)?sst|ssm)$/
@prog=@env.program
- @u ||= {
- 'b --xhtml (XHTML)'=>@fn[:xhtml],
- 'D[iu] --psql (DBI import/update postgresql)'=>'dbi psql',
- 'd --sqlite (DBI sqlite)'=>'dbi sqlite3',
- 'd[iu] --sqlite (DBI sqlite)'=>'dbi sqlite3',
- 'e --epub (EPUB)'=>@fn[:epub],
- 'P --pot (Pot)'=>@fn[:pot],
- 'h --html (HTML segmented)'=>@fn[:toc],
- 'h --html (HTML scroll)'=>@fn[:doc],
- 'I --texinfo (Info file)'=>'info',
- 'i --manpage (manpage)'=>'manpage',
- 'm --ao (Document Abstraction)'=>'ao',
- 'N --hash-digests (Digests sha512/sha256/md5)'=>@fn[:digest],
- 'o --odt (ODF:ODT - Open Document)'=>@fn[:odf],
- 'p --pdf (PDF landscape)'=>@fn[:pdf_l],
- 'p --pdf (PDF portrait)'=>@fn[:pdf_p],
- 'E --profile (Ruby profiler)'=>'profile',
- 's --source (sisu markup)'=>@opt.fno,
- 'S --sisupod (sisupod)'=>@fn[:sisupod],
- 't --txt (Plain-text (endnotes))'=>@fn[:plain],
- ' --textile (textile txt)'=>@fn[:txt_textile],
- ' --asciidoc (AsciiDoc txt)'=>@fn[:txt_asciidoc],
- ' --markdown (markdown txt)'=>@fn[:txt_markdown],
- ' --rst (rST restructured-text)'=>@fn[:txt_rst],
- ' --docbook-book (DocBook Book)'=>@fn[:xml_docbook_book],
- ' --fictionbook (Fictionbook)'=>@fn[:xml_fictionbook],
- 'x --xml-sax (XML sax type)'=>@fn[:sax],
- 'X --xml-dom (XML dom type)'=>@fn[:dom],
- ' --xml-scaffold-sisu (XML scaffold)'=>@fn[:xml_scaffold_structure_sisu],
- ' --xml-scaffold-collapse (XML scaffold)'=>@fn[:xml_scaffold_structure_collapse],
- 'Q --qrcode (QR Code jpg)'=>@fn[:qrcode],
- 'y --manifest (Manifest, html)'=>@fn[:manifest],
- 'Y (Sitemap, xml)'=>@fn[:sitemap],
- 'w --concordance (Concordance, html)'=>@fn[:concordance],
- }.sort {|a,b| a[0].downcase<=>b[0].downcase}
end
def songsheet
begin
- @opt.cmd=~/U/ ? urls_all : (urls_select unless @opt.act[:quiet][:set]==:on)
+ (@opt.act[:urls_all][:set]==:on) \
+ ? urls_all \
+ : (urls_select unless @opt.act[:quiet][:set]==:on)
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
end
end
def show
- def source
- def src(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.text_editor} #{@md.file.output_path.src.dir}/#{y}"
- ).result
- end
- def pod(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.sisupod.dir}/#{y}"
- ).result
- end
- self
- end
- def generic(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} #{@env.url.output_tell}/#{@fnb}/#{y}"
- ).result
- end
- def meta(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.text_editor} ~#{y}/#{@fnb}.#{y}"
- ).result
- end
- def text(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.txt.dir}/#{@md.file.base_filename.txt}"
- ).result
- end
- def textile(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.textile.dir}/#{@md.file.base_filename.textile}"
- ).result
- end
- def asciidoc(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.asciidoc.dir}/#{@md.file.base_filename.asciidoc}"
- ).result
- end
- def markdown(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.markdown.dir}/#{@md.file.base_filename.markdown}"
- ).result
- end
- def rst(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.rst.dir}/#{@md.file.base_filename.rst}"
- ).result
- end
- def epub(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.epub_viewer} #{@md.file.output_path.epub.dir}/#{@md.file.base_filename.epub}"
- ).result
- end
- def html
- def scroll(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.html_scroll.dir}/#{@md.file.base_filename.html_scroll}"
- ).result
- end
- def toc(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.html_seg.dir}/#{@md.file.base_filename.html_segtoc}"
- ).result
- end
- def concordance(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.html_concordance.dir}/#{@md.file.base_filename.html_concordance}"
- ).result
- end
- def manifest(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.manifest.dir}/#{@md.file.base_filename.manifest}"
- ).result
- end
- self
- end
- def qrcode(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.manifest.dir}/#{@md.file.base_filename.manifest}"
- ).result
- end
- def odt(x)
+ def report(x)
SiSU_Screen::Ansi.new(
@opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.odf_viewer} file://#{@md.file.output_path.odt.dir}/#{@md.file.base_filename.odt}"
+ "[#{@opt.f_pth[:lng_is]}]",
+ x[:cmd],
+ x[:viewer] + ' ' \
+ + x[:f_pth]
).result
end
- def pdf
- def portrait(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.pdf_viewer} #{@md.file.output_path.pdf.dir}/#{@md.file.base_filename.pdf_p}#{@md.papersize_array[0]}.pdf"
- ).result
- end
- def landscape(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.pdf_viewer} #{@md.file.output_path.pdf.dir}/#{@md.file.base_filename.pdf_l}#{@md.papersize_array[0]}.pdf"
- ).result
- end
- self
- end
- def manpage(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.manpage_viewer} #{@md.file.output_path.manpage.dir}/#{@md.file.base_filename.manpage}"
- ).result
- end
- def pinfo(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "cd #{@md.file.output_path.texinfo.dir} && #{@env.program.texinfo} #{@md.file.base_filename.info}; cd -"
- ).result
- end
- def po4a
- def po(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "-#{x}",
- "#{@prog.text_editor} #{@md.file.output_path.po.dir}/#{y}"
- ).result
- end
- def pot(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "-#{x}",
- "#{@prog.text_editor} #{@md.file.output_path.pot.dir}/#{y}"
- ).result
- end
- self
- end
- def xhtml(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.xhtml.dir}/#{@md.file.base_filename.xhtml}"
- ).result
- end
- def xml
- def sax(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.xml_sax.dir}/#{@md.file.base_filename.xml_sax}"
- ).result
- end
- def dom(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],"[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.xml_dom.dir}/#{@md.file.base_filename.xml_dom}"
- ).result
- end
- def docbook_book(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.xml_docbook_book.dir}/#{@md.file.base_filename.xml_docbook_book}"
- ).result
- end
- def fictionbook(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.xml_fictionbook.dir}/#{@md.file.base_filename.xml_fictionbook}"
- ).result
- end
- def scaffold_structure_sisu(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.xml_scaffold_structure_sisu.dir}/#{@md.file.base_filename.xml_scaffold_structure_sisu}"
- ).result
- end
- def scaffold_structure_collapse(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.xml_scaffold_structure_collapse.dir}/#{@md.file.base_filename.xml_scaffold_structure_collapse}"
- ).result
- end
- def sitemap(x) #BROKEN
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.sitemaps.dir}/#{@md.file.base_filename.sitemap}"
- ).result
- end
- self
- end
- def hash_digest(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.hash_digest.dir}/#{@md.file.base_filename.hash_digest}"
- ).result
- end
- def db
- def psql(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x} DBI psql","#{@pwd_stub}::#{@opt.fns}",
- y
- ).result
- end
- def sqlite(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x} DBI sqlite",
- "sqlite3 #{@env.path.webserv}/#{@md.opt.f_pth[:pth_stub]}/sisu_sqlite.db"
- ).result
- end
- def sqlite_discrete(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "sqlite3 #{@md.file.output_path.sqlite_discrete.dir}/#{@md.file.base_filename.sqlite_discrete}"
- ).result
- end
- self
- end
self
end
def urls_maintenance(opt,x,y)
@@ -472,8 +202,341 @@ module SiSU_Urls
end
end
end
+ def report_info
+ def dal
+ {
+ cmd: '--ao',
+ fn: 'ao',
+ }
+ end
+ def hash_digests
+ {
+ cmd: '--hash-digests (sha512/sha256/md5)',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.hash_digest.dir + '/' \
+ + @md.file.base_filename.hash_digest,
+ fn: @fn[:digest],
+ }
+ end
+ def text
+ def txt
+ {
+ cmd: '--txt',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.txt.dir + '/' \
+ + @md.file.base_filename.txt,
+ fn: @fn[:plain],
+ }
+ end
+ def asciidoc
+ {
+ cmd: '--asciidoc',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.asciidoc.dir + '/' \
+ + @md.file.base_filename.asciidoc,
+ fn: @fn[:txt_asciidoc],
+ }
+ end
+ def markdown
+ {
+ cmd: '--markdown',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.markdown.dir + '/' \
+ + @md.file.base_filename.markdown,
+ fn: @fn[:txt_markdown],
+ }
+ end
+ def rst
+ {
+ cmd: '--rst',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.rst.dir + '/' \
+ + @md.file.base_filename.rst,
+ fn: @fn[:txt_rst],
+ }
+ end
+ def textile
+ {
+ cmd: '--textile',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.textile.dir + '/' \
+ + @md.file.base_filename.textile,
+ fn: @fn[:txt_textile],
+ }
+ end
+ self
+ end
+ def html
+ def seg
+ {
+ cmd: '--html-seg',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.html_seg.dir + '/' \
+ + @md.file.base_filename.html_segtoc,
+ fn: @fn[:toc],
+ }
+ end
+ def scroll
+ {
+ cmd: '--html-scroll',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.html_scroll.dir + '/' \
+ + @md.file.base_filename.html_scroll,
+ fn: @fn[:doc],
+ }
+ end
+ def concordance
+ {
+ cmd: '--concordance',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.html_concordance.dir + '/' \
+ + @md.file.base_filename.html_concordance,
+ fn: @fn[:concordance],
+ }
+ end
+ self
+ end
+ def xhtml
+ def xhtml
+ {
+ cmd: '--xhtml',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.xhtml.dir + '/' \
+ + @md.file.base_filename.xhtml,
+ fn: @fn[:xhtml],
+ }
+ end
+ def epub
+ {
+ cmd: '--epub',
+ viewer: @prog.epub_viewer,
+ f_pth: @md.file.output_path.epub.dir + '/' \
+ + @md.file.base_filename.epub,
+ fn: @fn[:epub],
+ }
+ end
+ self
+ end
+ def xml
+ def odt
+ {
+ cmd: '--odt (ODF:ODT)',
+ viewer: @prog.odf_viewer,
+ f_pth: @md.file.output_path.odt.dir + '/' \
+ + @md.file.base_filename.odt,
+ fn: @fn[:odf],
+ }
+ end
+ def docbook
+ {
+ cmd: '--docbook',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.xml_docbook_book.dir + '/' \
+ + @md.file.base_filename.xml_docbook_book,
+ fn: @fn[:xml_docbook_book],
+ }
+ end
+ def fictionbook
+ {
+ cmd: '--fictionbook',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.xml_fictionbook.dir + '/' \
+ + @md.file.base_filename.xml_fictionbook,
+ fn: @fn[:xml_fictionbook],
+ }
+ end
+ def sax
+ {
+ cmd: '--xml-sax',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.xml_sax.dir + '/' \
+ + @md.file.base_filename.xml_sax,
+ fn: @fn[:sax],
+ }
+ end
+ def dom
+ {
+ cmd: '--xml-dom',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.xml_dom.dir + '/' \
+ + @md.file.base_filename.xml_dom,
+ fn: @fn[:dom],
+ }
+ end
+ def scaffold_sisu
+ {
+ cmd: '--xml-scaffold-sisu',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.xml_scaffold_structure_sisu.dir + '/' \
+ + @md.file.base_filename.xml_scaffold_structure_sisu,
+ fn: @fn[:xml_scaffold_structure_sisu],
+ }
+ end
+ def scaffold_collapse
+ {
+ cmd: '--xml-scaffold-collapse',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.xml_scaffold_structure_collapse.dir + '/' \
+ + @md.file.base_filename.xml_scaffold_structure_collapse,
+ fn: @fn[:xml_scaffold_structure_collapse],
+ }
+ end
+ self
+ end
+ def pdf
+ def landscape
+ {
+ cmd: '--pdf (landscape)',
+ viewer: @prog.pdf_viewer,
+ f_pth: @md.file.output_path.pdf.dir + '/' \
+ + @md.file.base_filename.pdf_l \
+ + @md.papersize_array[0] + '.pdf',
+ fn: @fn[:pdf_l],
+ }
+ end
+ def portrait
+ {
+ cmd: '--pdf (portrait)',
+ viewer: @prog.pdf_viewer,
+ f_pth: @md.file.output_path.pdf.dir + '/' \
+ + @md.file.base_filename.pdf_p \
+ + @md.papersize_array[0] + '.pdf',
+ fn: @fn[:pdf_p],
+ }
+ end
+ self
+ end
+ def manpage
+ {
+ cmd: '--manpage',
+ viewer: @prog.manpage_viewer,
+ f_pth: @md.file.output_path.manpage.dir + '/' \
+ + @md.file.base_filename.manpage,
+ fn: 'manpage',
+ }
+ end
+ def texinfo
+ {
+ cmd: '--texinfo',
+ viewer: '',
+ f_pth: 'cd ' \
+ + @md.file.output_path.texinfo.dir + ' && ' \
+ + @env.program.texinfo + ' ' \
+ + @md.file.base_filename.info \
+ + '; cd -',
+ fn: 'info',
+ }
+ end
+ def db
+ def psql
+ {
+ cmd: '--psql --update/--import',
+ viewer: '',
+ f_pth: @pwd_stub + '::' \
+ + @opt.fns \
+ + 'dbi psql',
+ fn: 'dbi psql',
+ }
+ end
+ def sqlite
+ {
+ cmd: '--sqlite --update/--import',
+ viewer: 'sqlite3 ',
+ f_pth: @env.path.webserv + '/' \
+ + @md.opt.f_pth[:pth_stub] + '/' \
+ + 'sisu_sqlite.db',
+ fn: 'dbi sqlite3',
+ }
+ end
+ def sqlite_discrete
+ {
+ cmd: '--sqlite --update/--import',
+ viewer: 'sqlite3 ',
+ f_pth: @md.file.output_path.sqlite_discrete.dir + '/' \
+ + @md.file.base_filename.sqlite_discrete,
+ fn: 'dbi sqlite3',
+ }
+ end
+ self
+ end
+ def po4a
+ def po
+ {
+ cmd: '--po4a/--pot',
+ viewer: @prog.web_browser,
+ f_pth: @prog.text_editor + ' ' \
+ + @md.file.output_path.po.dir \
+ + '/' + y,
+ fn: @fn[:pot],
+ }
+ end
+ def pot
+ {
+ cmd: '--po4a/--pot',
+ viewer: @prog.web_browser,
+ f_pth: @prog.text_editor + ' ' \
+ + @md.file.output_path.pot.dir \
+ + '/' + y,
+ fn: @fn[:pot],
+ }
+ end
+ self
+ end
+ def source
+ {
+ cmd: '--source (sisu markup)',
+ viewer: @prog.text_editor,
+ f_pth: @md.file.output_path.src.dir + '/' \
+ + @opt.fno,
+ fn: @opt.fno,
+ }
+ end
+ def sisupod
+ {
+ cmd: '--sisupod',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.sisupod.dir + '/' \
+ + @opt.fno,
+ fn: @fn[:sisupod],
+ }
+ end
+ def ruby_profile
+ {
+ cmd: '--profile (ruby profiler)',
+ fn: 'profile',
+ }
+ end
+ def qrcode
+ {
+ cmd: '--qrcode',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.manifest.dir + '/' \
+ + @md.file.base_filename.manifest,
+ fn: @fn[:qrcode],
+ }
+ end
+ def manifest
+ {
+ cmd: '--manifest',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.manifest.dir + '/' \
+ + @md.file.base_filename.manifest,
+ fn: @fn[:manifest],
+ }
+ end
+ def sitemap
+ {
+ cmd: '--sitemap',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.sitemaps.dir + '/' \
+ + @md.file.base_filename.sitemap,
+ fn: @fn[:sitemap],
+ }
+ end
+ self
+ end
def urls_select
- unless @opt.cmd =~/q/
+ unless @opt.act[:quiet][:set]==:on
i1='[' + @opt.f_pth[:lng_is] + ']'
i2='file://' \
+ @md.file.output_path.manifest.dir + '/' \
@@ -490,168 +553,129 @@ module SiSU_Urls
'URL (output manifest)',
i1, i2
).grey_title_grey_blue
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- i1, i2,
- ).flow if @opt.cmd =~/[MVv]/
+ if (@opt.act[:verbose][:set]==:on \
+ || @opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:maintenance][:set]==:on)
+ SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ i1, i2,
+ ).flow
+ end
end
m=/.+\/(?:src\/)?(\S+)/im # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m
@pwd_stub="#{@env.url.output_tell}"[m,1]
unless @opt.act[:quiet][:set]==:on
- @u.each do |x,y|
- if @opt.fns =~ @m_regular
- if (@opt.act[:verbose][:set]==:on \
- || @opt.act[:verbose_plus][:set]==:on \
- || @opt.act[:maintenance][:set]==:on)
- if x=~/--txt\b/ \
- and @opt.act[:txt][:set]==:on
- show.text(x)
- end
- if x=~/--textile\b/ \
- and @opt.act[:txt_textile][:set]==:on
- show.textile(x)
- end
- if x=~/--asciidoc\b/ \
- and @opt.act[:txt_asciidoc][:set]==:on
- show.asciidoc(x)
- end
- if x=~/--markdown\b/ \
- and @opt.act[:txt_markdown][:set]==:on
- show.markdown(x)
- end
- if x=~/--rst\b/ \
- and @opt.act[:txt_rst][:set]==:on
- show.rst(x)
- end
- if x=~/--xhtml\b/ \
- and @opt.act[:xhtml][:set]==:on
- show.xhtml(x)
- end
- if x=~/--psql\b/ \
- and @opt.act[:psql][:set]==:on
- show.db.psql(x,y)
- end
- if x=~/d\s+--sqlite\b|--sql\b/ \
- and @opt.act[:sqlite_discrete][:set]==:on
- show.db.sqlite_discrete(x,y)
- end
- if x=~/d\[iu\]\s+--sqlite\b/ \
- and @opt.act[:sqlite][:set]==:on
- show.db.sqlite(x,y)
- end
- if x=~/--epub\b/ \
- and @opt.act[:epub][:set]==:on
- show.epub(x)
- end
- if x=~/--html\b/ \
- and (@opt.act[:html][:set]==:on \
- or @opt.act[:html_scroll][:set]==:on \
- or @opt.act[:html_seg][:set]==:on)
- if x =~/scroll/
- if @opt.act[:html_scroll][:set]==:on
- show.html.scroll(x)
- end
- else
- if @opt.act[:html_seg][:set]==:on
- show.html.toc(x)
- end
- end
- end
- if x=~/--texinfo\b/ \
- and @opt.cmd =~/I/
- show.pinfo(x,y)
- end
- if x=~/--manpage\b/ \
- and @opt.act[:manpage][:set]==:on
- show.manpage(x)
- end
- if x=~/--hash-digests\b/ \
- and @opt.cmd =~/N/
- show.hash_digest(x)
- end
- if x=~/--odt\b|--odf\b/ \
- and @opt.act[:odt][:set]==:on
- show.odt(x)
- end
- if x=~/^P/ \
- and @opt.cmd =~/P/
- if @opt.fns =~/\S+?~\S{2}(?:_\S{2})?\.ss[mt]/
- f=y.gsub(/\.pot$/,'.po')
- show.po4a.po(x,f)
- else
- show.po4a.pot(x,f)
- end
- end
- if x=~/--pdf\b/ \
- and (@opt.act[:pdf][:set]==:on \
- or @opt.act[:pdf_p][:set]==:on \
- or @opt.act[:pdf_l][:set]==:on)
- if x =~/portrait/
- if @opt.act[:pdf_p][:set]==:on
- show.pdf.portrait(x)
- end
- else
- if @opt.act[:pdf_l][:set]==:on
- show.pdf.landscape(x)
- end
- end
- end
- if x=~/--sisupod\b/ \
- and @opt.act[:sisupod][:set]==:on
- (@opt.fno =~/\.ssm$/) \
- ? y.gsub(/(?:\~\S{2,3})?(\.ssm.sst\.txz)$/,'.ssm.txz')
- : y.gsub(/(?:\~\S{2,3})?(\.sst\.txz)$/,'\1')
- show.source.pod(x,y)
- end
- if x=~/--source\b/ \
- and @opt.act[:share_source][:set]==:on
- show.source.src(x,y)
- end
- if x=~/--concordance\b/ \
- and @opt.act[:concordance][:set]==:on
- show.html.concordance(x)
- end
- if x=~/--xml-dom\b/ \
- and @opt.act[:xml_dom][:set]==:on
- show.xml.dom(x)
- end
- if x=~/--xml-sax\b/ \
- and @opt.act[:xml_sax][:set]==:on
- show.xml.sax(x)
- end
- if x=~/--docbook-book\b/ \
- and @opt.act[:xml_docbook_book][:set]==:on
- show.xml.docbook_book(x)
- end
- if x=~/--fictionbook\b/ \
- and @opt.act[:xml_fictionbook][:set]==:on
- show.xml.fictionbook(x)
- end
- if x=~/--xml-scaffold-sisu\b/ \
- and @opt.act[:xml_scaffold_structure_sisu][:set]==:on
- show.xml.scaffold_structure_sisu(x)
+ if @opt.fns =~ @m_regular
+ if (@opt.act[:verbose][:set]==:on \
+ || @opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:maintenance][:set]==:on)
+ if @opt.act[:txt][:set]==:on
+ show.report(report_info.text.txt)
+ end
+ if @opt.act[:txt_textile][:set]==:on
+ show.report(report_info.text.textile)
+ end
+ if @opt.act[:txt_asciidoc][:set]==:on
+ show.report(report_info.text.asciidoc)
+ end
+ if @opt.act[:txt_markdown][:set]==:on
+ show.report(report_info.text.markdown)
+ end
+ if @opt.act[:txt_rst][:set]==:on
+ show.report(report_info.text.rst)
+ end
+ if (@opt.act[:html][:set]==:on \
+ or @opt.act[:html_scroll][:set]==:on \
+ or @opt.act[:html_seg][:set]==:on)
+ if @opt.act[:html_scroll][:set]==:on
+ show.report(report_info.html.scroll)
end
- if x=~/--xml-scaffold-collapse\b/ \
- and @opt.act[:xml_scaffold_structure_collapse][:set]==:on
- show.xml.scaffold_structure_collapse(x)
+ if @opt.act[:html_seg][:set]==:on
+ show.report(report_info.html.seg)
end
- if x=~/--qrcode\b/ \
- and @opt.act[:qrcode][:set]==:on
- show.qrcode(x)
+ end
+ if @opt.act[:concordance][:set]==:on
+ show.report(report_info.html.concordance)
+ end
+ if @opt.act[:xhtml][:set]==:on
+ show.report(report_info.xhtml.xhtml)
+ end
+ if @opt.act[:epub][:set]==:on
+ show.report(report_info.xhtml.epub)
+ end
+ if @opt.act[:odt][:set]==:on
+ show.report(report_info.xml.odt)
+ end
+ if @opt.act[:xml_dom][:set]==:on
+ show.report(report_info.xml.dom)
+ end
+ if @opt.act[:xml_sax][:set]==:on
+ show.report(report_info.xml.sax)
+ end
+ if @opt.act[:xml_docbook_book][:set]==:on
+ show.report(report_info.xml.docbook)
+ end
+ if @opt.act[:xml_fictionbook][:set]==:on
+ show.report(report_info.xml.fictionbook)
+ end
+ if @opt.act[:xml_scaffold_structure_sisu][:set]==:on
+ show.report(report_info.xml.scaffold_structure_sisu)
+ end
+ if @opt.act[:xml_scaffold_structure_collapse][:set]==:on
+ show.report(report_info.xml.scaffold_collapse)
+ end
+ if (@opt.act[:pdf][:set]==:on \
+ or @opt.act[:pdf_p][:set]==:on \
+ or @opt.act[:pdf_l][:set]==:on)
+ if @opt.act[:pdf_p][:set]==:on
+ show.report(report_info.pdf.portrait)
end
- if x=~/--sitemap\b/ \
- and @opt.cmd =~/Y/ #BROKEN
- show.xml.sitemap(x)
+ if @opt.act[:pdf_l][:set]==:on
+ show.report(report_info.pdf.landscape)
end
- if x=~/--manifest\b/ \
- and @opt.act[:manifest][:set]==:on
- show.html.manifest(x)
+ end
+ if @opt.act[:psql][:set]==:on
+ show.report(report_info.db.psql)
+ end
+ if @opt.act[:sqlite_discrete][:set]==:on
+ show.report(report_info.db.sqlite_discrete)
+ end
+ if @opt.act[:sqlite][:set]==:on
+ show.report(report_info.db.sqlite)
+ end
+ if @opt.act[:texinfo][:set]==:on
+ show.report(report_info.texinfo)
+ end
+ if @opt.act[:manpage][:set]==:on
+ show.report(report_info.manpage)
+ end
+ if @opt.act[:hash_digests][:set]==:on
+ show.report(report_info.hash_digests)
+ end
+ if @opt.act[:po4a][:set]==:on
+ if @opt.fns =~/\S+?~\S{2}(?:_\S{2})?\.ss[mt]/
+ f=y.gsub(/\.pot$/,'.po')
+ show.po4a.po(x,f)
+ else
+ show.po4a.pot(x,f)
end
end
- if (@opt.act[:verbose_plus][:set]==:on \
- || @opt.act[:maintenance][:set]==:on)
- urls_maintenance(@opt,x,y)
+ if @opt.act[:share_source][:set]==:on
+ show.report(report_info.source)
+ end
+ if @opt.act[:sisupod][:set]==:on
+ show.report(report_info.sisupod)
end
+ if @opt.act[:qrcode][:set]==:on
+ show.report(report_info.qrcode)
+ end
+ if @opt.act[:manifest][:set]==:on
+ show.report(report_info.manifest)
+ end
+ end
+ if (@opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:maintenance][:set]==:on)
+ urls_maintenance(@opt,x,y)
end
end
end
diff --git a/lib/sisu/v5/utils_screen_text_color.rb b/lib/sisu/v5/utils_screen_text_color.rb
index 42b0c698..d50b39b6 100644
--- a/lib/sisu/v5/utils_screen_text_color.rb
+++ b/lib/sisu/v5/utils_screen_text_color.rb
@@ -51,7 +51,7 @@
* Git
<http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
- <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/screen_text_color.rb;hb=HEAD>
+ <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/utils_screen_text_color.rb;hb=HEAD>
* Ralph Amissah
<ralph@amissah.com>
@@ -269,7 +269,7 @@ module SiSU_Screen
blue
end
def result
- puts "\t#{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.blue}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}"
+ puts "\t#{@cX.grey}#{@txt[0]}#{@cX.off} #{@cX.green}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off}"
end
def maintenance
puts "\t#{@cX.grey}#{@txt[0]}#{@cX.off} #{@cX.brown}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}"
diff --git a/lib/sisu/v5/wikispeak.rb b/lib/sisu/v5/wikispeak.rb
index a0fba849..198ea11b 100644
--- a/lib/sisu/v5/wikispeak.rb
+++ b/lib/sisu/v5/wikispeak.rb
@@ -102,7 +102,7 @@ module SiSU_Wikispeak
@ao_array=SiSU_AO::Source.new(@opt).get # ao file drawn here
SiSU_Wikispeak::Source::Scroll.new(@ao_array,@md).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/xhtml.rb b/lib/sisu/v5/xhtml.rb
index 4253e8eb..14c6bfe9 100644
--- a/lib/sisu/v5/xhtml.rb
+++ b/lib/sisu/v5/xhtml.rb
@@ -116,7 +116,7 @@ module SiSU_XHTML
end
SiSU_XHTML::Source::Songsheet.new(@particulars).song
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -140,7 +140,7 @@ module SiSU_XHTML
end
SiSU_Rexml::Rexml.new(@md,@file.place_file.xhtml.dir).xml if @md.opt.act[:maintenance][:set]==:on # test rexml parsing, comment out when not in use #debug
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -310,8 +310,8 @@ WOK
@rcdc=false
@level,@cont,@copen,@xml_contents_close=[],[],[],[]
xml_head
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @xml_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @xml_contents_close[x]='' }
data.each do |dob|
dob=@trans.char_enc.utf8(dob) if @sys.locale =~/utf-?8/i #% utf8
dob=@trans.markup(dob)
@@ -337,6 +337,7 @@ WOK
when 4 then x.heading_body4
when 5 then x.heading_body5
when 6 then x.heading_body6
+ when 7 then x.heading_body7
end
else
if dob.is ==:verse
diff --git a/lib/sisu/v5/xhtml_epub2.rb b/lib/sisu/v5/xhtml_epub2.rb
index 9b110497..ae83214e 100644
--- a/lib/sisu/v5/xhtml_epub2.rb
+++ b/lib/sisu/v5/xhtml_epub2.rb
@@ -135,7 +135,7 @@ module SiSU_XHTML_EPUB2
SiSU_XHTML_EPUB2::Source::Seg.new(@md,data).songsheet
SiSU_XHTML_EPUB2::Source::Output.new(@md).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -148,7 +148,7 @@ module SiSU_XHTML_EPUB2
end
end
end
- SiSU_Env::Clear.new(@opt.cmd,@opt.fns).param_instantiate
+ SiSU_Env::Clear.new(@opt.selections.str,@opt.fns).param_instantiate
@@flag,@@scr,@@seg,@@seg_endnotes,@@seg_subtoc,@@seg_ad={},{},{},{},{},{}
@@seg_total,@@tracker,@@loop_count,@@tablehead,@@number_of_cols=0,0,0,0,0
@@seg_name,@@seg_name_html,@@seg_subtoc_array,@@seg_endnotes_array,@@segtocband,@@tablefoot=Array.new(7){[]}
@@ -268,6 +268,7 @@ module SiSU_XHTML_EPUB2
lv_name='section_a' + @s_a_no.to_s
@nav_no+=1
@nav_no2=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@ -275,7 +276,8 @@ module SiSU_XHTML_EPUB2
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[2]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[1]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[0]
- @ncxo[0],@ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false,false,false,false
+ @ncxo[0],@ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false, false, false, false
@epub.sections(dob_toc,lv_name)
if @level_a_first_occurrence \
&& @make.build.toc?
@@ -293,13 +295,15 @@ module SiSU_XHTML_EPUB2
lv_name='section_b' + @s_b_no.to_s
@nav_no+=1
@nav_no2=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[3]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[2]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[1]
- @ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false,false,false
+ @ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false, false, false
@epub.sections(dob_toc,lv_name)
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
@@ -311,12 +315,14 @@ module SiSU_XHTML_EPUB2
lv_name='section_c' + @s_c_no.to_s
@nav_no+=1
@nav_no2=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[3]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[2]
- @ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false,false
+ @ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false, false
@epub.sections(dob_toc,lv_name)
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
@@ -328,11 +334,13 @@ module SiSU_XHTML_EPUB2
lv_name='section_d' + @s_d_no.to_s
@nav_no+=1
@nav_no3=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[3]
- @ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false
+ @ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false
@epub.sections(dob_toc,lv_name)
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
@@ -344,10 +352,12 @@ module SiSU_XHTML_EPUB2
lv_name=dob_toc.name
@nav_no+=1
@dob_name=dob.name
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
- @ncxo[4],@ncxo[5],@ncxo[6]=true,false,false
+ @ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name)
@@ -358,9 +368,11 @@ module SiSU_XHTML_EPUB2
hashtag='#o' + dob_toc.ocn.to_s
lv_name=@dob_name
@nav_no+=1
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
- @ncxo[5],@ncxo[6]=true,false
+ @ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag)
@@ -371,13 +383,27 @@ module SiSU_XHTML_EPUB2
hashtag='#o' + dob_toc.ocn.to_s
lv_name=@dob_name
@nav_no+=1
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
- @ncxo[6]=true
+ @ncxo[6],@ncxo[7]=
+ true, false
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag)
md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name,hashtag)
SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_6
+ when 7
+ @ncx_cls=[]
+ hashtag='#o' + dob_toc.ocn.to_s
+ lv_name=@dob_name
+ @nav_no+=1
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
+ @ncxo[7]=true
+ @@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc
+ md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag)
+ md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag)
+ md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name,hashtag)
+ SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_7
else nil
end
toc.each do |k,d|
@@ -393,7 +419,7 @@ module SiSU_XHTML_EPUB2
@@toc[:seg] << toc[:seg]
@@toc[:scr] << toc[:seg]
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -594,6 +620,27 @@ module SiSU_XHTML_EPUB2
end
toc
end
+ def level_7
+ dob=@data
+ linkname=dob.obj.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/,'').strip
+ ocn=dob.ocn
+ toc={}
+ if ocn \
+ and ocn !~/#/
+ p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn)
+ lnk_n_txt=%{ <a href="#{@@seg_url}#{Sfx[:epub_xhtml]}#o#{ocn}">
+ #{linkname}
+</a>}
+ txt_obj={ txt: lnk_n_txt }
+ format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj)
+ toc[:seg]=format_toc.lev7
+ title=%{#{p_num.goto}#{linkname}</a>}
+ txt_obj={ txt: title }
+ format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj)
+ toc[:scr]=format_toc.lev7
+ end
+ toc
+ end
end
class ScrollHeadAndSegToc < Toc
def initialize(md='',toc='',links_guide_toc='')
@@ -726,7 +773,7 @@ module SiSU_XHTML_EPUB2
end
out.close
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -741,7 +788,7 @@ module SiSU_XHTML_EPUB2
end
out.close
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -818,7 +865,7 @@ WOK
filename_xhtml.close
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -836,7 +883,7 @@ WOK
filename_xhtml.close
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
diff --git a/lib/sisu/v5/xhtml_epub2_concordance.rb b/lib/sisu/v5/xhtml_epub2_concordance.rb
index 447dd72e..0bdaff3c 100644
--- a/lib/sisu/v5/xhtml_epub2_concordance.rb
+++ b/lib/sisu/v5/xhtml_epub2_concordance.rb
@@ -96,7 +96,7 @@ module SiSU_XHTML_EPUB2_Concordance
SiSU_XHTML_EPUB2_Concordance::Source::Words.new(@particulars).songsheet
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -181,7 +181,7 @@ WOK
@rgx_splitlist=%r{[โ€”.,;:-]+|#{Mx[:nbsp]}+}mi
@rgx_scanlist=%r{#{Mx[:fa_italics_o]}[a-zA-Z0-9"\s]{2,12}#{Mx[:fa_italics_c]}|#{Mx[:fa_bold_o]}[a-zA-Z0-9"\s]{2,12}#{Mx[:fa_bold_c]}|#{Mx[:url_o]}https?://\S+?#{Mx[:url_c]}|file://\S+|<\S+?>|\w+|[a-zA-Z]+}mi
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -195,7 +195,7 @@ WOK
@file_concordance=File.open("#{@path}/content/#{@md.fn[:epub_concord]}",'w')
map_para
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/xhtml_epub2_format.rb b/lib/sisu/v5/xhtml_epub2_format.rb
index 6522378b..5f1f315f 100644
--- a/lib/sisu/v5/xhtml_epub2_format.rb
+++ b/lib/sisu/v5/xhtml_epub2_format.rb
@@ -162,7 +162,7 @@ module SiSU_XHTML_EPUB2_Format
padding-left: 0em;
text-indent: 0mm;
}
- p, h0, h1, h2, h3, h4, h5, h6 {
+ p, h0, h1, h2, h3, h4, h5, h6, h7 {
display: block;
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
@@ -992,18 +992,18 @@ module SiSU_XHTML_EPUB2_Format
font-weight: bold;
}
- h0, h1, h2, h3, h4, h5, h6 {
+ h0, h1, h2, h3, h4, h5, h6, h7 {
font-weight: bold;
line-height: 120%;
text-align: left;
margin-top: 20px;
margin-bottom: 10px;
}
- h4.norm, h5.norm, h6.norm {
+ h4.norm, h5.norm, h6.norm, h7.norm {
margin-top: 10px;
margin-bottom: 0px;
}
- h1.center, h2.center, h3.center, h4.center, h5.center, h6.center {
+ h1.center, h2.center, h3.center, h4.center, h5.center, h6.center, h7.center {
text-align: center;
}
h1 { font-size: 120%; }
@@ -1012,6 +1012,7 @@ module SiSU_XHTML_EPUB2_Format
h4 { font-size: 105%; }
h5 { font-size: 100%; }
h6 { font-size: 100%; }
+ h7 { font-size: 100%; }
h0 { font-size: 80%; }
h1.i {margin-left: 2em;}
@@ -1059,6 +1060,11 @@ module SiSU_XHTML_EPUB2_Format
font-size: 90%;
line-height: 110%;
}
+ h7.toc {
+ margin-left: 7em;
+ font-size: 90%;
+ line-height: 105%;
+ }
.microtoc {
margin-top: 2px;
@@ -1092,6 +1098,11 @@ module SiSU_XHTML_EPUB2_Format
font-weight: normal;
font-size: 90%;
}
+ h7.microtoc {
+ margin-left: 30mm;
+ font-weight: normal;
+ font-size: 85%;
+ }
.subtoc {
margin-right: 34%;
@@ -1109,6 +1120,12 @@ module SiSU_XHTML_EPUB2_Format
margin-top: 0px;
margin-bottom: 0px;
}
+ h7.subtoc {
+ margin-left: 4em;
+ font-size: 70%;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ }
div.substance {
width: 100%;
@@ -1196,10 +1213,10 @@ module SiSU_XHTML_EPUB2_Format
background-color: #f9f9aa;
}
- h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, p.c {
+ h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, h7.c, p.c {
text-align: center
}
- h1.red, h2.red, h3.red, h4.red, h5.red, h6.red {
+ h1.red, h2.red, h3.red, h4.red, h5.red, h6.red, h7.red {
text-align: center;
color: #ff0000;
margin-left: 5mm;
@@ -1208,7 +1225,7 @@ module SiSU_XHTML_EPUB2_Format
margin-bottom: 20px;
margin-right: 15mm;
}
- h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby {
+ h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby, h7.ruby {
text-align: center;
color: #990000;
margin-left: 5mm;
@@ -2043,6 +2060,9 @@ output_epub_cont_seg.close
def seg_heading6
seg_heading_sub('p','bold',@txt)
end
+ def seg_heading7
+ seg_heading_sub('p','bold',@txt)
+ end
def dl #check :trailer
"<dl><b>#{@txt}</b> #{@trailer}</dl>"
end
@@ -2149,6 +2169,9 @@ output_epub_cont_seg.close
def subtoc_lev6
subtoc_lev('h6','subtoc') if @txt
end
+ def subtoc_lev7
+ subtoc_lev('h7','subtoc') if @txt
+ end
def heading_sub(tag,attrib,txt)
txt=txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
%{
@@ -2177,6 +2200,9 @@ output_epub_cont_seg.close
def heading6
heading_sub('p','bold',@txt)
end
+ def heading7
+ heading_sub('h7','bold',@txt)
+ end
def navigation_heading4
%{<table summary="navigation segment heading 4" width=100% bgcolor="#08163f" border="0">
<tr><td align="center">
@@ -2195,6 +2221,11 @@ output_epub_cont_seg.close
#{@txt}
</p>}
end
+ def navigation_heading7
+ %{<p class="bold">
+ #{@txt}
+</p>}
+ end
def navigation_center
%{<p class="centerbold">#{@txt}</p>}
end
@@ -2238,6 +2269,9 @@ output_epub_cont_seg.close
def lev6
lev('h6','toc')
end
+ def lev7
+ lev('h7','toc')
+ end
def lev0 #docinfo
lev('h0','toc')
end
diff --git a/lib/sisu/v5/xhtml_epub2_segments.rb b/lib/sisu/v5/xhtml_epub2_segments.rb
index 917a4f92..98673c8f 100644
--- a/lib/sisu/v5/xhtml_epub2_segments.rb
+++ b/lib/sisu/v5/xhtml_epub2_segments.rb
@@ -146,7 +146,7 @@ WOK
SiSU_XHTML_EPUB2_Seg::Seg.new.cleanup # (((( added ))))
#### (((( END )))) ####
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -372,6 +372,8 @@ WOK
sto.seg_heading5
elsif dob.ln==6
sto.seg_heading6
+ elsif dob.ln==7
+ sto.seg_heading7
end
elsif dob.is==:para
if dob.indent \
@@ -486,7 +488,7 @@ WOK
end
end
if dob.is==:heading \
- and dob.ln.to_s =~/^[56]/
+ and dob.ln.to_s =~/^[5-7]/
case dob.ln
when 5
format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob)
@@ -494,6 +496,9 @@ WOK
when 6
format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob)
subtoc=format_seg.subtoc_lev6 #keep and make available, this is the subtoc
+ when 7
+ format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob)
+ subtoc=format_seg.subtoc_lev7 #keep and make available, this is the subtoc
end
@@seg_subtoc_array << subtoc
end
diff --git a/lib/sisu/v5/xhtml_epub2_tune.rb b/lib/sisu/v5/xhtml_epub2_tune.rb
index aa748cf6..c6d9f165 100644
--- a/lib/sisu/v5/xhtml_epub2_tune.rb
+++ b/lib/sisu/v5/xhtml_epub2_tune.rb
@@ -141,7 +141,7 @@ module SiSU_XHTML_EPUB2_Tune
end
SiSU_XHTML_EPUB2_Tune::Tune.new(@data,@md).output
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/xml_docbook5.rb b/lib/sisu/v5/xml_docbook5.rb
index 8132a356..2a7f2fb0 100644
--- a/lib/sisu/v5/xml_docbook5.rb
+++ b/lib/sisu/v5/xml_docbook5.rb
@@ -83,12 +83,12 @@ module SiSU_XML_Docbook_Book
report
SiSU_XML_Docbook_Book::Source::Scroll.new(@ao_array,@md).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
- #SiSU_Env::CreateSite.new(@opt.cmd).cp_css
- #SiSU_Env::CreateSite.new(@opt.cmd).cp_base_images
+ #SiSU_Env::CreateSite.new(@opt.selections.str).cp_css
+ #SiSU_Env::CreateSite.new(@opt.selections.str).cp_base_images
Dir.chdir(@opt.f_pth[:pth])
end
end
diff --git a/lib/sisu/v5/xml_dom.rb b/lib/sisu/v5/xml_dom.rb
index a602eee3..fb7d3cb9 100644
--- a/lib/sisu/v5/xml_dom.rb
+++ b/lib/sisu/v5/xml_dom.rb
@@ -117,7 +117,7 @@ module SiSU_XML_DOM
end
SiSU_XML_DOM::Source::Songsheet.new(@particulars).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -141,7 +141,7 @@ module SiSU_XML_DOM
end
SiSU_Rexml::Rexml.new(@md,@file.place_file.xml_dom.dir).xml if @md.opt.act[:maintenance][:set]==:on # test rexml parsing, comment out when not in use #debug
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -226,12 +226,15 @@ WOK
WOK
if lv==4
@copen[1]=true
- @copen[2]=@copen[3]=false
+ @copen[2]=@copen[3]=@copen[4]=false
elsif lv==5
@copen[2]=true
- @copen[3]=false
+ @copen[3]=@copen[4]=false
elsif lv==6
@copen[3]=true
+ @copen[4]=false
+ elsif lv==7
+ @copen[4]=true
end
end
def xml_structure(dob,type='norm')
@@ -259,21 +262,24 @@ WOK
@cont[2]=false if @cont[2]
@cont[3]=false if @cont[3]
####### attempt to close contents
- if @copen[3] # 6~
+ if @copen[4] # 4~
+ [4,3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ @copen[1]=@copen[2]=@copen[3]=@copen[4]=false
+ elsif @copen[3] # 3~
[3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
@copen[1]=@copen[2]=@copen[3]=false
- elsif @copen[2] # 5~
+ elsif @copen[2] # 2~
[2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
@copen[1]=@copen[2]=@copen[3]=false
- elsif @copen[1] # 4~
+ elsif @copen[1] # 1~
[1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
@copen[1]=@copen[2]=@copen[3]=false
end
@@xml[:body] << "#{Ax[:tab]*y}</heading#{x}>" if @level[x]
@level[x]=false
end
- when 4..6
- 6.downto(lv) do |x|
+ when 4..7
+ 7.downto(lv) do |x|
if @level[x]==true
@xml_contents_close[x]=''
end
@@ -284,42 +290,61 @@ WOK
case lv
when 4
@@xml[:body] << "#{Ax[:tab]*5}</content>" if @cont[1]
- if @copen[3]==true # 6~
+ if @copen[4]==true # 4~
+ [4,3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ elsif @copen[3]==true # 3~
[3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
- elsif @copen[2]==true # 5~
+ elsif @copen[2]==true # 2~
[2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
- elsif @copen[1]==true # 4~
+ elsif @copen[1]==true # 1~
[1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
end
@cont[1]=true
when 5
- if @cont[2] \
+ if @cont[3] \
+ or @cont[2] \
or @cont[1]
@@xml[:body] << "#{Ax[:tab]*5}</content>"
end
- if @copen[3]==true #6~
+ if @copen[4]==true #4~
+ [4,3,2].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ elsif @copen[3]==true #3~
[3,2].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
- elsif @copen[2]==true #5~
+ elsif @copen[2]==true #2~
[2].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
end
@cont[2]=true
when 6
- if @cont[3] \
+ if @cont[4] \
+ or @cont[3] \
or @cont[2] \
or @cont[1]
@@xml[:body] << "#{Ax[:tab]*5}</content>"
end
- if @copen[3] #6{
+ if @copen[4] #4~
+ [4,3].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ elsif @copen[3] #3~
[3].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
end
@cont[3]=true
+ when 7
+ if @cont[4] \
+ or @cont[3] \
+ or @cont[2] \
+ or @cont[1]
+ @@xml[:body] << "#{Ax[:tab]*5}</content>"
+ end
+ if @copen[4] #4~
+ [4].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ end
+ @cont[4]=true
end
end
xml_el ||=''
xml_element(dob,xml_el,xml_content,type)
if lv
@level[lv]=true
- ((lv+1)..6).each { |x| @level[x]=false }
+ ((lv+1)..7).each { |x| @level[x]=false }
end
end
def add_to_body(dob,type='norm')
@@ -367,8 +392,8 @@ WOK
@level,@cont,@copen,@xml_contents_close=[],[],[],[]
@rcdc=false
type='norm'
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @xml_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @xml_contents_close[x]='' }
xml_head
data.each do |dob|
@trans.char_enc.utf8(dob) if @sys.locale =~/utf-?8/i #% utf8
@@ -420,6 +445,10 @@ WOK
type="heading_content_#{dob.lv}"
xml_structure(dob,type)
dob.obj=x.heading_body6
+ elsif dob.ln==7
+ type="heading_content_#{dob.lv}"
+ xml_structure(dob,type)
+ dob.obj=x.heading_body7
end
else
dob.ocn
@@ -486,7 +515,7 @@ WOK
end
end
@content_flag=true
- 6.downto(4) do |x|
+ 7.downto(4) do |x|
y=x - 1; v=x - 3
if @level[x]==true #2004w36 bug fix? watch/test previous logic broke on free.for.all @coontent_flag introduced
if @content_flag==true
diff --git a/lib/sisu/v5/xml_fictionbook2.rb b/lib/sisu/v5/xml_fictionbook2.rb
index 74afc6ad..c7c54b30 100644
--- a/lib/sisu/v5/xml_fictionbook2.rb
+++ b/lib/sisu/v5/xml_fictionbook2.rb
@@ -82,7 +82,7 @@ module SiSU_XML_Fictionbook
report
SiSU_XML_Fictionbook::Source::Scroll.new(@ao_array,@md).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/xml_format.rb b/lib/sisu/v5/xml_format.rb
index 871ec487..fb2cff88 100644
--- a/lib/sisu/v5/xml_format.rb
+++ b/lib/sisu/v5/xml_format.rb
@@ -1115,6 +1115,9 @@ WOK
def heading_body6
heading_normal('h6','norm')
end
+ def heading_body7
+ heading_normal('h7','norm')
+ end
def title_header(tag,attrib)
%{
<div class="content">
@@ -1291,6 +1294,9 @@ WOK
def subtoc_lev6
subtoc_lev('h6','subtoc') if @txt
end
+ def subtoc_lev7
+ subtoc_lev('h7','subtoc') if @txt
+ end
#% para sisu
def header_sub(tag,attrib)
@txt=@txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
@@ -1303,12 +1309,6 @@ WOK
</div>
}
end
- def header5
- header_sub('p','bold')
- end
- def header6
- header_sub('p','bold')
- end
def header4
%{
<div class="substance">
@@ -1320,6 +1320,15 @@ WOK
</div>
}
end
+ def header5
+ header_sub('p','bold')
+ end
+ def header6
+ header_sub('p','bold')
+ end
+ def header7
+ header_sub('p','bold')
+ end
def navigation_header4
%{<table summary="navigation segment header 4" width=100% bgcolor="#08163f" border="0">
<tr><td align="center">
@@ -1338,6 +1347,11 @@ WOK
#{@txt}
</p>}
end
+ def navigation_header7
+ %{<p class="bold">
+ #{@txt}
+</p>}
+ end
def navigation_center
"<center>#{@txt}</center>"
end
@@ -1381,6 +1395,10 @@ WOK
def lev6
lev('h6','toc')
end
+ def lev7
+ lev('h7','toc')
+ #lev('b','toc')
+ end
def lev0 #docinfo
lev('h0','toc')
end
@@ -1402,6 +1420,9 @@ WOK
def mini_lev6
lev('h6','minitoc')
end
+ def mini_lev7
+ lev('h7','minitoc')
+ end
def mini_lev0 #docinfo
lev('h0','minitoc')
end
diff --git a/lib/sisu/v5/xml_odf_odt.rb b/lib/sisu/v5/xml_odf_odt.rb
index 55c8d7ed..9598e189 100644
--- a/lib/sisu/v5/xml_odf_odt.rb
+++ b/lib/sisu/v5/xml_odf_odt.rb
@@ -111,13 +111,15 @@ module SiSU_XML_ODF_ODT
SiSU_Screen::Ansi.new(
@opt.act[:color_state][:set],
@opt.fns,
- "file://#{@md.file.output_path.odt.dir}/#{@md.file.base_filename.odt}"
+ 'file://' \
+ + @md.file.output_path.odt.dir + '/' \
+ + @md.file.base_filename.odt
).flow
end
end
SiSU_XML_ODF_ODT::Source::Scroll.new(@particulars).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -150,7 +152,7 @@ module SiSU_XML_ODF_ODT
unless (@md.opt.act[:verbose_plus][:set]==:on \
|| @md.opt.act[:maintenance][:set]==:on)
if @env.processing_path.odt =~/od[ft]/
- #p "rm -r #{@env.processing_path.odt}" if @md.opt.cmd =~/v/
+ #p "rm -r #{@env.processing_path.odt}" if @md.opt.selections.str =~/v/
FileUtils::rm_r(@env.processing_path.odf_pth)
#system("rm -r #{@env.processing_path.odt}")
end
@@ -173,16 +175,19 @@ module SiSU_XML_ODF_ODT
if x =~/\S+/ then @n << x
end
end
- else @n << n
+ else @n << n
end
end
end
def odf_book_idx
if @md.book_idx
- idx_arr,idx_raw=[],SiSU_Particulars::CombinedSingleton.instance.get_idx_raw(@md.opt).raw_idx
+ idx_arr=[]
+ idx_raw=SiSU_Particulars::CombinedSingleton.
+ instance.get_idx_raw(@md.opt).raw_idx
idx_raw.each do |x|
x=if x.is_a?(String)
- SiSU_XML_ODF_ODT_Format::FormatBookIndex.new(x).book_idx_bookmark
+ SiSU_XML_ODF_ODT_Format::FormatBookIndex.new(x).
+ book_idx_bookmark
else nil
end
idx_arr << x.strip if x.is_a?(String)
@@ -191,7 +196,8 @@ module SiSU_XML_ODF_ODT
end
end
def odf_metadata
- @@odf[:metadata]=SiSU_Metadata::Summary.new(@md).odf.metadata
+ @@odf[:metadata]=SiSU_Metadata::Summary.new(@md).
+ odf.metadata
end
def odf_tail
manifest="#{@md.file.output_path.manifest.url}/#{@md.file.base_filename.manifest}"
@@ -224,19 +230,22 @@ module SiSU_XML_ODF_ODT
@@docstart=false
if dob.use_ != :dummy
dob.tmp=dob.obj
- dob.obj=%{#{breakpage}<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}</text:h>}
+ dob.obj=%{#{breakpage}<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">} \
+ + %{#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}</text:h>}
else dob.tmp,dob.obj='',''
end
dob
end
def toc(dob,p_num)
- hardspace=(dob.lv =~/[A-C]/i) \
+ hardspace=(dob.lv =~/[A-D]/i) \
? '<text:p text:style-name="Standard"/>'
: ''
toc_heading=dob.ocn \
- ? %{<text:bookmark-ref text:reference-format="text" text:ref-name="#{dob.ocn}">#{dob.tmp}</text:bookmark-ref>}
+ ? (%{<text:bookmark-ref text:reference-format="text" text:ref-name="#{dob.ocn}">} \
+ + %{#{dob.tmp}</text:bookmark-ref>})
: dob.tmp
- dob.obj=%{<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">#{toc_heading}</text:h>#{hardspace}}
+ dob.obj=%{<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">} \
+ + %{#{toc_heading}</text:h>#{hardspace}}
dob
end
def image_src(i)
@@ -253,7 +262,9 @@ module SiSU_XML_ODF_ODT
@md.opt.act[:color_state][:set],
"ERROR - image:",
%{"#{i}" missing},
- "search locations: #{@env.path.image_source_include_local},#{@env.path.image_source_include_remote} and #{@env.path.image_source_include}"
+ "search locations: #{@env.path.image_source_include_local}," \
+ + "#{@env.path.image_source_include_remote} and" \
+ + "#{@env.path.image_source_include}"
).error2 unless @md.opt.act[:quiet][:set]==:on
nil
end
@@ -271,7 +282,9 @@ module SiSU_XML_ODF_ODT
@md.opt.act[:color_state][:set],
"ERROR - image:",
%{"#{i}" missing},
- "search locations: #{@env.path.image_source_include_local},#{@env.path.image_source_include_remote} and #{@env.path.image_source_include}"
+ "search locations: #{@env.path.image_source_include_local}," \
+ + "#{@env.path.image_source_include_remote} and" \
+ + "#{@env.path.image_source_include}"
).error2 unless @md.opt.act[:quiet][:set]==:on
nil
end
@@ -280,8 +293,10 @@ module SiSU_XML_ODF_ODT
# copy image to od image directory (unless exists)
# divide pixel dimension by 37.79485 and retain 3 decimal places
m=img[1]
- i=/^(\S+?\.(?:png|jpg|gif))/.match(m).captures.join if m =~/^(\S+?\.(?:png|jpg|gif))/
- c=/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/.match(m).captures.join if m =~/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/
+ i=/^(\S+?\.(?:png|jpg|gif))/.match(m).captures.join \
+ if m =~/^(\S+?\.(?:png|jpg|gif))/
+ c=/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/.match(m).captures.join \
+ if m =~/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/
w,h=/\s(\d+)x(\d+)/.match(m).captures if m =~/\s\d+x\d+/
w=(w.to_i/37.79485).to_s
h=(h.to_i/37.79485).to_s
@@ -290,7 +305,10 @@ module SiSU_XML_ODF_ODT
image_source=image_src(i)
if image_source
if FileTest.file?("#{image_source}/#{i}")
- FileUtils::cp("#{image_source}/#{i}","#{@env.processing_path.odt}/Pictures/#{i}")
+ FileUtils::cp(
+ "#{image_source}/#{i}",
+ "#{@env.processing_path.odt}/Pictures/#{i}"
+ )
else STDERR.puts %{\t*WARN* did not find image - "#{image_source}/#{i}" [#{__FILE__}:#{__LINE__}]}
end
end
@@ -325,7 +343,8 @@ module SiSU_XML_ODF_ODT
def text_link_odf(txt,url,trail)
txt=txt.gsub(/(\\\+)/,'+') #this is convoluted, and risky :-(
url=url.gsub(/(\\\+)/,'+') #this is convoluted, and risky :-(
- map_nametags=SiSU_Particulars::CombinedSingleton.instance.get_map_nametags(@md).nametags_map
+ map_nametags=SiSU_Particulars::CombinedSingleton.
+ instance.get_map_nametags(@md).nametags_map
t=case url
when /^https?:/
%{<text:a xl:type="simple" xl:href="#{url}">#{txt.strip}</text:a>#{trail}}
@@ -342,7 +361,8 @@ module SiSU_XML_ODF_ODT
end
t=map_nametags[url] \
&& map_nametags[url][:segname] \
- ? %{<text:a xl:type="simple" xl:href="#{@env.url.root}/#{@md.fnb}/#{map_nametags[url][:segname]}#{Sfx[:html]}##{url}">#{txt.strip}</text:a>#{trail}}
+ ? (%{<text:a xl:type="simple" xl:href="#{@env.url.root}/#{@md.fnb}/#{map_nametags[url][:segname]}#{Sfx[:html]}##{url}">} \
+ + %{#{txt.strip}</text:a>#{trail}})
: %{#{txt.strip}#{trail}}
end
t
@@ -359,7 +379,8 @@ module SiSU_XML_ODF_ODT
txt=txt.gsub(/([)(\]\[])/,"\\\\\\1").
gsub(/([+?*])/,"\\\\\\1") # problems with +
url=url.gsub(/([+?])/,"\\\\\\1") # problems with +
- dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:url_o]}#{url}#{Mx[:url_c]}/m,text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
+ dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:url_o]}#{url}#{Mx[:url_c]}/m,
+ text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
gsub(/\\([)(\]\[?])/,'\1') #clumsy fix
end
m=nil
@@ -374,7 +395,8 @@ module SiSU_XML_ODF_ODT
txt=txt.gsub(/([)(\]\[])/,"\\\\\\1").
gsub(/([+?*])/,"\\\\\\1") # problems with +
url=url.gsub(/([+?])/,"\\\\\\1") # problems with +
- dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,text_link_odf_bookmark(txt,url,trail)). #make sure trailing ']' are not caught in url
+ dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,
+ text_link_odf_bookmark(txt,url,trail)). #make sure trailing ']' are not caught in url
gsub(/\\([)(\]\[?])/,'\1') #clumsy fix
end
m=nil
@@ -387,7 +409,8 @@ module SiSU_XML_ODF_ODT
m.each do |i|
txt,url,trail=i[1],i[2]
txt=txt.gsub(/([)(\]\[])/,"\\\\\\1")
- dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
+ dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,
+ text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
gsub(/\\([)(\]\[?])/,'\1') #clumsy fix
end
m=nil
@@ -431,11 +454,13 @@ module SiSU_XML_ODF_ODT
@astx||=10000
@astxs||=20000
if str =~/#{Mx[:en_a_o]}\d+\s+/
- str=str.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/,'<text:note text:id="ftn\1" text:note-class="footnote"><text:note-citation>\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>')
+ str=str.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/,
+ '<text:note text:id="ftn\1" text:note-class="footnote"><text:note-citation>\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>')
end
if str =~/#{Mx[:en_a_o]}([*]+)\s+/
a=$1.gsub(/([*])/,"\\\\\\1")
- str=str.gsub(/#{Mx[:en_a_o]}([*]+)\s+(.+?)#{Mx[:en_a_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
+ str=str.gsub(/#{Mx[:en_a_o]}([*]+)\s+(.+?)#{Mx[:en_a_c]}/,
+ %{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
@astxs+=1
end
if str=~/#{Mx[:en_a_o]}[*+]+\s/
@@ -444,7 +469,8 @@ module SiSU_XML_ODF_ODT
a=x[0].gsub(/([*+])/,"\\\\\\1")
str=group_clean(str)
str=footnote_urls(str)
- str=str.gsub(/#{Mx[:en_a_o]}(#{a})\s+(.+?)#{Mx[:en_a_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
+ str=str.gsub(/#{Mx[:en_a_o]}(#{a})\s+(.+?)#{Mx[:en_a_c]}/,
+ %{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
@astx+=1
end
end
@@ -454,7 +480,8 @@ module SiSU_XML_ODF_ODT
a=x[0].gsub(/([*+])/,"\\\\\\1")
str=group_clean(str)
str=footnote_urls(str)
- str=str.gsub(/#{Mx[:en_b_o]}(#{a})\s+(.+?)#{Mx[:en_b_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
+ str=str.gsub(/#{Mx[:en_b_o]}(#{a})\s+(.+?)#{Mx[:en_b_c]}/,
+ %{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
@astx+=1
end
end
@@ -495,7 +522,8 @@ module SiSU_XML_ODF_ODT
dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each_with_index do |parablock,i|
set_ref=(i==0) ? "#{p_num[:set_ref]}#{set_bookmark_tag(dob)}" : ''
parablock=group_clean(parablock)
- parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,'<text:a xl:type="simple" xl:href="\1">').
+ parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,
+ '<text:a xl:type="simple" xl:href="\1">').
gsub(/&lt;(\/text:a)&gt;/,'<\1>').
gsub(/&lt;(text:note text:id=.+?)&gt;/,'<\1>').
gsub(/&lt;(text:p text:style-name="Footnote")&gt;/,'<\1>').
@@ -519,13 +547,15 @@ module SiSU_XML_ODF_ODT
dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each_with_index do |parablock,i|
set_ref=(i==0) ? "#{p_num[:set_ref]}#{set_bookmark_tag(dob)}" : ''
parablock=group_clean(parablock)
- parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,'<text:a xl:type="simple" xl:href="\1">').
+ parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,
+ '<text:a xl:type="simple" xl:href="\1">').
gsub(/&lt;(\/text:a)&gt;/,'<\1>').
gsub(/&lt;(text:note text:id=.+?)&gt;/,'<\1>').
gsub(/&lt;(text:p text:style-name="Footnote")&gt;/,'<\1>').
gsub(/&lt;(\/?text:(?:note-citation|note-body|note|p))&gt;/,'<\1>')
parablock=footnote(parablock)
- parray << %{<text:p text:style-name="P_group">#{set_ref}#{parablock}</text:p>} if parablock =~/\S+/
+ parray << %{<text:p text:style-name="P_group">#{set_ref}#{parablock}</text:p>} \
+ if parablock =~/\S+/
end
dob.obj=parray.join \
+ %{<text:p text:style-name="P_group">#{p_num[:display]}</text:p>} \
@@ -593,7 +623,7 @@ module SiSU_XML_ODF_ODT
if dob.is==:heading
@@odf[:body] << heading(dob,p_num).obj << break_line*2
if SiSU_Env::ProcessingSettings.new(md).build.toc?
- if dob.lv =~/[A-C1]/i
+ if dob.lv =~/[A-D1]/i
@@odf[:toc] << toc(dob,p_num).obj
end
end
@@ -623,8 +653,8 @@ module SiSU_XML_ODF_ODT
dir.path.odt_bld
@data_mod,@endnotes,@level,@cont,@copen,@odf_contents_close=Array.new(6){[]}
@rcdc=false
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @odf_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @odf_contents_close[x]='' }
odf_tail #($1,$2)
bullet=image_src('bullet_09.png')
if bullet
@@ -636,7 +666,7 @@ module SiSU_XML_ODF_ODT
odf_book_idx
odf_metadata
data.each do |dob|
- #p dob.obj if dob.obj =~safe_characters and @md.opt.cmd =~/V/ #KEEP
+ #p dob.obj if dob.obj =~safe_characters and @md.opt.selections.str =~/V/ #KEEP
dob.obj='' if dob.obj =~/#{Mx[:lv_o]}\d+:.*?#{Mx[:lv_c]}.+?#{Mx[:pa_non_object_dummy_heading]}/ #fix Mx[:lv_o]
para_array=[]
dob.obj=dob.obj.gsub(/</,'&lt;').gsub(/>/,'&gt;')
@@ -668,7 +698,8 @@ module SiSU_XML_ODF_ODT
dob.obj=dob.obj.gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'<del>\1</del>').
gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'<ins>\1</ins>').
gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'<cite>\1</cite>').
- gsub(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/,'<text:bookmark-start text:name="\1"/><text:bookmark-end text:name="\1"/>'). #check
+ gsub(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/,
+ '<text:bookmark-start text:name="\1"/><text:bookmark-end text:name="\1"/>'). #check
gsub(/#{Mx[:mk_o]}#([a-zA-Z]+)#{Mx[:mk_c]}/,'&\1;').
gsub(/#{Mx[:mk_o]}(#[0-9]+)#{Mx[:mk_c]}/,'&\1;').
gsub(/#{Mx[:mk_o]}[~-]##{Mx[:mk_c]}/,'')
@@ -706,7 +737,8 @@ module SiSU_XML_ODF_ODT
wordlist=dob.obj.scan(/\S+/)
dob.obj=tidywords(wordlist).join(' ').strip
@rcdc=true if @rcdc==false \
- and (dob.obj =~/~metadata/ or dob =~/#{Mx[:lv_o]}1:meta#{Mx[:lv_x]}\s*Document Information/) #fix Mx[:lv_o]
+ and (dob.obj =~/~metadata/ \
+ or dob =~/#{Mx[:lv_o]}1:meta#{Mx[:lv_x]}\s*Document Information/) #fix Mx[:lv_o]
if dob.is !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ #check
if defined? dob.ocn and dob.ocn =~/\d+/
@p_num=SiSU_XML_ODF_ODT_Format::ParagraphNumber.new(@make,dob.ocn)
@@ -835,7 +867,8 @@ WOK
end
od.close
opendoc=@md.file.base_filename.odt #watch where output by language
- FileUtils::mkdir_p(@md.file.output_path.odt.dir) unless FileTest.directory?(@md.file.output_path.odt.dir)
+ FileUtils::mkdir_p(@md.file.output_path.odt.dir) \
+ unless FileTest.directory?(@md.file.output_path.odt.dir)
if FileTest.directory?(@env.processing_path.odt) \
and SiSU_Env::SystemCall.new.zip
pwd=Dir.pwd
diff --git a/lib/sisu/v5/xml_odf_odt_format.rb b/lib/sisu/v5/xml_odf_odt_format.rb
index bfbd075c..90ca1cba 100644
--- a/lib/sisu/v5/xml_odf_odt_format.rb
+++ b/lib/sisu/v5/xml_odf_odt_format.rb
@@ -166,6 +166,8 @@ module SiSU_XML_ODF_ODT_Format
end
def heading_body6
end
+ def heading_body7
+ end
end
class Table
@@tablehead,@@table_counter=0,0 #reinitialise on new file
diff --git a/lib/sisu/v5/xml_sax.rb b/lib/sisu/v5/xml_sax.rb
index 58719798..69dc39a3 100644
--- a/lib/sisu/v5/xml_sax.rb
+++ b/lib/sisu/v5/xml_sax.rb
@@ -116,7 +116,7 @@ module SiSU_XML_SAX
end
SiSU_XML_SAX::Source::Songsheet.new(@particulars).song
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -141,7 +141,7 @@ module SiSU_XML_SAX
end
SiSU_Rexml::Rexml.new(@md,@file.place_file.xml_sax.dir).xml if @md.opt.act[:maintenance][:set]==:on # test rexml parsing, comment out when not in use #debug
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -333,8 +333,8 @@ WOK
@endnotes,@level,@cont,@copen,@xml_contents_close=[],[],[],[],[]
@rcdc=false
xml_head
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @xml_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @xml_contents_close[x]='' }
data.each do |dob|
@trans.char_enc.utf8(dob) if @sys.locale =~/utf-?8/i #% utf8
dob=@trans.markup(dob)
@@ -361,6 +361,7 @@ WOK
when 4 then x.heading_body4
when 5 then x.heading_body5
when 6 then x.heading_body6
+ when 7 then x.heading_body7
end
else
if dob.is==:verse
@@ -415,7 +416,7 @@ WOK
dob.obj=dob.obj.gsub(/#{Mx[:pa_o]}:\S+#{Mx[:pa_c]}/,'') if dob.obj
end
end
- 6.downto(4) do |x|
+ 7.downto(4) do |x|
y=x - 1; v=x - 3
@@xml[:body] << "#{Ax[:tab]*5}</content>\n#{Ax[:tab]*y}</contents#{v}>" if @level[x]==true
end
@@ -423,7 +424,7 @@ WOK
y=x - 1
@@xml[:body] << "#{Ax[:tab]*y}</heading#{x}>" if @level[x]==true
end
- #6.downto(1) { |x| y=x - 1; @@xml[:body] << "#{Ax[:tab]*y}</level #{x}>" if @level[x]==true }
+ #7.downto(1) { |x| y=x - 1; @@xml[:body] << "#{Ax[:tab]*y}</level #{x}>" if @level[x]==true }
end
def pre
rdf=SiSU_XML_Tags::RDF.new(@md)
diff --git a/lib/sisu/v5/xml_scaffold_structure_collapsed.rb b/lib/sisu/v5/xml_scaffold_structure_collapsed.rb
index f36c937f..25a3dea0 100644
--- a/lib/sisu/v5/xml_scaffold_structure_collapsed.rb
+++ b/lib/sisu/v5/xml_scaffold_structure_collapsed.rb
@@ -79,7 +79,7 @@ module SiSU_XML_Scaffold_Structure_Collapse
@md,@ao_array=@particulars.md,@particulars.ao_array
SiSU_XML_Scaffold_Structure_Collapse::Source::Scroll.new(@ao_array,@md).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/xml_scaffold_structure_sisu.rb b/lib/sisu/v5/xml_scaffold_structure_sisu.rb
index 44344328..40df4fa8 100644
--- a/lib/sisu/v5/xml_scaffold_structure_sisu.rb
+++ b/lib/sisu/v5/xml_scaffold_structure_sisu.rb
@@ -79,7 +79,7 @@ module SiSU_XML_Scaffold_Structure_Sisu
@md,@ao_array=@particulars.md,@particulars.ao_array
SiSU_XML_Scaffold_Structure_Sisu::Source::Scroll.new(@ao_array,@md).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/zap.rb b/lib/sisu/v5/zap.rb
index 75707247..487d1fa5 100644
--- a/lib/sisu/v5/zap.rb
+++ b/lib/sisu/v5/zap.rb
@@ -75,7 +75,7 @@ module SiSU_Zap
unless @opt.act[:quiet][:set]==:on
tell=SiSU_Screen::Ansi.new(
@opt.act[:color_state][:set],
- "Clean files related to processing #{@opt.cmd} ->",
+ "Clean files related to processing #{@opt.selections.str} ->",
"#{@opt.fns} -> #{zap_path}"
)
tell.warn
diff --git a/lib/sisu/v6/ao_doc_str.rb b/lib/sisu/v6/ao_doc_str.rb
index 2a96abb7..67670a55 100644
--- a/lib/sisu/v6/ao_doc_str.rb
+++ b/lib/sisu/v6/ao_doc_str.rb
@@ -1223,7 +1223,7 @@ module SiSU_AO_DocumentStructureExtract
end
def structure_info
def lv
- %w[A~ B~ C~ D~ 1 2 3]
+ %w[A~ B~ C~ D~ 1 2 3 4]
end
def possible_parents(child)
case child
@@ -1234,6 +1234,7 @@ module SiSU_AO_DocumentStructureExtract
when /1/ then 'A~, B~, C~, D~'
when /2/ then '1'
when /3/ then '2'
+ when /4/ then '3'
end
end
def possible_children(parent)
@@ -1244,20 +1245,21 @@ module SiSU_AO_DocumentStructureExtract
when /D~/ then '1'
when /1/ then '2'
when /2/ then '3'
- when /3/ then 'none'
+ when /3/ then '4'
+ when /4/ then 'none'
end
end
self
end
def document_structure_check_info(node,node_parent,status=:ok)
- node_ln=/^([0-6])/.match(node)[1].to_i
- node_parent_ln=/^([0-6])/.match(node_parent)[1].to_i
+ node_ln=/^([0-7])/.match(node)[1].to_i
+ node_parent_ln=/^([0-7])/.match(node_parent)[1].to_i
if status==:error \
or @md.opt.act[:maintenance][:set]==:on
puts %{node: #{node}, parent node: #{node_parent} #{status.upcase}}
if status==:error
- node_ln=/^([0-6])/.match(node)[1].to_i
- node_parent_ln=/^([0-6])/.match(node_parent)[1].to_i
+ node_ln=/^([0-7])/.match(node)[1].to_i
+ node_parent_ln=/^([0-7])/.match(node_parent)[1].to_i
STDERR.puts %{current level: #{structure_info.lv[node_ln]} (possible parent levels: #{structure_info.possible_parents(structure_info.lv[node_ln])})
parent level: #{structure_info.lv[node_parent_ln]} (possible child levels: #{structure_info.possible_children(structure_info.lv[node_parent_ln])})
SKIPPED processing file: [#{@md.opt.lng}] "#{@md.fns}"}
@@ -1297,12 +1299,12 @@ SKIPPED processing file: [#{@md.opt.lng}] "#{@md.fns}"
required_headers_present?
data=@data
@o_array=[]
- node=ocn=ocn_dv=ocn_sp=ocnh=ocnh0=ocnh1=ocnh2=ocnh3=ocnh4=ocnh5=ocnh6=ocno=ocnp=ocnt=ocnc=ocng=ocni=ocnu=0 # h heading, o other, t table, g group, i image
+ node=ocn=ocn_dv=ocn_sp=ocnh=ocnh0=ocnh1=ocnh2=ocnh3=ocnh4=ocnh5=ocnh6=ocnh7=ocno=ocnp=ocnt=ocnc=ocng=ocni=ocnu=0 # h heading, o other, t table, g group, i image
regex_exclude_ocn_and_node = /#{Rx[:meta]}|^@\S+?:\s|^4~endnotes|^#{Mx[:lv_o]}4:endnotes#{Mx[:lv_c]}|^\^~ |<:e[:_]\d+?>|^<:\#|<:- |<[:!]!4|<hr width|#{Mx[:br_endnotes]}|\A\s*\Z/mi #ocn here #&nbsp; added with Tune.code #ยก
- parent=node1=node2=node3=node4=node5=node6=nil
+ parent=node1=node2=node3=node4=node5=node6=node7=nil
node0='0:0;0'
@collapsed_lv0=0
- @lev_occurences={ a: 0, b: 0, c: 0, d: 0, l1: 0, l2: 0, l3: 0 }
+ @lev_occurences={ a: 0, b: 0, c: 0, d: 0, l1: 0, l2: 0, l3: 0, l4: 0 }
data.each do |dob|
h={}
if (dob.obj !~ regex_exclude_ocn_and_node || dob.is==:code) \
@@ -1336,7 +1338,8 @@ SKIPPED processing file: [#{@md.opt.lng}] "#{@md.fns}"
or ln.to_s =~@md.lv3 \
or ln.to_s =~@md.lv4 \
or ln.to_s =~@md.lv5 \
- or ln.to_s =~@md.lv6)
+ or ln.to_s =~@md.lv6 \
+ or ln.to_s =~@md.lv7)
if not dob.obj =~/~#|-#/
ocnh+=1
end
@@ -1523,7 +1526,7 @@ or this level should be level :B~ rather than #{dob.lv}}
warning_incorrect_parent_level_or_level(dob.obj)
puts "parent is level 4~ & this level #{dob.lv}
either parent should be level 5~
-or this level should be 5~ rather #{dob.lv}" #level 6
+or this level should be 5~ rather #{dob.lv}"
document_structure_check_info(node6,node4,:error)
@collapsed_lv6=@collapsed_lv4+1
node4
@@ -1549,6 +1552,59 @@ or this level should be 5~ rather #{dob.lv}" #level 6
end
collapsed_level=@collapsed_lv6
node,ocn_sp=node6,"h#{ocnh}"
+ elsif ln==7 \
+ or ln=~@md.lv7
+ @lev_occurences[:l4] += 1
+ if not dob.obj =~/~#|-#/
+ ocn_flag=true
+ ocnh7+=1
+ node7="7:#{ocnh7};#{ocn}"
+ else
+ ocn_flag=false
+ node7="7:0;0"
+ end
+ parent=if node6
+ document_structure_check_info(node7,node6)
+ @collapsed_lv7=@collapsed_lv6+1
+ node5
+ elsif node5
+ warning_incorrect_parent_level_or_level(dob.obj)
+ puts "parent is level 5~ & this level #{dob.lv}
+either parent should be level 6~
+or this level should be 6~ rather #{dob.lv}"
+ document_structure_check_info(node7,node5,:error)
+ @collapsed_lv6=@collapsed_lv5+1
+ node5
+ elsif node4
+ warning_incorrect_parent_level_or_level(dob.obj)
+ puts "parent is level 4~ & this level #{dob.lv}
+either parent should be level 6~
+or this level should be 6~ rather #{dob.lv}"
+ document_structure_check_info(node7,node4,:error)
+ @collapsed_lv6=@collapsed_lv4+1
+ node4
+ elsif node3
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node3,:error)
+ @collapsed_lv6=@collapsed_lv3+1
+ node3
+ elsif node2
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node2,:error)
+ @collapsed_lv6=@collapsed_lv2+1
+ node2
+ elsif node1
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node1,:error)
+ @collapsed_lv6=@collapsed_lv1+1
+ node1
+ else
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node0,:error)
+ node0
+ end
+ collapsed_level=@collapsed_lv7
+ node,ocn_sp=node7,"h#{ocnh}"
end
else
unless @lev_occurences[:l1] > 0
diff --git a/lib/sisu/v6/constants.rb b/lib/sisu/v6/constants.rb
index 2a5e124c..38f0449a 100644
--- a/lib/sisu/v6/constants.rb
+++ b/lib/sisu/v6/constants.rb
@@ -267,8 +267,8 @@ else
}
end
Db={
- name_prefix: "SiSU#{SiSU_is[:version_dir]}b_",
- name_prefix_db: "sisu_#{SiSU_is[:version_dir]}b_",
+ name_prefix: "SiSU#{SiSU_is[:version_dir]}c_",
+ name_prefix_db: "sisu_#{SiSU_is[:version_dir]}c_",
col_title: 800,
col_title_part: 400,
col_title_edition: 10,
diff --git a/lib/sisu/v6/css.rb b/lib/sisu/v6/css.rb
index a2c75d3c..9cdb2d76 100644
--- a/lib/sisu/v6/css.rb
+++ b/lib/sisu/v6/css.rb
@@ -236,7 +236,7 @@ WOK
margin-bottom: 0px;
text-indent: 0mm;
}
- p, h0, h1, h2, h3, h4, h5, h6 {
+ p, h0, h1, h2, h3, h4, h5, h6, h7 {
display: block;
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
@@ -447,7 +447,7 @@ WOK
padding-left: 0em;
text-indent: 0em;
}
- p, h0, h1, h2, h3, h4, h5, h6 {
+ p, h0, h1, h2, h3, h4, h5, h6, h7 {
display: block;
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
@@ -1307,18 +1307,18 @@ WOK
font-weight: bold;
}
- h0, h1, h2, h3, h4, h5, h6 {
+ h0, h1, h2, h3, h4, h5, h6, h7 {
font-weight: bold;
line-height: 120%;
text-align: left;
margin-top: 20px;
margin-bottom: 10px;
}
- h4.norm, h5.norm, h6.norm {
+ h4.norm, h5.norm, h6.norm, h7.norm {
margin-top: 10px;
margin-bottom: 0px;
}
- h1.center, h2.center, h3.center, h4.center, h5.center, h6.center {
+ h1.center, h2.center, h3.center, h4.center, h5.center, h6.center, h7.center {
text-align: center;
}
h1 { font-size: 120%; }
@@ -1327,6 +1327,7 @@ WOK
h4 { font-size: 105%; }
h5 { font-size: 100%; }
h6 { font-size: 100%; }
+ h7 { font-size: 100%; }
h0 { font-size: 80%; }
h1.i {margin-left: 2em;}
@@ -1418,6 +1419,8 @@ WOK
}
h6.banner {
}
+ h7.banner {
+ }
.toc {
font-weight: normal;
@@ -1454,6 +1457,11 @@ WOK
font-size: 90%;
line-height: 110%;
}
+ h7.toc {
+ margin-left: 7em;
+ font-size: 85%;
+ line-height: 100%;
+ }
.microtoc {
margin-top: 2px;
@@ -1487,6 +1495,11 @@ WOK
font-weight: normal;
font-size: 90%;
}
+ h7.microtoc {
+ margin-left: 30mm;
+ font-weight: normal;
+ font-size: 85%;
+ }
.subtoc {
margin-right: 34%;
@@ -1504,6 +1517,12 @@ WOK
margin-top: 0px;
margin-bottom: 0px;
}
+ h7.subtoc {
+ margin-left: 4em;
+ font-size: 70%;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ }
div.substance {
width: 100%;
@@ -1629,15 +1648,19 @@ WOK
margin-left: 2em;
font-size: 85%;
}
+ h7.minitoc {
+ margin-left: 3em;
+ font-size: 80%;
+ }
h0.minitoc {
margin-left: 0em;
font-size: 90%;
}
- h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, p.c {
+ h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, h7.c, p.c {
text-align: center
}
- h1.red, h2.red, h3.red, h4.red, h5.red, h6.red {
+ h1.red, h2.red, h3.red, h4.red, h5.red, h6.red, h7.red {
text-align: center;
color: #ff0000;
margin-left: 5mm;
@@ -1646,7 +1669,7 @@ WOK
margin-bottom: 20px;
margin-right: 15mm;
}
- h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby {
+ h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby, h7.ruby {
text-align: center;
color: #990000;
margin-left: 5mm;
@@ -1856,6 +1879,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ text[class|="h7"] {
+ font-size: 110%;
+ font-weight: bold;
+ text-align: left;
+ }
text[class|="indent0"] {
padding-left: 10%;
}
@@ -2591,6 +2619,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ text[class|="h7"] {
+ font-size: 110%;
+ font-weight: bold;
+ text-align: left;
+ }
text[class|="indent0"] {
padding-left: 10%;
}
@@ -3271,6 +3304,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ para.h7 {
+ font-size: 110%;
+ font-weight: bold;
+ text-align: left;
+ }
table {
margin-left: 5%;
display: block;
@@ -3427,6 +3465,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ p.h7 {
+ font-size: 150%;
+ font-weight: bold;
+ text-align: left;
+ }
ocn {
display: block;
text-align: right;
diff --git a/lib/sisu/v6/db_create.rb b/lib/sisu/v6/db_create.rb
index 4d551ee2..55eab144 100644
--- a/lib/sisu/v6/db_create.rb
+++ b/lib/sisu/v6/db_create.rb
@@ -264,6 +264,7 @@ module SiSU_DbCreate
lev4 SMALLINT,
lev5 SMALLINT,
lev6 SMALLINT,
+ lev7 SMALLINT,
en_a SMALLINT NULL,
en_z SMALLINT NULL,
en_a_asterisk SMALLINT NULL,
@@ -506,9 +507,9 @@ module SiSU_DbCreate
%{COMMENT ON COLUMN doc_objects.metadata_tid
IS 'tie to title in metadata_and_text';},
%{COMMENT ON COLUMN doc_objects.lev_an
- IS 'doc level A-D 1-6';},
+ IS 'doc level A-D 1-4';},
%{COMMENT ON COLUMN doc_objects.lev
- IS 'doc level 0-6 \d\~';},
+ IS 'doc level 0-7 \d\~';},
%{COMMENT ON COLUMN doc_objects.seg
IS 'segment name from level number 4 (lv 1)';},
%{COMMENT ON COLUMN doc_objects.ocn
@@ -547,6 +548,8 @@ module SiSU_DbCreate
IS 'document structure, level number 5';},
%{COMMENT ON COLUMN doc_objects.lev6
IS 'document structure, level number 6';},
+ %{COMMENT ON COLUMN doc_objects.lev7
+ IS 'document structure, level number 7';},
%{COMMENT ON COLUMN doc_objects.t_of
IS 'document structure, type of object (object is of)';},
%{COMMENT ON COLUMN doc_objects.t_is
diff --git a/lib/sisu/v6/db_import.rb b/lib/sisu/v6/db_import.rb
index 5b44b173..54a2f434 100644
--- a/lib/sisu/v6/db_import.rb
+++ b/lib/sisu/v6/db_import.rb
@@ -118,7 +118,7 @@ module SiSU_DbImport
puts "#{__FILE__}:#{__LINE__}" if @opt.act[:maintenance][:set]==:on
end
@id_n =0 if @col[:lid].nil? or @col[:lid].to_s.empty?
- @col[:lv0]=@col[:lv1]=@col[:lv2]=@col[:lv3]=@col[:lv4]=@col[:lv5]=@col[:lv6]=0
+ @col[:lv0]=@col[:lv1]=@col[:lv2]=@col[:lv3]=@col[:lv4]=@col[:lv5]=@col[:lv6]=@col[:lv7]=0
@db=SiSU_Env::InfoDb.new
@pdf_fn=SiSU_Env::FileOp.new(@md).base_filename
@@dl ||=SiSU_Env::InfoEnv.new.digest.length
@@ -390,6 +390,7 @@ module SiSU_DbImport
when /1/ then @col[:lv1]+=1
when /2/ then @col[:lv2]+=1
when /3/ then @col[:lv3]+=1
+ when /4/ then @col[:lv4]+=1
end
@col[:lev]=@col[:plaintext]=@col[:body]=''
elsif data.is==:heading \
@@ -480,7 +481,8 @@ module SiSU_DbImport
@col[:lev]=@col[:plaintext]=@col[:body]=''
elsif data.is==:heading \
&& data.ln==6
- txt,@col[:ocn],@col[:lev_an],@col[:ocnd],@col[:ocns],@col[:t_of],@col[:t_is],@col[:node],@col[:parent],@col[:digest_clean],@col[:digest_all]=data.obj,data.ocn,data.lv,data.odv,data.osp,data.of,data.is,data.node,data.parent,'',''
+ txt, @col[:ocn],@col[:lev_an],@col[:ocnd],@col[:ocns],@col[:t_of],@col[:t_is],@col[:node],@col[:parent],@col[:digest_clean],@col[:digest_all]=
+ data.obj,data.ocn, data.lv, data.odv, data.osp, data.of, data.is, data.node, data.parent, '', ''
@@seg_full=data.name if data.is==:heading && data.ln==6 && data.name #check data.name
@@seg ||='' #nil # watch
@col[:seg]=@@seg
@@ -508,6 +510,37 @@ module SiSU_DbImport
t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint)
@tuple_array << t.tuple
@col[:lev]=@col[:plaintext]=@col[:body]=''
+ elsif data.is==:heading \
+ && data.ln==7
+ txt, @col[:ocn],@col[:lev_an],@col[:ocnd],@col[:ocns],@col[:t_of],@col[:t_is],@col[:node],@col[:parent],@col[:digest_clean],@col[:digest_all]=
+ data.obj,data.ocn, data.lv, data.odv, data.osp, data.of, data.is, data.node, data.parent, '', ''
+ @@seg_full=data.name if data.is==:heading && data.ln==7 && data.name #check data.name
+ @@seg ||='' #nil # watch
+ @col[:seg]=@@seg
+ @col[:lv7]+=1
+ @col[:lid]+=1
+ @col[:lev]=7
+ @hname=if @col[:seg] \
+ and not @col[:seg].to_s.empty?
+ @@hname=@col[:seg].to_s
+ else @@hname
+ end
+ @env=SiSU_Env::InfoEnv.new(@md.fns)
+ @base_url="#{@env.url.root}/#{@md.fnb}/#{@hname}.html"
+ txt=endnotes(txt).extract_any
+ body=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_plus
+ @col[:body]=special_character_escape(body)
+ plaintext=@col[:body].dup
+ plaintext=strip_markup(plaintext)
+ @col[:plaintext]=clean_searchable_text(plaintext)
+ book_idx=book_idx_hash_to_str(data.idx)
+ @col[:book_idx]=clean_searchable_text(book_idx)
+ @en_a,@en_z=@en[0].first,@en[0].last if @en[0]
+ @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last if @en_ast[0]
+ @en_a_plus,@en_z_plus=@en_pls[0].first,@en_pls[0].last if @en_pls[0]
+ t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint)
+ @tuple_array << t.tuple
+ @col[:lev]=@col[:plaintext]=@col[:body]=''
#% :structure :layout :comment
elsif data.of==:structure \
|| data.of==:layout \
diff --git a/lib/sisu/v6/db_load_tuple.rb b/lib/sisu/v6/db_load_tuple.rb
index 46d29896..d1c3005b 100644
--- a/lib/sisu/v6/db_load_tuple.rb
+++ b/lib/sisu/v6/db_load_tuple.rb
@@ -69,8 +69,8 @@ module SiSU_DbTuple
def initialize(conn,col,opt,file_maint)
@conn,@col,@opt,@file_maint=conn,col,opt,file_maint
@col[:lev]=@col[:lev].to_i
- unless @col[:lev].inspect=~/^[0-6]/ \
- or @col[:lev]==0..6
+ unless @col[:lev].inspect=~/^[0-7]/ \
+ or @col[:lev]==0..7
@col[:lev]=9
end
@col[:ocn]=0 unless @col[:ocn].inspect=~/\d+/
@@ -78,11 +78,11 @@ module SiSU_DbTuple
end
def tuple #% import line
sql_entry=if @col[:en_a]
- "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, en_a, en_z, t_of, t_is, node, parent, digest_clean, digest_all) " +
- "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:en_a]}', '#{@col[:en_z]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
+ "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, lev7, en_a, en_z, t_of, t_is, node, parent, digest_clean, digest_all) " +
+ "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:lv7]}', '#{@col[:en_a]}', '#{@col[:en_z]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
else
- "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, t_of, t_is, node, parent, digest_clean, digest_all) " +
- "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
+ "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, lev7, t_of, t_is, node, parent, digest_clean, digest_all) " +
+ "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:lv7]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
end
if @opt.act[:verbose_plus][:set]==:on
if @opt.act[:maintenance][:set]==:on
@@ -97,7 +97,7 @@ module SiSU_DbTuple
end
end
if @opt.act[:verbose][:set]==:on
- if @col[:lev].inspect =~/[0-356]/
+ if @col[:lev].inspect =~/[0-35-7]/
lev=case @col[:lev].inspect
when /0/ then ':A'
when /1/ then ':B'
@@ -105,10 +105,11 @@ module SiSU_DbTuple
when /3/ then ':D'
when /5/ then ' 2'
when /6/ then ' 3'
+ when /7/ then ' 4'
end
- puts %{#{lev}>\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}}
+ puts %{#{lev}>\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:lv7]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}}
elsif @col[:lev].inspect =~/[4]/
- puts %{ #{@cX.green}1>#{@cX.off}\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}\t#{@col[:seg]}}
+ puts %{ #{@cX.green}1>#{@cX.off}\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:lv7]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}\t#{@col[:seg]}}
end
end
sql_entry
diff --git a/lib/sisu/v6/html_format.rb b/lib/sisu/v6/html_format.rb
index 2f7b030e..b2476719 100644
--- a/lib/sisu/v6/html_format.rb
+++ b/lib/sisu/v6/html_format.rb
@@ -1065,6 +1065,9 @@ WOK
def heading_body6
heading_normal('h6','norm')
end
+ def heading_body7
+ heading_normal('h7','norm')
+ end
def title_heading(tag,attrib)
cl=(@make.build.html_minitoc?) \
? 'content'
@@ -1228,6 +1231,8 @@ WOK
end
def navigation_toc_lev6
end
+ def navigation_toc_lev7
+ end
def endnote_seg_body(fn='') #FIX #url construction keep within single line... BUG WATCH 200408
fn='doc' if fn.to_s.empty? #you may wish to reconsider, sends to 'doc' where no segment info
%{
@@ -1265,6 +1270,9 @@ WOK
def subtoc_lev6
subtoc_lev('h6','subtoc') if @txt
end
+ def subtoc_lev7
+ subtoc_lev('h7','subtoc') if @txt
+ end
def heading_sub(tag,attrib)
@txt=@txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
%{
@@ -1357,6 +1365,9 @@ WOK
def lev6
lev('h6','toc')
end
+ def lev7
+ lev('h7','toc')
+ end
def strip_endnotes(txt)
txt=txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
txt
@@ -1389,6 +1400,10 @@ WOK
@txt=strip_endnotes(@txt)
lev('h6','minitoc')
end
+ def mini_lev7
+ @txt=strip_endnotes(@txt)
+ lev('h7','minitoc')
+ end
def mini_lev0 #docinfo
lev('h1','minitoc')
end
diff --git a/lib/sisu/v6/html_scroll.rb b/lib/sisu/v6/html_scroll.rb
index 27caaff9..9d036469 100644
--- a/lib/sisu/v6/html_scroll.rb
+++ b/lib/sisu/v6/html_scroll.rb
@@ -88,11 +88,13 @@ module SiSU_HTML_Scroll
@rcdc=false
@scr={ body: [], metadata: [], owner_details: [] }
data.each do |dob|
- dob.obj=dob.obj.gsub(/#{@md.file.output_path.html_seg.rel_image}/m,@md.file.output_path.html_scroll.rel_image)
+ dob.obj=dob.obj.gsub(/#{@md.file.output_path.html_seg.rel_image}/m,
+ @md.file.output_path.html_scroll.rel_image)
if defined? dob.name and dob.name =~/^meta/ \
and dob.obj =~/Document Information/
- dob.obj=dob.obj.gsub(/(Document Information(?: \(metadata\))?)/,
- '\1<a name="docinfo"></a>')
+ dob.obj=dob.obj.
+ gsub(/(Document Information(?: \(metadata\))?)/,
+ '\1<a name="docinfo"></a>')
end
if dob.obj =~/^Metadata$/ \
and dob.lv =='B'
@@ -108,7 +110,8 @@ module SiSU_HTML_Scroll
gsub(/href="#{Xx[:segment]}/m,'href="')
if dob.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]})/
unless dob.is ==:code
- dob.obj=dob.obj.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
+ dob.obj=dob.obj.
+ gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
end
if defined? dob.ocn
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,dob.ocn)
@@ -129,6 +132,8 @@ module SiSU_HTML_Scroll
sto.heading_body5
elsif dob.ln==6
sto.heading_body6
+ elsif dob.ln==7
+ sto.heading_body7
end
elsif dob.is==:break \
and dob.from==:markup
@@ -162,7 +167,8 @@ module SiSU_HTML_Scroll
elsif dob.ln==4 \
and dob.obj=='Index'
sto.heading_body4
- book_idx=SiSU_Particulars::CombinedSingleton.instance.get_idx_html(@md.opt).html_idx
+ book_idx=SiSU_Particulars::CombinedSingleton.
+ instance.get_idx_html(@md.opt).html_idx
book_idx.each do |y| #takes book index prepared for segments & strips segment identifying info
y.gsub!(/<a href="\S+?\.html#(\d+)">(\1(?:-\d+)?)<\/a>/,
'<a href="#\1">\2</a>')
@@ -176,6 +182,10 @@ module SiSU_HTML_Scroll
unless dob.obj.empty?
sto.heading_body6
end
+ elsif dob.ln==7
+ unless dob.obj.empty?
+ sto.heading_body7
+ end
end
elsif dob.is==:para
if dob.indent \
@@ -222,7 +232,9 @@ module SiSU_HTML_Scroll
def tails
scr_tail=[]
format_head_scroll=SiSU_HTML_Format::HeadToc.new(@md)
- scr_tail << format_head_scroll.scroll_tail << format_head_scroll.html_close
+ scr_tail \
+ << format_head_scroll.scroll_tail \
+ << format_head_scroll.html_close
scr_tail
end
end
diff --git a/lib/sisu/v6/html_segments.rb b/lib/sisu/v6/html_segments.rb
index 941610ee..b410d0b0 100644
--- a/lib/sisu/v6/html_segments.rb
+++ b/lib/sisu/v6/html_segments.rb
@@ -67,7 +67,8 @@ module SiSU_HTML_Seg
require_relative 'shared_metadata' # shared_metadata.rb
class Output
def initialize(md,outputfile,seg,minitoc,type='')
- @md,@output_seg_file,@seg,@minitoc,@type=md,outputfile,seg,minitoc,type
+ @md, @output_seg_file,@seg,@minitoc,@type=
+ md,outputfile, seg,minitoc, type
@title_banner_=SiSU_Env::CreateSite.new(@md.opt).html_seg_title_banner?
@file=SiSU_Env::FileOp.new(@md)
@make=SiSU_Env::ProcessingSettings.new(@md)
@@ -79,59 +80,97 @@ module SiSU_HTML_Seg
if @seg[:title] =~/\S/
filename_seg=[]
if @make.build.html_top_band?
- filename_seg << @seg[:title] << @seg[:tocband_banner]
+ filename_seg \
+ << @seg[:title] \
+ << @seg[:tocband_banner]
else
- filename_seg << @seg[:title]
+ filename_seg \
+ << @seg[:title]
end
if @type=='endnotes'
@seg[:headings]=[]
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
if @title_banner_
- @seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author)
+ @seg[:headings] \
+ << format_head_seg.
+ title_banner(@md.title.main,@md.title.sub,@author)
end
txt_obj={ txt: 'Endnotes', ocn_display: '' }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @seg[:headings] << format_seg.title_heading1
- filename_seg << @seg[:heading_endnotes] << @minitoc << @seg[:headings] << %{\n<div class="#{@cl}">\n} << @seg[:endnote_all] << '</div>' # << '</div>'
+ @seg[:headings] \
+ << format_seg.title_heading1
+ filename_seg \
+ << @seg[:heading_endnotes] \
+ << @minitoc << @seg[:headings] \
+ << %{\n<div class="#{@cl}">\n} \
+ << @seg[:endnote_all] \
+ << '</div>' # << '</div>'
elsif @type=='idx'
@seg[:headings]=[]
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
if @title_banner_
- @seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author)
+ @seg[:headings] \
+ << format_head_seg.
+ title_banner(@md.title.main,@md.title.sub,@author)
end
txt_obj={ txt: 'Index', ocn_display: '' }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
@seg[:headings] << format_seg.title_heading1
- filename_seg << @seg[:heading_idx] << @minitoc << @seg[:headings] << %{\n<div class="#{@cl}">\n} << @seg[:idx] << '</div>' # << '</div>'
+ filename_seg \
+ << @seg[:heading_idx] \
+ << @minitoc << @seg[:headings] \
+ << %{\n<div class="#{@cl}">\n} \
+ << @seg[:idx] \
+ << '</div>' # << '</div>'
elsif @type=='metadata'
metadata=SiSU_Metadata::Summary.new(@md).xhtml_display.metadata
@seg[:headings]=[]
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
if @title_banner_
- @seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author)
+ @seg[:headings] \
+ << format_head_seg.
+ title_banner(@md.title.main,@md.title.sub,@author)
end
txt_obj={ txt: 'Metadata', ocn_display: '' }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
@seg[:headings] << format_seg.title_heading1
- filename_seg << @seg[:heading_idx] << @minitoc << @seg[:headings] << %{\n<div class="#{@cl}">\n} << metadata << '</div>' # << '</div>'
+ filename_seg \
+ << @seg[:heading_idx] \
+ << @minitoc \
+ << @seg[:headings] \
+ << %{\n<div class="#{@cl}">\n} \
+ << metadata \
+ << '</div>' # << '</div>'
else
if @make.build.html_top_band?
- filename_seg << @minitoc << @seg[:headings] << @seg[:main] << "\n</div>\n"
+ filename_seg \
+ << @minitoc \
+ << @seg[:headings] \
+ << @seg[:main] \
+ << "\n</div>\n"
else
- filename_seg << @minitoc << @seg[:main] << "\n</div>\n"
+ filename_seg \
+ << @minitoc \
+ << @seg[:main] \
+ << "\n</div>\n"
end
end
filename_seg <<=if @make.build.html_top_band?
- @seg[:tail] << @seg[:tocband_bannerless] << @seg[:credits]
+ @seg[:tail] \
+ << @seg[:tocband_bannerless] \
+ << @seg[:credits]
else
- @seg[:tail] << @seg[:credits]
+ @seg[:tail] \
+ << @seg[:credits]
end
filename_seg=filename_seg.flatten.compact #watch
filename_seg.each do |str|
unless str =~/\A\s*\Z/
str=str.strip.
- gsub(Xx[:html_relative2],@file.path_rel_links.html_seg_2).
- gsub(Xx[:html_relative1],@file.path_rel_links.html_seg_1)
+ gsub(Xx[:html_relative2],
+ @file.path_rel_links.html_seg_2).
+ gsub(Xx[:html_relative1],
+ @file.path_rel_links.html_seg_1)
@output_seg_file << str
end
end
@@ -146,7 +185,17 @@ module SiSU_HTML_Seg
@@loop_count=@@seg_total=@@tracker=0
@@is4=@@is3=@@is2=@@is1=@@is0=0
@@heading0=@@heading1=@@heading2=@@heading3=@@heading4=0
- @@seg[:tocband_banner],@@seg[:tocband_bannerless],@@seg[:title],@@seg[:headings],@@seg[:main],@@seg[:idx],@@seg[:tail],@@seg[:credits],@@seg_subtoc_array,@@seg_endnotes_array,@@seg[:endnote_all]=Array.new(11){[]}
+ @@seg[:tocband_banner],
+ @@seg[:tocband_bannerless],
+ @@seg[:title],@@seg[:headings],
+ @@seg[:main],
+ @@seg[:idx],
+ @@seg[:tail],
+ @@seg[:credits],
+ @@seg_subtoc_array,
+ @@seg_endnotes_array,
+ @@seg[:endnote_all]=
+ Array.new(11){[]}
@@seg[:heading_endnotes]=''
@@tablehead,@@number_of_cols=0,0
@@dp,@@segtocband=nil,nil
@@ -192,7 +241,8 @@ module SiSU_HTML_Seg
idx_html=nil
if @md.book_idx
#my_make_source_file=SiSU_Env::CreateFile.new(@md.fns)
- idx_html=SiSU_Particulars::CombinedSingleton.instance.get_idx_html(@md.opt).html_idx
+ idx_html=SiSU_Particulars::CombinedSingleton.
+ instance.get_idx_html(@md.opt).html_idx
idx_html.each {|x| @@seg[:idx] << x }
@@seg[:heading_idx]=''
end
@@ -215,7 +265,8 @@ module SiSU_HTML_Seg
@@seg_name.length
).segmented
end
- map_nametags=SiSU_Particulars::CombinedSingleton.instance.get_map_nametags(@md).nametags_map #p map_nametags
+ map_nametags=SiSU_Particulars::CombinedSingleton.
+ instance.get_map_nametags(@md).nametags_map #p map_nametags
data.each do |dob|
if defined? dob.obj \
and dob.obj =~/href="#{Xx[:segment]}#+\S+?"/
@@ -227,10 +278,12 @@ module SiSU_HTML_Seg
lng=(inf.output_dir_structure.by_language_code?) \
? ''
: '.' + @md.opt.lng
- dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,%{href="#{map_nametags[m][:segname]}#{lng}#{Sfx[:html]}#\\1"})
+ dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,
+ %{href="#{map_nametags[m][:segname]}#{lng}#{Sfx[:html]}#\\1"})
else
p "NOT FOUND name_tags: #{m}"
- dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,%{href="#\\1"}) # not satisfactory
+ dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,
+ %{href="#\\1"}) # not satisfactory
end
end
end
@@ -281,7 +334,8 @@ module SiSU_HTML_Seg
if tracking != 0
@file=SiSU_Env::FileOp.new(@md)
unless FileTest.directory?(@file.output_path.html_seg.dir)
- FileUtils::mkdir_p(@file.output_path.html_seg.dir) if File.writable?("#{@file.output_path.base.dir}/.")
+ FileUtils::mkdir_p(@file.output_path.html_seg.dir) \
+ if File.writable?("#{@file.output_path.base.dir}/.")
end
SiSU_HTML_Seg::Seg.new(@md).tail
fnh={
@@ -357,7 +411,7 @@ module SiSU_HTML_Seg
&& (@make.build.html_navigation_bar?)
x=if (dob.is==:heading \
|| dob.is==:heading_insert) \
- && (dob.ln.to_s =~/^[0-6]/)
+ && (dob.ln.to_s =~/^[0-7]/)
x=if @@tracker < @@seg_total-1
format_head_seg.dot_control_pre_next
else
@@ -387,10 +441,14 @@ module SiSU_HTML_Seg
@p_num ||= ''
if @@is0==1
@author=%{<b>#{@md.author}</b>\n} if @md.author.to_s =~/\S/
- @@seg[:tocband_banner] << format_head_seg.navigation_band(@@segtocband,@@seg[:dot_nav])
- @@seg[:tocband_bannerless] << '<br />' << format_head_seg.navigation_band_bottom(@@segtocband,@@seg[:dot_nav])
+ @@seg[:tocband_banner] \
+ << format_head_seg.navigation_band(@@segtocband,@@seg[:dot_nav])
+ @@seg[:tocband_bannerless] \
+ << '<br />' \
+ << format_head_seg.navigation_band_bottom(@@segtocband,@@seg[:dot_nav])
if @title_banner_
- @@seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author).gsub(clean,'')
+ @@seg[:headings] \
+ << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author).gsub(clean,'')
end
ocn=(@@heading0[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]) \
? $1
@@ -398,8 +456,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: @@heading0, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading0.gsub(clean,'')
- @@heading0=@@heading0.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading0.gsub(clean,'')
+ @@heading0=@@heading0.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is1==1
heading1=@@heading1
@@ -409,8 +469,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading1, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading1.gsub(clean,'')
- @@heading1=@@heading1.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading1.gsub(clean,'')
+ @@heading1=@@heading1.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is2==1
heading2=@@heading2
@@ -420,8 +482,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading2, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading2.gsub(clean,'')
- @@heading2=@@heading2.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading2.gsub(clean,'')
+ @@heading2=@@heading2.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is3==1
heading3=@@heading3
@@ -431,8 +495,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading3, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading3.gsub(clean,'')
- @@heading3=@@heading3.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading3.gsub(clean,'')
+ @@heading3=@@heading3.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is4==1
heading4=@@heading4
@@ -442,7 +508,8 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading4, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading4.gsub(clean,'')
+ @@seg[:headings] \
+ << format_seg.title_heading4.gsub(clean,'')
end
@@tracker=@@tracker+1
end
@@ -467,6 +534,8 @@ module SiSU_HTML_Seg
sto.seg_heading5
elsif dob.ln==6
sto.seg_heading6
+ elsif dob.ln==7
+ sto.seg_heading6
end
elsif dob.is==:para
if dob.indent \
@@ -589,7 +658,7 @@ module SiSU_HTML_Seg
end
end
if dob.is==:heading \
- && (dob.ln.to_s =~/^[56]/)
+ && (dob.ln.to_s =~/^[5-7]/)
case dob.ln
when 5
txt_obj={ txt: dob.obj.strip, ocn: dob.ocn }
@@ -599,6 +668,10 @@ module SiSU_HTML_Seg
txt_obj={ txt: dob.obj.strip, ocn: dob.ocn }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
subtoc=format_seg.subtoc_lev6 #keep and make available, this is the subtoc
+ when 7
+ txt_obj={ txt: dob.obj.strip, ocn: dob.ocn }
+ format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
+ subtoc=format_seg.subtoc_lev7 #keep and make available, this is the subtoc
end
@@seg_subtoc_array << subtoc
end
diff --git a/lib/sisu/v6/hub_options.rb b/lib/sisu/v6/hub_options.rb
index 09559507..acd95612 100644
--- a/lib/sisu/v6/hub_options.rb
+++ b/lib/sisu/v6/hub_options.rb
@@ -1117,11 +1117,11 @@ end
{ bool: false, set: :na }
end
act[:xml_sax]=(select_arr.inspect \
- =~/"--xml-sax"/) \
+ =~/"--xml-sax"|"--sax"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
act[:xml_dom]=(select_arr.inspect \
- =~/"--xml-dom"/) \
+ =~/"--xml-dom"|"--dom"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
act[:xml_docbook_book]=(select_arr.inspect \
diff --git a/lib/sisu/v6/texpdf.rb b/lib/sisu/v6/texpdf.rb
index 42e8383f..9861a5b5 100644
--- a/lib/sisu/v6/texpdf.rb
+++ b/lib/sisu/v6/texpdf.rb
@@ -648,6 +648,8 @@ module SiSU_TeX
tst.heading_level_2
when 6
tst.heading_level_3
+ when 7
+ tst.heading_level_4
else dob
end
when :heading_insert
diff --git a/lib/sisu/v6/texpdf_format.rb b/lib/sisu/v6/texpdf_format.rb
index ba99efb7..95764b60 100644
--- a/lib/sisu/v6/texpdf_format.rb
+++ b/lib/sisu/v6/texpdf_format.rb
@@ -323,6 +323,9 @@ module SiSU_TeX_Pdf
def heading_level_3
heading_sublevels(@dob)
end
+ def heading_level_4
+ heading_sublevels(@dob)
+ end
def hang
case @dob.indent
when /0/
diff --git a/lib/sisu/v6/txt_plain.rb b/lib/sisu/v6/txt_plain.rb
index 69008276..fb39de37 100644
--- a/lib/sisu/v6/txt_plain.rb
+++ b/lib/sisu/v6/txt_plain.rb
@@ -254,6 +254,9 @@ WOK
def l6
'.'
end
+ def l7
+ '.'
+ end
self
end
def bold
@@ -402,6 +405,9 @@ WOK
end
when 5 then wrapped.upcase << break_line << decorate.heading_underscore.l5*times + p_num << break_line*2
when 6 then wrapped.upcase << break_line << decorate.heading_underscore.l6*times + p_num << break_line*2
+ when 7
+ wrapped.upcase << break_line << decorate.heading_underscore.l7*times + p_num << break_line*2
+ #when 7 then wrapped.upcase << break_line << decorate.heading_underscore.l7*times + p_num << break_line*2
end
else
@plaintext[:body] << wrapped + p_num << break_line # main text, contents, body KEEP
@@ -419,7 +425,9 @@ WOK
if make.build.plaintext_ocn?
if defined? dob.ocn \
and dob.ocn.is_a?(Fixnum)
- (defined? dob.ocn) ? "\n#{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}" : ''
+ (defined? dob.ocn) \
+ ? "\n#{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}" \
+ : ''
else ''
end
else ''
@@ -428,8 +436,8 @@ WOK
def markup(data) # Used for major markup instructions
SiSU_Env::InfoEnv.new(@md.fns)
@data_mod,@endnotes,@level,@cont,@copen,@plaintext_contents_close=Array.new(6){[]}
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @plaintext_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @plaintext_contents_close[x]='' }
plaintext_tail #($1,$2)
plaintext_metadata
table_message='[table omitted, see other document formats]'
diff --git a/lib/sisu/v6/xhtml.rb b/lib/sisu/v6/xhtml.rb
index ee19a12e..409a2b6c 100644
--- a/lib/sisu/v6/xhtml.rb
+++ b/lib/sisu/v6/xhtml.rb
@@ -310,8 +310,8 @@ WOK
@rcdc=false
@level,@cont,@copen,@xml_contents_close=[],[],[],[]
xml_head
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @xml_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @xml_contents_close[x]='' }
data.each do |dob|
dob=@trans.char_enc.utf8(dob) if @sys.locale =~/utf-?8/i #% utf8
dob=@trans.markup(dob)
@@ -337,6 +337,7 @@ WOK
when 4 then x.heading_body4
when 5 then x.heading_body5
when 6 then x.heading_body6
+ when 7 then x.heading_body7
end
else
if dob.is ==:verse
diff --git a/lib/sisu/v6/xhtml_epub2.rb b/lib/sisu/v6/xhtml_epub2.rb
index 0e65b469..9ab7c6ec 100644
--- a/lib/sisu/v6/xhtml_epub2.rb
+++ b/lib/sisu/v6/xhtml_epub2.rb
@@ -268,6 +268,7 @@ module SiSU_XHTML_EPUB2
lv_name='section_a' + @s_a_no.to_s
@nav_no+=1
@nav_no2=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@ -275,7 +276,8 @@ module SiSU_XHTML_EPUB2
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[2]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[1]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[0]
- @ncxo[0],@ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false,false,false,false
+ @ncxo[0],@ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false, false, false, false
@epub.sections(dob_toc,lv_name)
if @level_a_first_occurrence \
&& @make.build.toc?
@@ -293,13 +295,15 @@ module SiSU_XHTML_EPUB2
lv_name='section_b' + @s_b_no.to_s
@nav_no+=1
@nav_no2=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[3]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[2]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[1]
- @ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false,false,false
+ @ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false, false, false
@epub.sections(dob_toc,lv_name)
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
@@ -311,12 +315,14 @@ module SiSU_XHTML_EPUB2
lv_name='section_c' + @s_c_no.to_s
@nav_no+=1
@nav_no2=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[3]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[2]
- @ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false,false
+ @ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false, false
@epub.sections(dob_toc,lv_name)
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
@@ -328,11 +334,13 @@ module SiSU_XHTML_EPUB2
lv_name='section_d' + @s_d_no.to_s
@nav_no+=1
@nav_no3=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[3]
- @ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false
+ @ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false
@epub.sections(dob_toc,lv_name)
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
@@ -344,10 +352,12 @@ module SiSU_XHTML_EPUB2
lv_name=dob_toc.name
@nav_no+=1
@dob_name=dob.name
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
- @ncxo[4],@ncxo[5],@ncxo[6]=true,false,false
+ @ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name)
@@ -358,9 +368,11 @@ module SiSU_XHTML_EPUB2
hashtag='#o' + dob_toc.ocn.to_s
lv_name=@dob_name
@nav_no+=1
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
- @ncxo[5],@ncxo[6]=true,false
+ @ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag)
@@ -371,13 +383,27 @@ module SiSU_XHTML_EPUB2
hashtag='#o' + dob_toc.ocn.to_s
lv_name=@dob_name
@nav_no+=1
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
- @ncxo[6]=true
+ @ncxo[6],@ncxo[7]=
+ true, false
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag)
md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name,hashtag)
SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_6
+ when 7
+ @ncx_cls=[]
+ hashtag='#o' + dob_toc.ocn.to_s
+ lv_name=@dob_name
+ @nav_no+=1
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
+ @ncxo[7]=true
+ @@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc
+ md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag)
+ md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag)
+ md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name,hashtag)
+ SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_7
else nil
end
toc.each do |k,d|
@@ -594,6 +620,27 @@ module SiSU_XHTML_EPUB2
end
toc
end
+ def level_7
+ dob=@data
+ linkname=dob.obj.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/,'').strip
+ ocn=dob.ocn
+ toc={}
+ if ocn \
+ and ocn !~/#/
+ p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn)
+ lnk_n_txt=%{ <a href="#{@@seg_url}#{Sfx[:epub_xhtml]}#o#{ocn}">
+ #{linkname}
+</a>}
+ txt_obj={ txt: lnk_n_txt }
+ format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj)
+ toc[:seg]=format_toc.lev7
+ title=%{#{p_num.goto}#{linkname}</a>}
+ txt_obj={ txt: title }
+ format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj)
+ toc[:scr]=format_toc.lev7
+ end
+ toc
+ end
end
class ScrollHeadAndSegToc < Toc
def initialize(md='',toc='',links_guide_toc='')
diff --git a/lib/sisu/v6/xhtml_epub2_format.rb b/lib/sisu/v6/xhtml_epub2_format.rb
index 626eb79f..aba5b761 100644
--- a/lib/sisu/v6/xhtml_epub2_format.rb
+++ b/lib/sisu/v6/xhtml_epub2_format.rb
@@ -162,7 +162,7 @@ module SiSU_XHTML_EPUB2_Format
padding-left: 0em;
text-indent: 0mm;
}
- p, h0, h1, h2, h3, h4, h5, h6 {
+ p, h0, h1, h2, h3, h4, h5, h6, h7 {
display: block;
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
@@ -992,18 +992,18 @@ module SiSU_XHTML_EPUB2_Format
font-weight: bold;
}
- h0, h1, h2, h3, h4, h5, h6 {
+ h0, h1, h2, h3, h4, h5, h6, h7 {
font-weight: bold;
line-height: 120%;
text-align: left;
margin-top: 20px;
margin-bottom: 10px;
}
- h4.norm, h5.norm, h6.norm {
+ h4.norm, h5.norm, h6.norm, h7.norm {
margin-top: 10px;
margin-bottom: 0px;
}
- h1.center, h2.center, h3.center, h4.center, h5.center, h6.center {
+ h1.center, h2.center, h3.center, h4.center, h5.center, h6.center, h7.center {
text-align: center;
}
h1 { font-size: 120%; }
@@ -1012,6 +1012,7 @@ module SiSU_XHTML_EPUB2_Format
h4 { font-size: 105%; }
h5 { font-size: 100%; }
h6 { font-size: 100%; }
+ h7 { font-size: 100%; }
h0 { font-size: 80%; }
h1.i {margin-left: 2em;}
@@ -1059,6 +1060,11 @@ module SiSU_XHTML_EPUB2_Format
font-size: 90%;
line-height: 110%;
}
+ h7.toc {
+ margin-left: 7em;
+ font-size: 90%;
+ line-height: 105%;
+ }
.microtoc {
margin-top: 2px;
@@ -1092,6 +1098,11 @@ module SiSU_XHTML_EPUB2_Format
font-weight: normal;
font-size: 90%;
}
+ h7.microtoc {
+ margin-left: 30mm;
+ font-weight: normal;
+ font-size: 85%;
+ }
.subtoc {
margin-right: 34%;
@@ -1109,6 +1120,12 @@ module SiSU_XHTML_EPUB2_Format
margin-top: 0px;
margin-bottom: 0px;
}
+ h7.subtoc {
+ margin-left: 4em;
+ font-size: 70%;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ }
div.substance {
width: 100%;
@@ -1196,10 +1213,10 @@ module SiSU_XHTML_EPUB2_Format
background-color: #f9f9aa;
}
- h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, p.c {
+ h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, h7.c, p.c {
text-align: center
}
- h1.red, h2.red, h3.red, h4.red, h5.red, h6.red {
+ h1.red, h2.red, h3.red, h4.red, h5.red, h6.red, h7.red {
text-align: center;
color: #ff0000;
margin-left: 5mm;
@@ -1208,7 +1225,7 @@ module SiSU_XHTML_EPUB2_Format
margin-bottom: 20px;
margin-right: 15mm;
}
- h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby {
+ h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby, h7.ruby {
text-align: center;
color: #990000;
margin-left: 5mm;
@@ -2043,6 +2060,9 @@ output_epub_cont_seg.close
def seg_heading6
seg_heading_sub('p','bold',@txt)
end
+ def seg_heading7
+ seg_heading_sub('p','bold',@txt)
+ end
def dl #check :trailer
"<dl><b>#{@txt}</b> #{@trailer}</dl>"
end
@@ -2149,6 +2169,9 @@ output_epub_cont_seg.close
def subtoc_lev6
subtoc_lev('h6','subtoc') if @txt
end
+ def subtoc_lev7
+ subtoc_lev('h7','subtoc') if @txt
+ end
def heading_sub(tag,attrib,txt)
txt=txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
%{
@@ -2177,6 +2200,9 @@ output_epub_cont_seg.close
def heading6
heading_sub('p','bold',@txt)
end
+ def heading7
+ heading_sub('h7','bold',@txt)
+ end
def navigation_heading4
%{<table summary="navigation segment heading 4" width=100% bgcolor="#08163f" border="0">
<tr><td align="center">
@@ -2195,6 +2221,11 @@ output_epub_cont_seg.close
#{@txt}
</p>}
end
+ def navigation_heading7
+ %{<p class="bold">
+ #{@txt}
+</p>}
+ end
def navigation_center
%{<p class="centerbold">#{@txt}</p>}
end
@@ -2238,6 +2269,9 @@ output_epub_cont_seg.close
def lev6
lev('h6','toc')
end
+ def lev7
+ lev('h7','toc')
+ end
def lev0 #docinfo
lev('h0','toc')
end
diff --git a/lib/sisu/v6/xhtml_epub2_segments.rb b/lib/sisu/v6/xhtml_epub2_segments.rb
index 8f44b3e8..e5e44886 100644
--- a/lib/sisu/v6/xhtml_epub2_segments.rb
+++ b/lib/sisu/v6/xhtml_epub2_segments.rb
@@ -372,6 +372,8 @@ WOK
sto.seg_heading5
elsif dob.ln==6
sto.seg_heading6
+ elsif dob.ln==7
+ sto.seg_heading7
end
elsif dob.is==:para
if dob.indent \
@@ -486,7 +488,7 @@ WOK
end
end
if dob.is==:heading \
- and dob.ln.to_s =~/^[56]/
+ and dob.ln.to_s =~/^[5-7]/
case dob.ln
when 5
format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob)
@@ -494,6 +496,9 @@ WOK
when 6
format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob)
subtoc=format_seg.subtoc_lev6 #keep and make available, this is the subtoc
+ when 7
+ format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob)
+ subtoc=format_seg.subtoc_lev7 #keep and make available, this is the subtoc
end
@@seg_subtoc_array << subtoc
end
diff --git a/lib/sisu/v6/xml_dom.rb b/lib/sisu/v6/xml_dom.rb
index a3a64946..1285a1cc 100644
--- a/lib/sisu/v6/xml_dom.rb
+++ b/lib/sisu/v6/xml_dom.rb
@@ -226,12 +226,15 @@ WOK
WOK
if lv==4
@copen[1]=true
- @copen[2]=@copen[3]=false
+ @copen[2]=@copen[3]=@copen[4]=false
elsif lv==5
@copen[2]=true
- @copen[3]=false
+ @copen[3]=@copen[4]=false
elsif lv==6
@copen[3]=true
+ @copen[4]=false
+ elsif lv==7
+ @copen[4]=true
end
end
def xml_structure(dob,type='norm')
@@ -259,21 +262,24 @@ WOK
@cont[2]=false if @cont[2]
@cont[3]=false if @cont[3]
####### attempt to close contents
- if @copen[3] # 6~
+ if @copen[4] # 4~
+ [4,3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ @copen[1]=@copen[2]=@copen[3]=@copen[4]=false
+ elsif @copen[3] # 3~
[3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
@copen[1]=@copen[2]=@copen[3]=false
- elsif @copen[2] # 5~
+ elsif @copen[2] # 2~
[2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
@copen[1]=@copen[2]=@copen[3]=false
- elsif @copen[1] # 4~
+ elsif @copen[1] # 1~
[1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
@copen[1]=@copen[2]=@copen[3]=false
end
@@xml[:body] << "#{Ax[:tab]*y}</heading#{x}>" if @level[x]
@level[x]=false
end
- when 4..6
- 6.downto(lv) do |x|
+ when 4..7
+ 7.downto(lv) do |x|
if @level[x]==true
@xml_contents_close[x]=''
end
@@ -284,42 +290,61 @@ WOK
case lv
when 4
@@xml[:body] << "#{Ax[:tab]*5}</content>" if @cont[1]
- if @copen[3]==true # 6~
+ if @copen[4]==true # 4~
+ [4,3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ elsif @copen[3]==true # 3~
[3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
- elsif @copen[2]==true # 5~
+ elsif @copen[2]==true # 2~
[2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
- elsif @copen[1]==true # 4~
+ elsif @copen[1]==true # 1~
[1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
end
@cont[1]=true
when 5
- if @cont[2] \
+ if @cont[3] \
+ or @cont[2] \
or @cont[1]
@@xml[:body] << "#{Ax[:tab]*5}</content>"
end
- if @copen[3]==true #6~
+ if @copen[4]==true #4~
+ [4,3,2].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ elsif @copen[3]==true #3~
[3,2].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
- elsif @copen[2]==true #5~
+ elsif @copen[2]==true #2~
[2].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
end
@cont[2]=true
when 6
- if @cont[3] \
+ if @cont[4] \
+ or @cont[3] \
or @cont[2] \
or @cont[1]
@@xml[:body] << "#{Ax[:tab]*5}</content>"
end
- if @copen[3] #6{
+ if @copen[4] #4~
+ [4,3].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ elsif @copen[3] #3~
[3].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
end
@cont[3]=true
+ when 7
+ if @cont[4] \
+ or @cont[3] \
+ or @cont[2] \
+ or @cont[1]
+ @@xml[:body] << "#{Ax[:tab]*5}</content>"
+ end
+ if @copen[4] #4~
+ [4].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ end
+ @cont[4]=true
end
end
xml_el ||=''
xml_element(dob,xml_el,xml_content,type)
if lv
@level[lv]=true
- ((lv+1)..6).each { |x| @level[x]=false }
+ ((lv+1)..7).each { |x| @level[x]=false }
end
end
def add_to_body(dob,type='norm')
@@ -367,8 +392,8 @@ WOK
@level,@cont,@copen,@xml_contents_close=[],[],[],[]
@rcdc=false
type='norm'
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @xml_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @xml_contents_close[x]='' }
xml_head
data.each do |dob|
@trans.char_enc.utf8(dob) if @sys.locale =~/utf-?8/i #% utf8
@@ -420,6 +445,10 @@ WOK
type="heading_content_#{dob.lv}"
xml_structure(dob,type)
dob.obj=x.heading_body6
+ elsif dob.ln==7
+ type="heading_content_#{dob.lv}"
+ xml_structure(dob,type)
+ dob.obj=x.heading_body7
end
else
dob.ocn
@@ -486,7 +515,7 @@ WOK
end
end
@content_flag=true
- 6.downto(4) do |x|
+ 7.downto(4) do |x|
y=x - 1; v=x - 3
if @level[x]==true #2004w36 bug fix? watch/test previous logic broke on free.for.all @coontent_flag introduced
if @content_flag==true
diff --git a/lib/sisu/v6/xml_format.rb b/lib/sisu/v6/xml_format.rb
index 70c1a27f..38cc7f85 100644
--- a/lib/sisu/v6/xml_format.rb
+++ b/lib/sisu/v6/xml_format.rb
@@ -1115,6 +1115,9 @@ WOK
def heading_body6
heading_normal('h6','norm')
end
+ def heading_body7
+ heading_normal('h7','norm')
+ end
def title_header(tag,attrib)
%{
<div class="content">
@@ -1291,6 +1294,9 @@ WOK
def subtoc_lev6
subtoc_lev('h6','subtoc') if @txt
end
+ def subtoc_lev7
+ subtoc_lev('h7','subtoc') if @txt
+ end
#% para sisu
def header_sub(tag,attrib)
@txt=@txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
@@ -1303,12 +1309,6 @@ WOK
</div>
}
end
- def header5
- header_sub('p','bold')
- end
- def header6
- header_sub('p','bold')
- end
def header4
%{
<div class="substance">
@@ -1320,6 +1320,15 @@ WOK
</div>
}
end
+ def header5
+ header_sub('p','bold')
+ end
+ def header6
+ header_sub('p','bold')
+ end
+ def header7
+ header_sub('p','bold')
+ end
def navigation_header4
%{<table summary="navigation segment header 4" width=100% bgcolor="#08163f" border="0">
<tr><td align="center">
@@ -1338,6 +1347,11 @@ WOK
#{@txt}
</p>}
end
+ def navigation_header7
+ %{<p class="bold">
+ #{@txt}
+</p>}
+ end
def navigation_center
"<center>#{@txt}</center>"
end
@@ -1381,6 +1395,10 @@ WOK
def lev6
lev('h6','toc')
end
+ def lev7
+ lev('h7','toc')
+ #lev('b','toc')
+ end
def lev0 #docinfo
lev('h0','toc')
end
@@ -1402,6 +1420,9 @@ WOK
def mini_lev6
lev('h6','minitoc')
end
+ def mini_lev7
+ lev('h7','minitoc')
+ end
def mini_lev0 #docinfo
lev('h0','minitoc')
end
diff --git a/lib/sisu/v6/xml_odf_odt.rb b/lib/sisu/v6/xml_odf_odt.rb
index bb69be5d..c5e06109 100644
--- a/lib/sisu/v6/xml_odf_odt.rb
+++ b/lib/sisu/v6/xml_odf_odt.rb
@@ -111,7 +111,9 @@ module SiSU_XML_ODF_ODT
SiSU_Screen::Ansi.new(
@opt.act[:color_state][:set],
@opt.fns,
- "file://#{@md.file.output_path.odt.dir}/#{@md.file.base_filename.odt}"
+ 'file://' \
+ + @md.file.output_path.odt.dir + '/' \
+ + @md.file.base_filename.odt
).flow
end
end
@@ -173,16 +175,19 @@ module SiSU_XML_ODF_ODT
if x =~/\S+/ then @n << x
end
end
- else @n << n
+ else @n << n
end
end
end
def odf_book_idx
if @md.book_idx
- idx_arr,idx_raw=[],SiSU_Particulars::CombinedSingleton.instance.get_idx_raw(@md.opt).raw_idx
+ idx_arr=[]
+ idx_raw=SiSU_Particulars::CombinedSingleton.
+ instance.get_idx_raw(@md.opt).raw_idx
idx_raw.each do |x|
x=if x.is_a?(String)
- SiSU_XML_ODF_ODT_Format::FormatBookIndex.new(x).book_idx_bookmark
+ SiSU_XML_ODF_ODT_Format::FormatBookIndex.new(x).
+ book_idx_bookmark
else nil
end
idx_arr << x.strip if x.is_a?(String)
@@ -191,7 +196,8 @@ module SiSU_XML_ODF_ODT
end
end
def odf_metadata
- @@odf[:metadata]=SiSU_Metadata::Summary.new(@md).odf.metadata
+ @@odf[:metadata]=SiSU_Metadata::Summary.new(@md).
+ odf.metadata
end
def odf_tail
manifest="#{@md.file.output_path.manifest.url}/#{@md.file.base_filename.manifest}"
@@ -224,19 +230,22 @@ module SiSU_XML_ODF_ODT
@@docstart=false
if dob.use_ != :dummy
dob.tmp=dob.obj
- dob.obj=%{#{breakpage}<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}</text:h>}
+ dob.obj=%{#{breakpage}<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">} \
+ + %{#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}</text:h>}
else dob.tmp,dob.obj='',''
end
dob
end
def toc(dob,p_num)
- hardspace=(dob.lv =~/[A-C]/i) \
+ hardspace=(dob.lv =~/[A-D]/i) \
? '<text:p text:style-name="Standard"/>'
: ''
toc_heading=dob.ocn \
- ? %{<text:bookmark-ref text:reference-format="text" text:ref-name="#{dob.ocn}">#{dob.tmp}</text:bookmark-ref>}
+ ? (%{<text:bookmark-ref text:reference-format="text" text:ref-name="#{dob.ocn}">} \
+ + %{#{dob.tmp}</text:bookmark-ref>})
: dob.tmp
- dob.obj=%{<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">#{toc_heading}</text:h>#{hardspace}}
+ dob.obj=%{<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">} \
+ + %{#{toc_heading}</text:h>#{hardspace}}
dob
end
def image_src(i)
@@ -253,7 +262,9 @@ module SiSU_XML_ODF_ODT
@md.opt.act[:color_state][:set],
"ERROR - image:",
%{"#{i}" missing},
- "search locations: #{@env.path.image_source_include_local},#{@env.path.image_source_include_remote} and #{@env.path.image_source_include}"
+ "search locations: #{@env.path.image_source_include_local}," \
+ + "#{@env.path.image_source_include_remote} and" \
+ + "#{@env.path.image_source_include}"
).error2 unless @md.opt.act[:quiet][:set]==:on
nil
end
@@ -271,7 +282,9 @@ module SiSU_XML_ODF_ODT
@md.opt.act[:color_state][:set],
"ERROR - image:",
%{"#{i}" missing},
- "search locations: #{@env.path.image_source_include_local},#{@env.path.image_source_include_remote} and #{@env.path.image_source_include}"
+ "search locations: #{@env.path.image_source_include_local}," \
+ + "#{@env.path.image_source_include_remote} and" \
+ + "#{@env.path.image_source_include}"
).error2 unless @md.opt.act[:quiet][:set]==:on
nil
end
@@ -280,8 +293,10 @@ module SiSU_XML_ODF_ODT
# copy image to od image directory (unless exists)
# divide pixel dimension by 37.79485 and retain 3 decimal places
m=img[1]
- i=/^(\S+?\.(?:png|jpg|gif))/.match(m).captures.join if m =~/^(\S+?\.(?:png|jpg|gif))/
- c=/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/.match(m).captures.join if m =~/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/
+ i=/^(\S+?\.(?:png|jpg|gif))/.match(m).captures.join \
+ if m =~/^(\S+?\.(?:png|jpg|gif))/
+ c=/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/.match(m).captures.join \
+ if m =~/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/
w,h=/\s(\d+)x(\d+)/.match(m).captures if m =~/\s\d+x\d+/
w=(w.to_i/37.79485).to_s
h=(h.to_i/37.79485).to_s
@@ -290,7 +305,10 @@ module SiSU_XML_ODF_ODT
image_source=image_src(i)
if image_source
if FileTest.file?("#{image_source}/#{i}")
- FileUtils::cp("#{image_source}/#{i}","#{@env.processing_path.odt}/Pictures/#{i}")
+ FileUtils::cp(
+ "#{image_source}/#{i}",
+ "#{@env.processing_path.odt}/Pictures/#{i}"
+ )
else STDERR.puts %{\t*WARN* did not find image - "#{image_source}/#{i}" [#{__FILE__}:#{__LINE__}]}
end
end
@@ -325,7 +343,8 @@ module SiSU_XML_ODF_ODT
def text_link_odf(txt,url,trail)
txt=txt.gsub(/(\\\+)/,'+') #this is convoluted, and risky :-(
url=url.gsub(/(\\\+)/,'+') #this is convoluted, and risky :-(
- map_nametags=SiSU_Particulars::CombinedSingleton.instance.get_map_nametags(@md).nametags_map
+ map_nametags=SiSU_Particulars::CombinedSingleton.
+ instance.get_map_nametags(@md).nametags_map
t=case url
when /^https?:/
%{<text:a xl:type="simple" xl:href="#{url}">#{txt.strip}</text:a>#{trail}}
@@ -342,7 +361,8 @@ module SiSU_XML_ODF_ODT
end
t=map_nametags[url] \
&& map_nametags[url][:segname] \
- ? %{<text:a xl:type="simple" xl:href="#{@env.url.root}/#{@md.fnb}/#{map_nametags[url][:segname]}#{Sfx[:html]}##{url}">#{txt.strip}</text:a>#{trail}}
+ ? (%{<text:a xl:type="simple" xl:href="#{@env.url.root}/#{@md.fnb}/#{map_nametags[url][:segname]}#{Sfx[:html]}##{url}">} \
+ + %{#{txt.strip}</text:a>#{trail}})
: %{#{txt.strip}#{trail}}
end
t
@@ -359,7 +379,8 @@ module SiSU_XML_ODF_ODT
txt=txt.gsub(/([)(\]\[])/,"\\\\\\1").
gsub(/([+?*])/,"\\\\\\1") # problems with +
url=url.gsub(/([+?])/,"\\\\\\1") # problems with +
- dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:url_o]}#{url}#{Mx[:url_c]}/m,text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
+ dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:url_o]}#{url}#{Mx[:url_c]}/m,
+ text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
gsub(/\\([)(\]\[?])/,'\1') #clumsy fix
end
m=nil
@@ -374,7 +395,8 @@ module SiSU_XML_ODF_ODT
txt=txt.gsub(/([)(\]\[])/,"\\\\\\1").
gsub(/([+?*])/,"\\\\\\1") # problems with +
url=url.gsub(/([+?])/,"\\\\\\1") # problems with +
- dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,text_link_odf_bookmark(txt,url,trail)). #make sure trailing ']' are not caught in url
+ dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,
+ text_link_odf_bookmark(txt,url,trail)). #make sure trailing ']' are not caught in url
gsub(/\\([)(\]\[?])/,'\1') #clumsy fix
end
m=nil
@@ -387,7 +409,8 @@ module SiSU_XML_ODF_ODT
m.each do |i|
txt,url,trail=i[1],i[2]
txt=txt.gsub(/([)(\]\[])/,"\\\\\\1")
- dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
+ dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,
+ text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
gsub(/\\([)(\]\[?])/,'\1') #clumsy fix
end
m=nil
@@ -431,11 +454,13 @@ module SiSU_XML_ODF_ODT
@astx||=10000
@astxs||=20000
if str =~/#{Mx[:en_a_o]}\d+\s+/
- str=str.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/,'<text:note text:id="ftn\1" text:note-class="footnote"><text:note-citation>\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>')
+ str=str.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/,
+ '<text:note text:id="ftn\1" text:note-class="footnote"><text:note-citation>\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>')
end
if str =~/#{Mx[:en_a_o]}([*]+)\s+/
a=$1.gsub(/([*])/,"\\\\\\1")
- str=str.gsub(/#{Mx[:en_a_o]}([*]+)\s+(.+?)#{Mx[:en_a_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
+ str=str.gsub(/#{Mx[:en_a_o]}([*]+)\s+(.+?)#{Mx[:en_a_c]}/,
+ %{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
@astxs+=1
end
if str=~/#{Mx[:en_a_o]}[*+]+\s/
@@ -444,7 +469,8 @@ module SiSU_XML_ODF_ODT
a=x[0].gsub(/([*+])/,"\\\\\\1")
str=group_clean(str)
str=footnote_urls(str)
- str=str.gsub(/#{Mx[:en_a_o]}(#{a})\s+(.+?)#{Mx[:en_a_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
+ str=str.gsub(/#{Mx[:en_a_o]}(#{a})\s+(.+?)#{Mx[:en_a_c]}/,
+ %{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
@astx+=1
end
end
@@ -454,7 +480,8 @@ module SiSU_XML_ODF_ODT
a=x[0].gsub(/([*+])/,"\\\\\\1")
str=group_clean(str)
str=footnote_urls(str)
- str=str.gsub(/#{Mx[:en_b_o]}(#{a})\s+(.+?)#{Mx[:en_b_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
+ str=str.gsub(/#{Mx[:en_b_o]}(#{a})\s+(.+?)#{Mx[:en_b_c]}/,
+ %{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
@astx+=1
end
end
@@ -495,7 +522,8 @@ module SiSU_XML_ODF_ODT
dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each_with_index do |parablock,i|
set_ref=(i==0) ? "#{p_num[:set_ref]}#{set_bookmark_tag(dob)}" : ''
parablock=group_clean(parablock)
- parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,'<text:a xl:type="simple" xl:href="\1">').
+ parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,
+ '<text:a xl:type="simple" xl:href="\1">').
gsub(/&lt;(\/text:a)&gt;/,'<\1>').
gsub(/&lt;(text:note text:id=.+?)&gt;/,'<\1>').
gsub(/&lt;(text:p text:style-name="Footnote")&gt;/,'<\1>').
@@ -519,13 +547,15 @@ module SiSU_XML_ODF_ODT
dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each_with_index do |parablock,i|
set_ref=(i==0) ? "#{p_num[:set_ref]}#{set_bookmark_tag(dob)}" : ''
parablock=group_clean(parablock)
- parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,'<text:a xl:type="simple" xl:href="\1">').
+ parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,
+ '<text:a xl:type="simple" xl:href="\1">').
gsub(/&lt;(\/text:a)&gt;/,'<\1>').
gsub(/&lt;(text:note text:id=.+?)&gt;/,'<\1>').
gsub(/&lt;(text:p text:style-name="Footnote")&gt;/,'<\1>').
gsub(/&lt;(\/?text:(?:note-citation|note-body|note|p))&gt;/,'<\1>')
parablock=footnote(parablock)
- parray << %{<text:p text:style-name="P_group">#{set_ref}#{parablock}</text:p>} if parablock =~/\S+/
+ parray << %{<text:p text:style-name="P_group">#{set_ref}#{parablock}</text:p>} \
+ if parablock =~/\S+/
end
dob.obj=parray.join \
+ %{<text:p text:style-name="P_group">#{p_num[:display]}</text:p>} \
@@ -593,7 +623,7 @@ module SiSU_XML_ODF_ODT
if dob.is==:heading
@@odf[:body] << heading(dob,p_num).obj << break_line*2
if SiSU_Env::ProcessingSettings.new(md).build.toc?
- if dob.lv =~/[A-C1]/i
+ if dob.lv =~/[A-D1]/i
@@odf[:toc] << toc(dob,p_num).obj
end
end
@@ -623,8 +653,8 @@ module SiSU_XML_ODF_ODT
dir.path.odt_bld
@data_mod,@endnotes,@level,@cont,@copen,@odf_contents_close=Array.new(6){[]}
@rcdc=false
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @odf_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @odf_contents_close[x]='' }
odf_tail #($1,$2)
bullet=image_src('bullet_09.png')
if bullet
@@ -668,7 +698,8 @@ module SiSU_XML_ODF_ODT
dob.obj=dob.obj.gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'<del>\1</del>').
gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'<ins>\1</ins>').
gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'<cite>\1</cite>').
- gsub(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/,'<text:bookmark-start text:name="\1"/><text:bookmark-end text:name="\1"/>'). #check
+ gsub(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/,
+ '<text:bookmark-start text:name="\1"/><text:bookmark-end text:name="\1"/>'). #check
gsub(/#{Mx[:mk_o]}#([a-zA-Z]+)#{Mx[:mk_c]}/,'&\1;').
gsub(/#{Mx[:mk_o]}(#[0-9]+)#{Mx[:mk_c]}/,'&\1;').
gsub(/#{Mx[:mk_o]}[~-]##{Mx[:mk_c]}/,'')
@@ -706,7 +737,8 @@ module SiSU_XML_ODF_ODT
wordlist=dob.obj.scan(/\S+/)
dob.obj=tidywords(wordlist).join(' ').strip
@rcdc=true if @rcdc==false \
- and (dob.obj =~/~metadata/ or dob =~/#{Mx[:lv_o]}1:meta#{Mx[:lv_x]}\s*Document Information/) #fix Mx[:lv_o]
+ and (dob.obj =~/~metadata/ \
+ or dob =~/#{Mx[:lv_o]}1:meta#{Mx[:lv_x]}\s*Document Information/) #fix Mx[:lv_o]
if dob.is !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ #check
if defined? dob.ocn and dob.ocn =~/\d+/
@p_num=SiSU_XML_ODF_ODT_Format::ParagraphNumber.new(@make,dob.ocn)
@@ -835,7 +867,8 @@ WOK
end
od.close
opendoc=@md.file.base_filename.odt #watch where output by language
- FileUtils::mkdir_p(@md.file.output_path.odt.dir) unless FileTest.directory?(@md.file.output_path.odt.dir)
+ FileUtils::mkdir_p(@md.file.output_path.odt.dir) \
+ unless FileTest.directory?(@md.file.output_path.odt.dir)
if FileTest.directory?(@env.processing_path.odt) \
and SiSU_Env::SystemCall.new.zip
pwd=Dir.pwd
diff --git a/lib/sisu/v6/xml_odf_odt_format.rb b/lib/sisu/v6/xml_odf_odt_format.rb
index 68457d00..09c039bc 100644
--- a/lib/sisu/v6/xml_odf_odt_format.rb
+++ b/lib/sisu/v6/xml_odf_odt_format.rb
@@ -166,6 +166,8 @@ module SiSU_XML_ODF_ODT_Format
end
def heading_body6
end
+ def heading_body7
+ end
end
class Table
@@tablehead,@@table_counter=0,0 #reinitialise on new file
diff --git a/lib/sisu/v6/xml_sax.rb b/lib/sisu/v6/xml_sax.rb
index d90b552b..d595e4a4 100644
--- a/lib/sisu/v6/xml_sax.rb
+++ b/lib/sisu/v6/xml_sax.rb
@@ -333,8 +333,8 @@ WOK
@endnotes,@level,@cont,@copen,@xml_contents_close=[],[],[],[],[]
@rcdc=false
xml_head
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @xml_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @xml_contents_close[x]='' }
data.each do |dob|
@trans.char_enc.utf8(dob) if @sys.locale =~/utf-?8/i #% utf8
dob=@trans.markup(dob)
@@ -361,6 +361,7 @@ WOK
when 4 then x.heading_body4
when 5 then x.heading_body5
when 6 then x.heading_body6
+ when 7 then x.heading_body7
end
else
if dob.is==:verse
@@ -415,7 +416,7 @@ WOK
dob.obj=dob.obj.gsub(/#{Mx[:pa_o]}:\S+#{Mx[:pa_c]}/,'') if dob.obj
end
end
- 6.downto(4) do |x|
+ 7.downto(4) do |x|
y=x - 1; v=x - 3
@@xml[:body] << "#{Ax[:tab]*5}</content>\n#{Ax[:tab]*y}</contents#{v}>" if @level[x]==true
end
@@ -423,7 +424,7 @@ WOK
y=x - 1
@@xml[:body] << "#{Ax[:tab]*y}</heading#{x}>" if @level[x]==true
end
- #6.downto(1) { |x| y=x - 1; @@xml[:body] << "#{Ax[:tab]*y}</level #{x}>" if @level[x]==true }
+ #7.downto(1) { |x| y=x - 1; @@xml[:body] << "#{Ax[:tab]*y}</level #{x}>" if @level[x]==true }
end
def pre
rdf=SiSU_XML_Tags::RDF.new(@md)