aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v3dv/sysenv.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v3dv/sysenv.rb')
-rw-r--r--lib/sisu/v3dv/sysenv.rb503
1 files changed, 339 insertions, 164 deletions
diff --git a/lib/sisu/v3dv/sysenv.rb b/lib/sisu/v3dv/sysenv.rb
index fcfc234b..95ebf6d9 100644
--- a/lib/sisu/v3dv/sysenv.rb
+++ b/lib/sisu/v3dv/sysenv.rb
@@ -435,27 +435,27 @@ module SiSU_Env
end
def dump?
((by?) ==:dump) \
- ? true \
+ ? true
: false
end
def redirect?
((by?) ==:redirect) \
- ? true \
+ ? true
: false
end
def by_language_code?
((by?) ==:language) \
- ? true \
+ ? true
: false
end
def by_filetype?
((by?) ==:filetype) \
- ? true \
+ ? true
: false
end
def by_filename?
((by?) ==:filename) \
- ? true \
+ ? true
: false
end
def multilingual?
@@ -804,9 +804,10 @@ module SiSU_Env
end
def makeinfo #texinfo
program='makeinfo'
+ options='' #'--force' #''
program_ref="\n\t\tsee http://www.gnu.org/software/texinfo/"
(program_found?(program)) \
- ? system("#{program} #{@input}\n")
+ ? system("#{program} #{options} #{@input}\n")
: (puts "\tWARN: #{program} is not installed #{program_ref}")
end
def scp
@@ -1193,13 +1194,6 @@ module SiSU_Env
end
end
def manifest_minitoc?
- flag=if defined? @rc['manifest']['minitoc'] \
- and not @rc['manifest']['minitoc'].nil?
- @rc['manifest']['minitoc']
- else false
- end
- end
- def manifest_minitoc?
flag=if (defined? @rc['manifest']['minitoc'] \
and not @rc['manifest']['minitoc'].nil?)
@rc['manifest']['minitoc']
@@ -1222,7 +1216,7 @@ module SiSU_Env
listed=if omit_list
x=(omit_list.scan(/\b#{test}\b/)).join
test==x \
- ? true \
+ ? true
: false
else
false
@@ -1230,48 +1224,67 @@ module SiSU_Env
listed
end
def ocn?
- flag=if (defined? @rc['omit']['ocn'] \
+ if (defined? @rc['omit']['ocn'] \
and not @rc['omit']['ocn'].nil?) \
or listed?('ocn')
- false
+ :off
else
- true
+ :na
end
end
def toc?
- flag=if (defined? @rc['omit']['toc'] \
+ if (defined? @rc['omit']['toc'] \
and not @rc['omit']['toc'].nil?) \
or listed?('toc')
- false
+ :off
else
- true
+ :na
end
end
def manifest?
- flag=if (defined? @rc['omit']['manifest'] \
+ if (defined? @rc['omit']['manifest'] \
and not @rc['omit']['manifest'].nil?) \
or listed?('manifest')
- false
+ :off
else
- true
+ :na
end
end
- def manifest_links?
- flag=if (defined? @rc['omit']['manifest_links'] \
- and not @rc['omit']['manifest_links'].nil?) \
- or listed?('manifest_links')
- false
+ def links_to_manifest?
+ flag=if (defined? @rc['omit']['links_to_manifest'] \
+ and not @rc['omit']['links_to_manifest'].nil?) \
+ or (listed?('links_to_manifest') \
+ || listed?('manifest_links'))
+ :off
else
- true
+ :na
+ end
+ end
+ def metadata?
+ if (defined? @rc['omit']['metadata'] \
+ and not @rc['omit']['metadata'].nil?) \
+ or listed?('metadata')
+ :off
+ else
+ :na
+ end
+ end
+ def minitoc?
+ flag=if (defined? @rc['omit']['minitoc'] \
+ and not @rc['omit']['minitoc'].nil?) \
+ or (listed?('minitoc'))
+ :off
+ else
+ :na
end
end
def manifest_minitoc?
flag=if (defined? @rc['omit']['manifest_minitoc'] \
and not @rc['omit']['manifest_minitoc'].nil?) \
or listed?('manifest_minitoc')
- false
+ :off
else
- true
+ :na
end
end
def html_minitoc?
@@ -1279,45 +1292,72 @@ module SiSU_Env
and not @rc['omit']['html_minitoc'].nil?) \
or (listed?('html_minitoc') \
|| listed?('minitoc'))
- false
+ :off
else
- true
+ :na
end
end
def html_navigation?
flag=if (defined? @rc['omit']['html_navigation'] \
and not @rc['omit']['html_navigation'].nil?) \
or listed?('html_navigation')
- false
+ :off
else
- true
+ :na
end
end
def html_navigation_bar?
flag=if (defined? @rc['omit']['html_navigation_bar'] \
and not @rc['omit']['html_navigation_bar'].nil?) \
or listed?('html_navigation_bar')
- false
+ :off
else
- true
+ :na
end
end
- def html_search_form?
- flag=if (defined? @rc['omit']['html_search_form'] \
- and not @rc['omit']['html_search_form'].nil?) \
- or listed?('html_search_form')
- false
+ def segsubtoc?
+ flag=if (defined? @rc['omit']['segsubtoc'] \
+ and not @rc['omit']['segsubtoc'].nil?) \
+ or listed?('segsubtoc')
+ :off
else
- true
+ :na
end
end
- def html_right_column?
- flag=if (defined? @rc['omit']['html_right_column'] \
- and not @rc['omit']['html_right_column'].nil?) \
- or listed?('html_right_column')
- false
+ def html_right_pane?
+ flag=if (defined? @rc['omit']['html_right_pane'] \
+ and not @rc['omit']['html_right_pane'].nil?) \
+ or listed?('html_right_pane')
+ :off
else
- true
+ :na
+ end
+ end
+ def html_top_band?
+ flag=if (defined? @rc['omit']['html_top_band'] \
+ and not @rc['omit']['html_top_band'].nil?) \
+ or listed?('html_top_band')
+ :off
+ else
+ :na
+ end
+ end
+ def search_form? #decide later, as is configured here (in sisurc) and can be turned off on command line
+ flag=if (defined? @rc['omit']['search_form'] \
+ and not @rc['omit']['search_form'].nil?) \
+ or listed?('search_form')
+ :off
+ else
+ :na
+ end
+ end
+ def html_search_form? #decide later, as is configured here (in sisurc) and can be turned off on command line
+ flag=if (defined? @rc['omit']['html_search_form'] \
+ and not @rc['omit']['html_search_form'].nil?) \
+ or listed?('html_search_form')
+ :off
+ else
+ :na
end
end
self
@@ -3467,41 +3507,274 @@ WOK
end
end
end
- class OutputStructure
+ class ProcessingSettings
def initialize(md)
@md=md
- @env=SiSU_Env::InfoEnv.new(@md.fns)
+ end
+ def cnf_rc #sisurc.yml
+ @rc=SiSU_Env::GetInit.instance.sisu_yaml.rc
+ end
+ def env_rc #env rc (including sisurc.yml)
+ @env_rc ||=SiSU_Env::InfoEnv.new(@md.fns)
+ end
+ def doc_rc #document rc, make instructions
+ @md.make
+ end
+ def cmd_rc #command-line rc
+ @cmd_rc=@md.opt.opt_act
+ end
+ def build
+ def ocn?
+ if cmd_rc[:ocn][:set]==:on
+ true
+ elsif cmd_rc[:ocn][:set]==:off
+ false
+ elsif @md.make.ocn? ==:off
+ false
+ elsif env_rc.build.ocn? ==:off
+ false
+ else
+ true
+ end
+ end
+ def toc?
+ if cmd_rc[:toc][:set]==:on
+ true
+ elsif cmd_rc[:toc][:set]==:off
+ false
+ elsif @md.make.toc? ==:off
+ false
+ elsif env_rc.build.toc? ==:off
+ false
+ else
+ true
+ end
+ end
+ def manifest?
+ if cmd_rc[:manifest][:set]==:on
+ true
+ elsif cmd_rc[:manifest][:set]==:off
+ false
+ elsif @md.make.manifest? ==:off
+ false
+ elsif env_rc.build.manifest? ==:off
+ false
+ else
+ true
+ end
+ end
+ def links_to_manifest?
+ if cmd_rc[:links_to_manifest][:set]==:on
+ true
+ elsif cmd_rc[:links_to_manifest][:set]==:off
+ false
+ elsif @md.make.links_to_manifest? ==:off
+ false
+ elsif env_rc.build.links_to_manifest? ==:off
+ false
+ else
+ true
+ end
+ end
+ def metadata?
+ if cmd_rc[:metadata][:set]==:on
+ true
+ elsif cmd_rc[:metadata][:set]==:off
+ false
+ elsif @md.make.metadata? ==:off
+ false
+ elsif env_rc.build.metadata? ==:off
+ false
+ else
+ true
+ end
+ end
+ def minitoc?
+ if html_top_band? == false #one form of navigation necessary
+ true
+ elsif cmd_rc[:minitoc][:set]==:on
+ true
+ elsif cmd_rc[:minitoc][:set]==:off
+ false
+ elsif @md.make.minitoc? ==:off
+ false
+ elsif env_rc.build.minitoc? ==:off
+ false
+ else
+ true
+ end
+ end
+ def manifest_minitoc?
+ if html_top_band? == false #one form of navigation necessary
+ true
+ elsif cmd_rc[:manifest_minitoc][:set]==:on \
+ || cmd_rc[:minitoc][:set]==:on
+ true
+ elsif cmd_rc[:manifest_minitoc][:set]==:off \
+ || cmd_rc[:minitoc][:set]==:off
+ false
+ elsif @md.make.manifest_minitoc? ==:off \
+ || @md.make.minitoc? ==:off
+ false
+ elsif env_rc.build.manifest_minitoc? ==:off \
+ || env_rc.build.minitoc? ==:off
+ false
+ elsif minitoc? == false
+ false
+ else
+ true
+ end
+ end
+ def html_minitoc?
+ if html_top_band? == false #one form of navigation necessary
+ true
+ elsif cmd_rc[:html_minitoc][:set]==:on \
+ || cmd_rc[:minitoc][:set]==:on
+ true
+ elsif cmd_rc[:html_minitoc][:set]==:off \
+ || cmd_rc[:minitoc][:set]==:off
+ false
+ elsif @md.make.html_minitoc? ==:off \
+ || @md.make.minitoc? ==:off
+ false
+ elsif env_rc.build.html_minitoc? ==:off \
+ || env_rc.build.minitoc? ==:off
+ false
+ elsif minitoc? == false
+ false
+ else
+ true
+ end
+ end
+ def html_top_band?
+ if cmd_rc[:html_top_band][:set]==:on
+ true
+ elsif cmd_rc[:html_top_band][:set]==:off
+ false
+ elsif @md.make.html_top_band? ==:off
+ false
+ elsif env_rc.build.html_top_band? ==:off
+ false
+ else
+ true
+ end
+ end
+ def html_navigation?
+ if cmd_rc[:html_navigation][:set]==:on
+ true
+ elsif cmd_rc[:html_navigation][:set]==:off
+ false
+ elsif @md.make.html_navigation? ==:off
+ false
+ elsif env_rc.build.html_navigation? ==:off
+ false
+ else
+ true
+ end
+ end
+ def html_navigation_bar?
+ if cmd_rc[:html_navigation_bar][:set]==:on
+ true
+ elsif cmd_rc[:html_navigation_bar][:set]==:off
+ false
+ elsif @md.make.html_navigation_bar? ==:off
+ false
+ elsif env_rc.build.html_navigation_bar? ==:off
+ false
+ else
+ true
+ end
+ end
+ def search_form?
+ if cmd_rc[:search_form][:set]==:on
+ true
+ elsif cmd_rc[:search_form][:set]==:off
+ false
+ elsif @md.make.search_form? ==:off
+ false
+ elsif env_rc.build.search_form? ==:off
+ false
+ else
+ true
+ end
+ end
+ def html_search_form?
+ if cmd_rc[:html_search_form][:set]==:on \
+ || cmd_rc[:search_form][:set]==:on
+ true
+ elsif cmd_rc[:html_search_form][:set]==:off \
+ || cmd_rc[:search_form][:set]==:off
+ false
+ elsif @md.make.html_search_form? ==:off \
+ || @md.make.search_form? ==:off
+ false
+ elsif env_rc.build.html_search_form? ==:off \
+ || env_rc.build.search_form? ==:off
+ false
+ elsif search_form? == false
+ false
+ else
+ true
+ end
+ end
+ def html_right_pane?
+ if cmd_rc[:html_right_pane][:set]==:on
+ true
+ elsif cmd_rc[:html_right_pane][:set]==:off
+ false
+ elsif @md.make.html_right_pane? ==:off
+ false
+ elsif env_rc.build.html_right_pane? ==:off
+ false
+ else
+ true
+ end
+ end
+ def segsubtoc?
+ if cmd_rc[:segsubtoc][:set]==:on
+ true
+ elsif cmd_rc[:segsubtoc][:set]==:off
+ false
+ elsif @md.make.segsubtoc? ==:off
+ false
+ elsif env_rc.build.segsubtoc? ==:off
+ false
+ else
+ true
+ end
+ end
+ self
end
def output_dir_structure
def by_language_code?
- @env.output_dir_structure.by_language_code?
+ env_rc.output_dir_structure.by_language_code?
end
def by_filetype?
- @env.output_dir_structure.by_filetype?
+ env_rc.output_dir_structure.by_filetype?
end
def by_filename?
- @env.output_dir_structure.by_filename?
+ env_rc.output_dir_structure.by_filename?
end
def multilingual?
by_language_code?
end
def dump?
- ((@md.opt.opt_act[:dump][:bool] \
- && @md.opt.opt_act[:dump][:inst]) \
- || (@env.output_dir_structure.dump?)) \
- ? true \
+ ((cmd_rc[:dump][:bool] \
+ && cmd_rc[:dump][:inst]) \
+ || (env_rc.output_dir_structure.dump?)) \
+ ? true
: false
end
def redirect?
- ((@md.opt.opt_act[:redirect][:bool] \
- && @md.opt.opt_act[:redirect][:inst]) \
- || (@env.output_dir_structure.redirect?)) \
- ? true \
+ ((cmd_rc[:redirect][:bool] \
+ && cmd_rc[:redirect][:inst]) \
+ || (env_rc.output_dir_structure.redirect?)) \
+ ? true
: false
end
def dump_or_redirect?
((dump?) || (redirect?)) \
- ? true \
+ ? true
: false
end
def by?
@@ -3532,7 +3805,7 @@ WOK
end
end
def output_dir_structure
- OutputStructure.new(@md).output_dir_structure
+ ProcessingSettings.new(@md).output_dir_structure
end
def mkdir_initialize # not used but consider using
FileUtils::mkdir_p(output_path.base.dir) unless FileTest.directory?(output_path.base.dir)
@@ -3585,7 +3858,7 @@ WOK
def html_seg_index
pth=((by_filename?) \
|| (output_dir_structure.dump?)) \
- ? "#{output_path.html.dir}" \
+ ? "#{output_path.html.dir}"
: "#{output_path.html.dir}/#{@md.fnb}"
fn=base_filename.html_seg_index
make_path(pth)
@@ -3595,7 +3868,7 @@ WOK
def html_segtoc
pth=((by_filename?) \
|| (output_dir_structure.dump?)) \
- ? "#{output_path.html.dir}" \
+ ? "#{output_path.html.dir}"
: "#{output_path.html.dir}/#{@md.fnb}"
fn=base_filename.html_segtoc
make_path(pth)
@@ -4949,104 +5222,6 @@ WOK
self
end
end
- class InfoSet #<InfoEnv
- def initialize(md)
- @md=md
- @env=SiSU_Env::InfoEnv.new(md.fns)
- end
- def heading_omit_list
- @md.make.omit_list
- end
- def not_heading_make_omit_listed?(test) #fix
- listed=if heading_omit_list
- x=(heading_omit_list.scan(/\b#{test}\b/)).join
- test==x \
- ? false \
- : true
- else
- true
- end
- listed
- end
- def ocn?
- @md.opt.opt_act[:ocn][:bool] \
- && (@env.build.ocn?) \
- ? true \
- : false
- end
- def toc?
- @md.opt.opt_act[:toc][:bool] \
- && (not_heading_make_omit_listed?('ocn')) \
- && (@env.build.toc?) \
- ? true \
- : false
- end
- def manifest?
- @md.opt.opt_act[:manifest][:bool] \
- && (not_heading_make_omit_listed?('manifest')) \
- && (@env.build.manifest?) \
- ? true \
- : false
- end
- def manifest_links?
- @md.opt.opt_act[:manifest_links][:bool] \
- && (not_heading_make_omit_listed?('manifest_links')) \
- && (@env.build.manifest_links?) \
- ? true \
- : false
- end
- def manifest_minitoc?
- @md.opt.opt_act[:manifest_minitoc][:bool] \
- && (not_heading_make_omit_listed?('manifest_minitoc')) \
- && (@env.build.manifest_minitoc?) \
- ? true \
- : false
- end
- def metadata?
- @md.opt.opt_act[:metadata][:bool] \
- && (not_heading_make_omit_listed?('metadata')) \
- && (@env.build.metadata?) \
- ? true \
- : false
- end
- def html_minitoc?
- @md.opt.opt_act[:html_minitoc][:bool] \
- && ((not_heading_make_omit_listed?('html_minitoc')) \
- || (not_heading_make_omit_listed?('minitoc'))) \
- && (@env.build.html_minitoc?) \
- ? true \
- : false
- end
- def html_navigation?
- @md.opt.opt_act[:html_navigation][:bool] \
- && (not_heading_make_omit_listed?('html_navigation')) \
- && (@env.build.html_navigation?) \
- ? true \
- : false
- end
- def html_navigation_bar?
- @md.opt.opt_act[:html_navigation_bar][:bool] \
- && (not_heading_make_omit_listed?('html_navigation_bar')) \
- && (@env.build.html_navigation_bar?) \
- ? true \
- : false
- end
- def html_search_form?
- @md.opt.opt_act[:html_search_form][:bool] \
- && (not_heading_make_omit_listed?('html_search_form')) \
- && (@env.build.html_search_form?) \
- ? true \
- : false
- end
- def html_right_column?
- @md.opt.opt_act[:html_right_column][:bool] \
- && ((not_heading_make_omit_listed?('html_right_column')) \
- || (not_heading_make_omit_listed?('html_promo'))) \
- && (@env.build.html_right_column?) \
- ? true \
- : false
- end
- end
class CreateFile <InfoEnv #todo unify with FileOp
def initialize(fns)
begin