aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/sisu/v3/css.rb12
-rw-r--r--lib/sisu/v3/epub_format.rb10
-rw-r--r--lib/sisu/v3/html.rb14
-rw-r--r--lib/sisu/v3/html_scroll.rb14
-rw-r--r--lib/sisu/v3/sysenv.rb3
-rw-r--r--lib/sisu/v4/css.rb10
-rw-r--r--lib/sisu/v4/epub_format.rb10
-rw-r--r--lib/sisu/v4/html.rb114
-rw-r--r--lib/sisu/v4/html_scroll.rb14
-rw-r--r--lib/sisu/v4/hub.rb45
-rw-r--r--lib/sisu/v4/options.rb24
-rw-r--r--lib/sisu/v4/sysenv.rb3
-rw-r--r--lib/sisu/v4/urls.rb12
13 files changed, 179 insertions, 106 deletions
diff --git a/lib/sisu/v3/css.rb b/lib/sisu/v3/css.rb
index cee2ea8e..c18d10c5 100644
--- a/lib/sisu/v3/css.rb
+++ b/lib/sisu/v3/css.rb
@@ -8,7 +8,7 @@
* Author: Ralph Amissah
* Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011, 2013, 2013 Ralph Amissah, All Rights Reserved.
+ 2007, 2008, 2009, 2010, 2011, 2012, 2013 Ralph Amissah, All Rights Reserved.
* License: GPL 3 or later:
@@ -428,10 +428,10 @@ WOK
}
.norm, .bold, .verse, .group, .block, .alt {
- line-height: 150%;
+ line-height: 133%;
margin-left: 0em;
margin-right: 2em;
- margin-top: 10px;
+ margin-top: 12px;
margin-bottom: 0px;
padding-left: 0em;
text-indent: 0em;
@@ -441,13 +441,13 @@ WOK
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
font-weight: normal;
- line-height: 150%;
+ line-height: 133%;
text-align: justify;
margin-left: 0em;
margin-right: 2em;
text-indent: 0mm;
- margin-top: 3px;
- margin-bottom: 3px;
+ margin-top: 4px;
+ margin-bottom: 4px;
}
/* indent */
diff --git a/lib/sisu/v3/epub_format.rb b/lib/sisu/v3/epub_format.rb
index 38717359..c202c2f6 100644
--- a/lib/sisu/v3/epub_format.rb
+++ b/lib/sisu/v3/epub_format.rb
@@ -151,10 +151,10 @@ module SiSU_EPUB_Format
}
.norm, .bold, .verse, .group, .block, .alt {
- line-height: 150%;
+ line-height: 133%;
margin-left: 0em;
margin-right: 2em;
- margin-top: 10px;
+ margin-top: 12px;
margin-bottom: 0px;
padding-left: 0em;
text-indent: 0mm;
@@ -164,13 +164,13 @@ module SiSU_EPUB_Format
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
font-weight: normal;
- line-height: 150%;
+ line-height: 133%;
text-align: justify;
margin-left: 0em;
margin-right: 2em;
text-indent: 0mm;
- margin-top: 3px;
- margin-bottom: 3px;
+ margin-top: 4px;
+ margin-bottom: 4px;
}
p.norm { }
p.i1 {padding-left: 1em;}
diff --git a/lib/sisu/v3/html.rb b/lib/sisu/v3/html.rb
index 2dbb688b..7faf8f99 100644
--- a/lib/sisu/v3/html.rb
+++ b/lib/sisu/v3/html.rb
@@ -542,14 +542,16 @@ WOK
toc_shared << format_head_toc.scroll_head_title_banner_open
@segtoc << format_head_toc.seg_head_title_banner_open
tmp_head=nil
- doc_title_endnote=@md.title.full.gsub(/(\*+)/,'<sup><a href="#endnotes">\1</a></sup>')
+ doc_title_endnote=@md.title.full.gsub(/(\*+)/,
+ '<sup><a href="#endnotes">\1</a></sup>')
tmp_head=doc_title_endnote + "\n"
txt_obj={ txt: tmp_head }
format_txt_obj=SiSU_HTML_Format::FormatTextObject.new(@md,txt_obj)
toc_shared << format_txt_obj.center_bold
@segtoc << format_txt_obj.center_bold
if defined? @md.creator.author
- creator_endnote=@md.creator.author.gsub(/(\*+)/,%{&nbsp;<sup><a href="#notes">\\1</a></sup>})
+ creator_endnote=@md.creator.author.gsub(/(\*+)/,
+ %{&nbsp;<sup><a href="#notes">\\1</a></sup>})
tmp_head=creator_endnote + "\n"
txt_obj={ txt: tmp_head }
format_txt_obj=SiSU_HTML_Format::FormatTextObject.new(@md,txt_obj)
@@ -657,11 +659,9 @@ WOK
ensure
@filename_html_segtoc.close
pwd_set=Dir.pwd
- idx_lnk=if @o_str.dump_or_redirect?
- @file.base_filename.manifest
- else
- @file.base_filename.html_segtoc
- end
+ idx_lnk=(@o_str.dump_or_redirect?) \
+ ? @file.base_filename.manifest
+ : @file.base_filename.html_segtoc
mlnk=@file.base_filename.html_seg_index
Dir.chdir(@file.output_path.html_seg.dir)
FileUtils::rm_f(mlnk)
diff --git a/lib/sisu/v3/html_scroll.rb b/lib/sisu/v3/html_scroll.rb
index 15bea9eb..07fa5d98 100644
--- a/lib/sisu/v3/html_scroll.rb
+++ b/lib/sisu/v3/html_scroll.rb
@@ -86,7 +86,8 @@ module SiSU_HTML_Scroll
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'
@@ -152,7 +153,8 @@ module SiSU_HTML_Scroll
sto.heading_body4
book_idx=SiSU_Particulars::CombinedSingleton.instance.get_idx_html(@md.opt).html_idx
book_idx.each do |x| #takes book index prepared for segments & strips segment identifying info
- x=x.gsub(/<a href="\S+?\.html#(\d+)">(\1(?:-\d+)?)<\/a>/,'<a href="#\1">\2</a>')
+ x.gsub!(/<a href="\S+?\.html#(\d+)">(\1(?:-\d+)?)<\/a>/,
+ '<a href="#\1">\2</a>')
end
book_idx.join("\n")
elsif dob.ln==5
@@ -170,11 +172,9 @@ module SiSU_HTML_Scroll
and dob.indent =~/[0-9]/ \
and dob.hang =~/[0-9]/
if dob.bullet_
- if dob.indent =~/[1-9]/
- sto.format('li',"i#{dob.indent}")
- else
- sto.format('li','bullet')
- end
+ (dob.indent =~/[1-9]/) \
+ ? sto.format('li',"i#{dob.indent}")
+ : sto.format('li','bullet')
elsif dob.indent == dob.hang
sto.format('p',"i#{dob.indent}")
elsif dob.indent != dob.hang
diff --git a/lib/sisu/v3/sysenv.rb b/lib/sisu/v3/sysenv.rb
index bfe35c5d..8ed17f88 100644
--- a/lib/sisu/v3/sysenv.rb
+++ b/lib/sisu/v3/sysenv.rb
@@ -4106,7 +4106,8 @@ WOK
end
def html_segtoc
pth=((by_filename?) \
- || (output_dir_structure.dump?)) \
+ || (output_dir_structure.dump?) \
+ || (output_dir_structure.redirect?)) \
? "#{output_path.html.dir}"
: "#{output_path.html.dir}/#{@md.fnb}"
fn=base_filename.html_segtoc
diff --git a/lib/sisu/v4/css.rb b/lib/sisu/v4/css.rb
index b1d47fce..ca526010 100644
--- a/lib/sisu/v4/css.rb
+++ b/lib/sisu/v4/css.rb
@@ -428,10 +428,10 @@ WOK
}
.norm, .bold, .verse, .group, .block, .alt {
- line-height: 150%;
+ line-height: 133%;
margin-left: 0em;
margin-right: 2em;
- margin-top: 10px;
+ margin-top: 12px;
margin-bottom: 0px;
padding-left: 0em;
text-indent: 0em;
@@ -441,13 +441,13 @@ WOK
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
font-weight: normal;
- line-height: 150%;
+ line-height: 133%;
text-align: justify;
margin-left: 0em;
margin-right: 2em;
text-indent: 0mm;
- margin-top: 3px;
- margin-bottom: 3px;
+ margin-top: 4px;
+ margin-bottom: 4px;
}
/* indent */
diff --git a/lib/sisu/v4/epub_format.rb b/lib/sisu/v4/epub_format.rb
index d8baae63..7be18331 100644
--- a/lib/sisu/v4/epub_format.rb
+++ b/lib/sisu/v4/epub_format.rb
@@ -151,10 +151,10 @@ module SiSU_EPUB_Format
}
.norm, .bold, .verse, .group, .block, .alt {
- line-height: 150%;
+ line-height: 133%;
margin-left: 0em;
margin-right: 2em;
- margin-top: 10px;
+ margin-top: 12px;
margin-bottom: 0px;
padding-left: 0em;
text-indent: 0mm;
@@ -164,13 +164,13 @@ module SiSU_EPUB_Format
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
font-weight: normal;
- line-height: 150%;
+ line-height: 133%;
text-align: justify;
margin-left: 0em;
margin-right: 2em;
text-indent: 0mm;
- margin-top: 3px;
- margin-bottom: 3px;
+ margin-top: 4px;
+ margin-bottom: 4px;
}
p.norm { }
p.i1 {padding-left: 1em;}
diff --git a/lib/sisu/v4/html.rb b/lib/sisu/v4/html.rb
index 57ac79c1..9e6ec0fa 100644
--- a/lib/sisu/v4/html.rb
+++ b/lib/sisu/v4/html.rb
@@ -101,16 +101,22 @@ module SiSU_HTML
data=nil
tuned_file_array=SiSU_HTML::Source::HTML_Environment.new(@particulars).tuned_file_instructions
data=tuned_file_array
- scr_endnotes=SiSU_HTML::Source::Endnotes.new(data,@md).scroll
+ if @opt.act[:html_scroll][:set]==:on
+ scr_endnotes=SiSU_HTML::Source::Endnotes.new(data,@md).scroll
+ end
toc=SiSU_HTML::Source::Toc.new(@md,data).songsheet
links_guide=SiSU_HTML::Source::LinksGuide.new(data,@md).toc
data=tuned_file_array
scr_toc=SiSU_HTML::Source::ScrollHeadAndSegToc.new(@md,toc,links_guide).in_common #watch
- SiSU_HTML::Source::Seg.new(@md,data).songsheet
+ if @opt.act[:html_seg][:set]==:on
+ SiSU_HTML::Source::Seg.new(@md,data).songsheet
+ end
data=tuned_file_array
- scr=SiSU_HTML::Source::Scroll.new(@md,data,scr_endnotes).songsheet
- scroll=SiSU_HTML::Source::ScrollOutput.new(scr_toc,scr[:body],scr[:metadata],scr[:owner_details],scr[:tails],@md).publish
- SiSU_HTML::Source::Output.new(scroll,@md).scroll
+ if @opt.act[:html_scroll][:set]==:on
+ scr=SiSU_HTML::Source::Scroll.new(@md,data,scr_endnotes).songsheet
+ scroll=SiSU_HTML::Source::ScrollOutput.new(scr_toc,scr[:body],scr[:metadata],scr[:owner_details],scr[:tails],@md).publish
+ SiSU_HTML::Source::Output.new(scroll,@md).scroll
+ end
rescue
SiSU_Errors::InfoError.new($!,$@,@opt.cmd,@opt.fns).error do
__LINE__.to_s + ':' + __FILE__
@@ -541,14 +547,16 @@ WOK
toc_shared << format_head_toc.scroll_head_title_banner_open
@segtoc << format_head_toc.seg_head_title_banner_open
tmp_head=nil
- doc_title_endnote=@md.title.full.gsub(/(\*+)/,'<sup><a href="#endnotes">\1</a></sup>')
+ doc_title_endnote=@md.title.full.gsub(/(\*+)/,
+ '<sup><a href="#endnotes">\1</a></sup>')
tmp_head=doc_title_endnote + "\n"
txt_obj={ txt: tmp_head }
format_txt_obj=SiSU_HTML_Format::FormatTextObject.new(@md,txt_obj)
toc_shared << format_txt_obj.center_bold
@segtoc << format_txt_obj.center_bold
if defined? @md.creator.author
- creator_endnote=@md.creator.author.gsub(/(\*+)/,%{&nbsp;<sup><a href="#notes">\\1</a></sup>})
+ creator_endnote=@md.creator.author.gsub(/(\*+)/,
+ %{&nbsp;<sup><a href="#notes">\\1</a></sup>})
tmp_head=creator_endnote + "\n"
txt_obj={ txt: tmp_head }
format_txt_obj=SiSU_HTML_Format::FormatTextObject.new(@md,txt_obj)
@@ -587,7 +595,9 @@ WOK
ads=SiSU_HTML_Promo::Ad.new(@md)
@segtoc << format_head_toc.seg_navigation_tail << ads.div.close << ads.display << format_head_toc.html_close
@segtoc=@segtoc.flatten.compact #watch
- SiSU_HTML::Source::Output.new(@segtoc,@md).segtoc
+ if @md.opt.act[:html_seg][:set]==:on
+ SiSU_HTML::Source::Output.new(@segtoc,@md).segtoc
+ end
@segtoc=[]
@toc[:scr],@toc[:seg]=[],[]
toc_shared
@@ -616,56 +626,58 @@ WOK
@o_str ||=SiSU_Env::ProcessingSettings.new(md).output_dir_structure
end
def scroll
- begin
- @filename_html_scroll=@file.write_file.html_scroll
- @data.each do |para|
- para=para.strip.
- gsub(/<:.+?>/,'').
- gsub(Xx[:html_relative2],@file.path_rel_links.html_scroll_2).
- gsub(Xx[:html_relative1],@file.path_rel_links.html_scroll_1).
- #gsub(/#{Xx[:html_relative]}/,@file.path_rel_links.html_scroll).
- gsub(/#{Rx[:mx_fa_clean]}/,'')
- unless para =~/\A\s*\Z/
- @filename_html_scroll.puts para,"\n"
+ if @md.opt.act[:html_scroll][:set]==:on
+ begin
+ @filename_html_scroll=@file.write_file.html_scroll
+ @data.each do |para|
+ para=para.strip.
+ gsub(/<:.+?>/,'').
+ gsub(Xx[:html_relative2],@file.path_rel_links.html_scroll_2).
+ gsub(Xx[:html_relative1],@file.path_rel_links.html_scroll_1).
+ #gsub(/#{Xx[:html_relative]}/,@file.path_rel_links.html_scroll).
+ gsub(/#{Rx[:mx_fa_clean]}/,'')
+ unless para =~/\A\s*\Z/
+ @filename_html_scroll.puts para,"\n"
+ end
end
+ rescue
+ SiSU_Errors::InfoError.new($!,$@,@md.opt.cmd,@md.fns).error do
+ __LINE__.to_s + ':' + __FILE__
+ end
+ ensure
+ @filename_html_scroll.close
end
- rescue
- SiSU_Errors::InfoError.new($!,$@,@md.opt.cmd,@md.fns).error do
- __LINE__.to_s + ':' + __FILE__
- end
- ensure
- @filename_html_scroll.close
end
end
def segtoc
- begin
- @filename_html_segtoc=@file.write_file.html_segtoc
- @data.each do |para|
- para=para.strip.
- gsub(/<!.+?!>/,'').
- gsub(Xx[:html_relative2],@file.path_rel_links.html_seg_2).
- gsub(Xx[:html_relative1],@file.path_rel_links.html_seg_1)
- unless para =~/\A\s*\Z/
- @filename_html_segtoc.puts para,"\n"
+ if @md.opt.act[:html_seg][:set]==:on
+ begin
+ @filename_html_segtoc=@file.write_file.html_segtoc
+ @data.each do |para|
+ para=para.strip.
+ gsub(/<!.+?!>/,'').
+ gsub(Xx[:html_relative2],@file.path_rel_links.html_seg_2).
+ gsub(Xx[:html_relative1],@file.path_rel_links.html_seg_1)
+ unless para =~/\A\s*\Z/
+ @filename_html_segtoc.puts para,"\n"
+ end
end
+ rescue
+ SiSU_Errors::InfoError.new($!,$@,@md.opt.cmd,@md.fns).error do
+ __LINE__.to_s + ':' + __FILE__
+ end
+ ensure
+ @filename_html_segtoc.close
+ pwd_set=Dir.pwd
+ idx_lnk=(@o_str.dump_or_redirect?) \
+ ? @file.base_filename.manifest
+ : @file.base_filename.html_segtoc
+ mlnk=@file.base_filename.html_seg_index
+ Dir.chdir(@file.output_path.html_seg.dir)
+ FileUtils::rm_f(mlnk)
+ FileUtils::ln_s(idx_lnk,mlnk)
+ Dir.chdir(pwd_set)
end
- rescue
- SiSU_Errors::InfoError.new($!,$@,@md.opt.cmd,@md.fns).error do
- __LINE__.to_s + ':' + __FILE__
- end
- ensure
- @filename_html_segtoc.close
- pwd_set=Dir.pwd
- idx_lnk=if @o_str.dump_or_redirect?
- @file.base_filename.manifest
- else
- @file.base_filename.html_segtoc
- end
- mlnk=@file.base_filename.html_seg_index
- Dir.chdir(@file.output_path.html_seg.dir)
- FileUtils::rm_f(mlnk)
- FileUtils::ln_s(idx_lnk,mlnk)
- Dir.chdir(pwd_set)
end
end
end
diff --git a/lib/sisu/v4/html_scroll.rb b/lib/sisu/v4/html_scroll.rb
index f8d104bb..a8d84c9d 100644
--- a/lib/sisu/v4/html_scroll.rb
+++ b/lib/sisu/v4/html_scroll.rb
@@ -86,7 +86,8 @@ module SiSU_HTML_Scroll
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'
@@ -152,7 +153,8 @@ module SiSU_HTML_Scroll
sto.heading_body4
book_idx=SiSU_Particulars::CombinedSingleton.instance.get_idx_html(@md.opt).html_idx
book_idx.each do |x| #takes book index prepared for segments & strips segment identifying info
- x=x.gsub(/<a href="\S+?\.html#(\d+)">(\1(?:-\d+)?)<\/a>/,'<a href="#\1">\2</a>')
+ x.gsub!(/<a href="\S+?\.html#(\d+)">(\1(?:-\d+)?)<\/a>/,
+ '<a href="#\1">\2</a>')
end
book_idx.join("\n")
elsif dob.ln==5
@@ -170,11 +172,9 @@ module SiSU_HTML_Scroll
and dob.indent =~/[0-9]/ \
and dob.hang =~/[0-9]/
if dob.bullet_
- if dob.indent =~/[1-9]/
- sto.format('li',"i#{dob.indent}")
- else
- sto.format('li','bullet')
- end
+ (dob.indent =~/[1-9]/) \
+ ? sto.format('li',"i#{dob.indent}")
+ : sto.format('li','bullet')
elsif dob.indent == dob.hang
sto.format('p',"i#{dob.indent}")
elsif dob.indent != dob.hang
diff --git a/lib/sisu/v4/hub.rb b/lib/sisu/v4/hub.rb
index a7b1a05a..2cfcee57 100644
--- a/lib/sisu/v4/hub.rb
+++ b/lib/sisu/v4/hub.rb
@@ -303,6 +303,15 @@ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on
if @opt.act[:html][:set]==:on #% --html, -h
require_relative 'html' # -h -H html.rb
SiSU_HTML::Source.new(@opt).read
+ else
+ if @opt.act[:html_seg][:set]==:on #% --html-seg
+ require_relative 'html' # -h -H html.rb
+ SiSU_HTML::Source.new(@opt).read
+ end
+ if @opt.act[:html_scroll][:set]==:on #% --html-scroll
+ require_relative 'html' # -h -H html.rb
+ SiSU_HTML::Source.new(@opt).read
+ end
end
if @opt.act[:concordance][:set]==:on #% --concordance, -w
require_relative 'concordance' # -w concordance.rb
@@ -628,10 +637,38 @@ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on
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 @opt.cmd =~/([abCcDdeFGgHhIjikLMmNnoPpQqRrSsTtUuVvWwXxYyZ_0-9])/ \
- and @opt.cmd =~/^-/ \
- and @opt.mod.inspect !~/--(?:sitemaps|query|identify)/ \
- or @opt.mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/
+ elsif @opt.act[:dal][:set]==:on \
+ or @opt.act[:manpage][:set]==:on \
+ or @opt.act[:texinfo][:set]==:on \
+ or @opt.act[:txt][:set]==:on \
+ or @opt.act[:html][:set]==:on \
+ or @opt.act[:html_scroll][:set]==:on \
+ or @opt.act[:html_seg][:set]==:on \
+ or @opt.act[:concordance][:set]==:on \
+ or @opt.act[:xhtml][:set]==:on \
+ or @opt.act[:epub][:set]==:on \
+ or @opt.act[:odt][:set]==:on \
+ or @opt.act[:xml_sax][:set]==:on \
+ or @opt.act[:xml_dom][:set]==:on \
+ or @opt.act[:pdf][:set]==:on \
+ or @opt.act[:psql][:set]==:on \
+ or @opt.act[:sqlite][:set]==:on \
+ or @opt.act[:sqlite_discreet][:set]==:on \
+ or @opt.act[:share_source][:set]==:on \
+ or @opt.act[:sisupod][:set]==:on \
+ or @opt.act[:qrcode][:set]==:on \
+ or @opt.act[:hash_digests][:set]==:on \
+ or @opt.act[:manifest][:set]==:on \
+ or @opt.act[:rsync][:set]==:on \
+ or @opt.act[:scp][:set]==:on \
+ or @opt.act[:webrick][:set]==:on \
+ or @opt.act[:zap][:set]==:on \
+ 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
do_loops
@msg,@msgs="\tsisu -W [to start ruby web-server on output directory]\n",nil unless @opt.act[:quiet][:set] ==:on
diff --git a/lib/sisu/v4/options.rb b/lib/sisu/v4/options.rb
index e26fcfc2..fbdfc8f3 100644
--- a/lib/sisu/v4/options.rb
+++ b/lib/sisu/v4/options.rb
@@ -471,6 +471,8 @@ module SiSU_Commandline
when /^--(?:dal?|machine|abstraction|abs)$/; c=c+'m'
when /^--(?:txt|text|plaintext)$/; c=c+'t'
when /^--(?:html)$/; c=c+'h'
+ when /^--(?:html-scroll|html-seg)$/; c=c+'H'
+ mod << m
when /^--(?:epub)$/; c=c+'e'
when /^--(?:od[ft])$/; c=c+'o'
when /^--(?:pdf)$/; c=c+'p'
@@ -757,10 +759,24 @@ module SiSU_Commandline
|| mod.inspect =~/"--dal"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:html]=(cmd =~/h/ \
- || mod.inspect =~/"--html"/) \
- ? { bool: true, set: :on }
- : { bool: false, set: :na }
+ act[:html]=if (cmd =~/h/ \
+ || mod.inspect =~/"--html"/)
+ act[:html_scroll]={ bool: true, set: :on }
+ act[:html_seg]={ bool: true, set: :on }
+ { bool: true, set: :on }
+ else
+ act[:html_scroll]=if mod.inspect =~/"--html-scroll"/
+ { bool: true, set: :on }
+ else
+ { bool: false, set: :na }
+ end
+ act[:html_seg]=if mod.inspect =~/"--html-seg"/
+ { bool: true, set: :on }
+ else
+ { bool: false, set: :na }
+ end
+ { bool: false, set: :na }
+ end
act[:concordance]=(cmd =~/w/ \
|| mod.inspect =~/"--concordance"/) \
? { bool: true, set: :on }
diff --git a/lib/sisu/v4/sysenv.rb b/lib/sisu/v4/sysenv.rb
index 2b36a222..d8b6f4fd 100644
--- a/lib/sisu/v4/sysenv.rb
+++ b/lib/sisu/v4/sysenv.rb
@@ -4208,7 +4208,8 @@ WOK
end
def html_segtoc
pth=((by_filename?) \
- || (output_dir_structure.dump?)) \
+ || (output_dir_structure.dump?) \
+ || (output_dir_structure.redirect?)) \
? "#{output_path.html.dir}"
: "#{output_path.html.dir}/#{@md.fnb}"
fn=base_filename.html_segtoc
diff --git a/lib/sisu/v4/urls.rb b/lib/sisu/v4/urls.rb
index a9a27bff..5e6bcc8a 100644
--- a/lib/sisu/v4/urls.rb
+++ b/lib/sisu/v4/urls.rb
@@ -316,11 +316,17 @@ module SiSU_Urls
show.epub(x)
end
if x=~/--html\b/ \
- and @opt.act[:html][:set]==:on
+ and (@opt.act[:html][:set]==:on \
+ or @opt.act[:html_scroll][:set]==:on \
+ or @opt.act[:html_seg][:set]==:on)
if x =~/scroll/
- show.html.scroll(x)
+ if @opt.act[:html_scroll][:set]==:on
+ show.html.scroll(x)
+ end
else
- show.html.toc(x)
+ if @opt.act[:html_seg][:set]==:on
+ show.html.toc(x)
+ end
end
end
if x=~/--texinfo\b/ \