From 728ed46232abea87eb1f0d5fabd52dc710b1e922 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Wed, 5 Feb 2014 00:48:39 -0500 Subject: v5 v6: options, ocn switch on/off instructions (& defaults for plaintext & odt) --- lib/sisu/v5/options.rb | 40 ++++++++++++++++++++++++++++++---------- lib/sisu/v5/sysenv.rb | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 10 deletions(-) (limited to 'lib/sisu/v5') diff --git a/lib/sisu/v5/options.rb b/lib/sisu/v5/options.rb index d3a40407..bce0a8a4 100644 --- a/lib/sisu/v5/options.rb +++ b/lib/sisu/v5/options.rb @@ -666,9 +666,9 @@ module SiSU_Commandline { set: :filetype } else { set: :na } end - act[:ocn]=if mod.inspect =~/"--inc-ocn"/ + act[:ocn]=if mod.inspect =~/"--ocn"|"--inc-ocn"/ { bool: true, set: :on } - elsif mod.inspect =~/"--(?:exc|no)-ocn"/ \ + elsif mod.inspect =~/"--no-ocn"|"--exc-ocn"/ \ || act[:switch][:off].inspect =~/"ocn"/ { bool: false, set: :off } else { bool: true, set: :na } @@ -865,10 +865,20 @@ module SiSU_Commandline || mod.inspect =~/"--epub"/) \ ? { bool: true, set: :on } : { bool: false, set: :na } - act[:odt]=(cmd =~/o/ \ - || mod.inspect =~/"--odt"|"--odf"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } + act[:odt]=if cmd =~/o/ \ + or mod.inspect =~/"--odt"|"--odf"|"--odt-ocn"|"--odf-ocn"/ + act[:odt_ocn]=if (mod.inspect =~/"--odt-ocn"|"--odf-ocn"/ \ + or mod.inspect =~/"--ocn"|"--inc-ocn"/) + { bool: true, set: :on } + elsif mod.inspect =~/"--no-ocn"|"--exc-ocn"/ + { bool: false, set: :off } + else + { bool: false, set: :na } + end + { bool: true, set: :on } + else + { bool: false, set: :na } + end act[:xml_sax]=(cmd =~/x/ \ || mod.inspect =~/"--xml-sax"/) \ ? { bool: true, set: :on } @@ -894,10 +904,20 @@ module SiSU_Commandline || mod.inspect =~/"--xhtml"/) \ ? { bool: true, set: :on } : { bool: false, set: :na } - act[:txt]=(cmd =~/[at]/ \ - || mod.inspect =~/"--txt"/) \ - ? { bool: true, set: :on } - : { bool: false, set: :na } + act[:txt]=if cmd =~/[at]/ \ + or mod.inspect =~/"--txt"|"--text"|"--plaintext"|"--txt-ocn"|"--text-ocn"|"--plaintext-ocn"/ + act[:txt_ocn]=if (mod.inspect =~/"--txt-ocn"|"--text-ocn"|"--plaintext-ocn"/ \ + or mod.inspect =~/"--ocn"|"--inc-ocn"/) + { bool: true, set: :on } + elsif mod.inspect =~/"--no-ocn"|"--exc-ocn"/ + { bool: false, set: :off } + else + { bool: false, set: :na } + end + { bool: true, set: :on } + else + { bool: false, set: :na } + end act[:txt_textile]=(mod.inspect =~/"--textile"/) \ ? { bool: true, set: :on } : { bool: false, set: :na } diff --git a/lib/sisu/v5/sysenv.rb b/lib/sisu/v5/sysenv.rb index 3779ff51..f2b5bd27 100644 --- a/lib/sisu/v5/sysenv.rb +++ b/lib/sisu/v5/sysenv.rb @@ -3905,6 +3905,40 @@ WOK true end end + def plaintext_ocn? + if cmd_rc_act[:txt_ocn][:set]==:on \ + or cmd_rc_act[:ocn][:set]==:on + true + elsif cmd_rc_act[:txt_ocn][:set]==:off \ + or cmd_rc_act[:ocn][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.ocn? \ + and doc_rc.toc? ==:off + false + elsif env_rc.build.ocn? ==:off + false + else + false + end + end + def odt_ocn? + if cmd_rc_act[:odt_ocn][:set]==:on \ + or cmd_rc_act[:ocn][:set]==:on + true + elsif cmd_rc_act[:odt_ocn][:set]==:off \ + or cmd_rc_act[:ocn][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.ocn? \ + and doc_rc.toc? ==:off + false + elsif env_rc.build.ocn? ==:off + false + else + false + end + end def html_strict? if cmd_rc_act[:html_strict][:set]==:on true @@ -4154,6 +4188,11 @@ WOK end self end + def ocn_html_identifier + (build.html_strict?) \ + ? Mx[:ocn_id_char] + : '' + end def output_dir_structure def by_language_code? if cmd_rc_act[:output_by][:set] == :language -- cgit v1.2.3