diff options
author | Ralph Amissah <ralph@amissah.com> | 2012-03-12 18:45:04 -0400 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2012-03-12 18:45:07 -0400 |
commit | 756caa5d09492586824354864be6a5c9fe244005 (patch) | |
tree | 0eac01253f40ef786242092a5618adc724e013d4 /lib/sisu/v3dv/html_segments.rb | |
parent | v3dv: sysenv, param, options, output control hooks code modified (diff) |
v3dv: start using output control hooks
* for config file, document headers, & command line
* v3dv: sysenv, ProcessingSettings, start to use hooks to make it possible
to control (via: the command line; the document markup header, or; the
configuration file) the likes of: ocn, toc, segsubtoc, minitoc,
links-to-manifest, search-form, html-navigation, html-navigation-bar,
html-right-pane, html-top-band; these are switched on by default and may
be switched off in omit lists within configuration file, the document
markup header, or command line. The command line takes precedence & may
switch on or off overriding settings within the document markup header or
the sisu configuration file.
* --inc- on by default, but if switched off in doc header or
configuration, the command line --inc- has precedence; for each possible
exclude configuration the --inc- switch that overrides configuration
settings
* --exc- == --no-; exclude/switch off feature (but --inc- include has
precedence)
* document header @build: :omit: [list output features to be omitted]
* configuration (sisurc.yml) omit:
exclude output feature, overrides configuration settings (omit --dev
development branch modifier once merged back to main)
--exc-ocn, html (seg, scroll), epub, xml, pdf
sisu --dev --exc-ocn --html --epub --xml-sax --xml-dom --xhtml -v \
filename.sst
--exc-toc, html (scroll), epub, pdf
sisu --dev --exc-toc --html --epub --pdf -v filename.sst
--exc-segsubtoc html (seg), epub
sisu --dev --exc-segsubtoc --html --epub -v filename.sst
--exc-minitoc, html (seg), concordance, manifest
sisu --dev --exc-minitoc --html --concordance -v filename.sst
--exc-manifest-minitoc, manifest
sisu --dev --exc-manifest-minitoc --html -v filename.sst
--exc-links_to_manifest, --exc-manifest-links,
html (seg, scroll)
sisu --dev --exc-manifest-links --html -v filename.sst
--exc-search-form, html (seg, scroll), manifest
sisu --dev --exc-search-form --html -v filename.sst
--exc-html-minitoc, html (seg), concordance
sisu --dev --exc-html-minitoc --html --concordance -v filename.sst
--exc-html-navigation, html (seg, scroll)?
sisu --dev --exc-html-navigation --html -v filename.sst
--exc-html-navigation-bar, html (seg)
sisu --dev --exc-html-navigation-bar --html -v filename.sst
--exc-html-search-form, html (seg, scroll)
sisu --dev --exc-html-search-form --html -v filename.sst
--exc-html-right-pane, html (seg, scroll)
sisu --dev --exc-html-right-pane --html -v filename.sst
--exc-html-top-band, html (seg, scroll), concordance (minitoc is
forced on to provide seg navigation)
sisu --dev --exc-html-top-band --html --concordance -v filename.sst
Diffstat (limited to 'lib/sisu/v3dv/html_segments.rb')
-rw-r--r-- | lib/sisu/v3dv/html_segments.rb | 63 |
1 files changed, 47 insertions, 16 deletions
diff --git a/lib/sisu/v3dv/html_segments.rb b/lib/sisu/v3dv/html_segments.rb index b20d2271..b1dbf73f 100644 --- a/lib/sisu/v3dv/html_segments.rb +++ b/lib/sisu/v3dv/html_segments.rb @@ -66,11 +66,19 @@ module SiSU_HTML_Seg @md,@output_seg_file,@seg,@minitoc,@type=md,outputfile,seg,minitoc,type @title_banner_=SiSU_Env::CreateSite.new(@md.opt.cmd).html_seg_title_banner? @file=SiSU_Env::FileOp.new(@md) + @make=SiSU_Env::ProcessingSettings.new(@md) + @cl=(@make.build.html_minitoc?) \ + ? 'content' + : 'content0' end def output if @seg[:title] =~/\S/ filename_seg=[] - filename_seg << @seg[:title] << @seg[:tocband_banner] + if @make.build.html_top_band? + filename_seg << @seg[:title] << @seg[:tocband_banner] + else + filename_seg << @seg[:title] + end if @type=='endnotes' @seg[:headings]=[] format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) @@ -80,7 +88,7 @@ module SiSU_HTML_Seg 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="content">\n} << @seg[:endnote_all] << '</div>' # << '</div>' + 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) @@ -90,7 +98,7 @@ module SiSU_HTML_Seg 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="content">\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]=[] @@ -101,11 +109,19 @@ module SiSU_HTML_Seg 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="content">\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" + else + 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] else - filename_seg << @minitoc << @seg[:headings] << @seg[:main] << "\n</div>\n" + @seg[:tail] << @seg[:credits] end - filename_seg << @seg[:tail] << @seg[:tocband_bannerless] << @seg[:credits] filename_seg=filename_seg.flatten.compact #watch filename_seg.each do |str| unless str =~/\A\s*\Z/ @@ -138,7 +154,13 @@ module SiSU_HTML_Seg @seg_name_html=@@seg_name_html || nil @seg_name_html_tracker=@@tracker || nil @env=SiSU_Env::InfoEnv.new(@md.fns) if @md - @make=SiSU_Env::InfoSet.new(@md) if @md + if @md + @make=SiSU_Env::ProcessingSettings.new(@md) + @cl=(@make.build.html_minitoc?) \ + ? 'content' + : 'content0' + else @cl='content' + end if @md @title_banner_=SiSU_Env::CreateSite.new(@md.opt.cmd).html_seg_title_banner? end @@ -245,7 +267,7 @@ module SiSU_HTML_Seg SiSU_HTML_Seg::Seg.new(@md).tail segfilename="#{@file.output_path.html_seg.dir}/#{@@seg_name_html[tracking-1]}#{@md.lang_code_insert}#{Sfx[:html]}" output_seg_file=File.new(segfilename,'w') if @@seg_name_html[tracking-1] - minitoc=(@make.html_minitoc?) \ + minitoc=(@make.build.html_minitoc?) \ ? @minitoc : '' if dob.is==:heading \ @@ -306,12 +328,19 @@ module SiSU_HTML_Seg end def heading_art(dob) format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) - if (dob.is==:heading \ - || dob.is==:heading_insert) \ - && (dob.ln.to_s =~/^[1-6]/) - if @@tracker < @@seg_total-1; @@seg[:dot_nav]=format_head_seg.dot_control_pre_next - else @@seg[:dot_nav]=format_head_seg.dot_control_pre + @@seg[:dot_nav]=if (@make.build.html_navigation?) \ + && (@make.build.html_navigation_bar?) + x=if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && (dob.ln.to_s =~/^[1-6]/) + x=if @@tracker < @@seg_total-1 + format_head_seg.dot_control_pre_next + else + format_head_seg.dot_control_pre + end + else @@seg[:dot_nav] end + else @@seg[:dot_nav]='' end ads=SiSU_HTML_Promo::Ad.new(@md) @@seg[:title]=format_head_seg.head_seg << ads.div.major @@ -458,9 +487,11 @@ module SiSU_HTML_Seg if (dob.is==:heading \ || dob.is==:heading_insert) \ && dob.ln==4 - @@seg[:main] << %{\n<div class="content">\n} + @@seg[:main] << %{\n<div class="#{@cl}">\n} @@seg[:main] << dob_html - @@seg[:main] << @@seg_subtoc[@@get_hash_fn] #% insertion of sub-toc + if @make.build.segsubtoc? + @@seg[:main] << @@seg_subtoc[@@get_hash_fn] #% insertion of sub-toc + end else @@seg[:main] << dob_html #unless @@flag_alt==true end @@ -469,7 +500,7 @@ module SiSU_HTML_Seg def tail format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) if @md.flag_auto_endnotes and @@seg_endnotes[@@get_hash_fn] - @@seg[:tail] << %{\n<div class="content">\n<div class="endnote">\n} + @@seg[:tail] << %{\n<div class="#{@cl}">\n<div class="endnote">\n} if @@seg_endnotes[@@get_hash_fn].flatten.length > 0 @@seg[:tail] << format_head_seg.endnote_mark @@seg[:tail] << @@seg_endnotes[@@get_hash_fn].flatten #endnotes deposited at end of individual segments ||@|EXTRACTION OF ENDNOTES| |