From 3a263de6877c27071c2a6f3389b6eaf5c2455ede Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 15 Feb 2011 13:19:16 -0500 Subject: sysenv, sisurc.yml & elsewhere as affected, output_dir_structure (conf & tests) * (by_language_code; by_filetype; by_filename) --- lib/sisu/v3/sysenv.rb | 185 +++++++++++++++++++++++++++++--------------------- 1 file changed, 109 insertions(+), 76 deletions(-) (limited to 'lib/sisu/v3/sysenv.rb') diff --git a/lib/sisu/v3/sysenv.rb b/lib/sisu/v3/sysenv.rb index ff10849c..c3d16778 100644 --- a/lib/sisu/v3/sysenv.rb +++ b/lib/sisu/v3/sysenv.rb @@ -399,30 +399,56 @@ module SiSU_Env end @fnn,@fnb,@fnt,@flv,@fnz=@@fnn,@@fnb,@@fnt,@@flv,@@fnz end - def by_language? - x=(defined? @rc['output_structure']['by_language'] \ - && @rc['output_structure']['by_language'] ==true) \ - ? @rc['output_structure']['by_language'] \ - : false - end - def by_filetype? - x=if by_language? - true - else - x=(defined? @rc['output_structure']['by_filetype'] \ - && @rc['output_structure']['by_filetype'] ==true) \ - ? @rc['output_structure']['by_filetype'] \ - : false + def output_dir_structure + def by_language_code? + x=if defined? @rc['output_dir_structure_by'] \ + and @rc['output_dir_structure_by'] =~/language/ + true + else defined? @rc['output_structure']['by_language'] + (defined? @rc['output_structure']['by_language'] \ + && @rc['output_structure']['by_language'] ==true) \ + ? true \ + : false + end end - end - def multilingual? - by_language? + def by_filetype? + x=if by_language_code? + false + elsif defined? @rc['output_dir_structure_by'] \ + and @rc['output_dir_structure_by'] =~/filetype/ + true + else + x=(defined? @rc['output_structure']['by_filetype'] \ + && @rc['output_structure']['by_filetype'] ==true) \ + ? true \ + : false + end + end + def by_filename? + x=if by_language_code? + false + elsif by_filetype? + false + elsif defined? @rc['output_dir_structure_by'] \ + and @rc['output_dir_structure_by'] =~/filename/ + true + elsif defined? @rc['output_structure']['by_filename'] \ + and @rc['output_structure']['by_filename'] ==true + true + else + true + end + end + def multilingual? + by_language_code? + end + self end def document_language_versions_found @fn={} unless (@fns.nil? \ or @fns.empty?) - if multilingual? + if output_dir_structure.by_language_code? m=/((.+?)(?:\~\w{2,3})?)\.((?:-|ssm\.)?sst$)/ @fn[:b],@fn[:m],@fn[:t]=@fns[m,1],@fns[m,2],@fns[m,3] else m=/(.+?)\.((?:-|ssm\.)?sst$)/ @@ -453,7 +479,7 @@ module SiSU_Env @m=[] unless (@fns.nil? \ or @fns.empty?) - if multilingual? + if output_dir_structure.by_language_code? m=/((.+?)(?:\~\w{2,3})?)\.((?:-|ssm\.)?sst$)/ @fn[:b],@fn[:m],@fn[:t]=@fns[m,1],@fns[m,2],@fns[m,3] else m=/(.+?)\.((?:-|ssm\.)?sst$)/ @@ -1909,7 +1935,7 @@ WOK else %{(SiSU (generated sample) search form} end end - def output_tell + def output_tell #BROKEN Revisit 2011-02 output_type=if defined? @rc['show_output_on'] \ and @rc['show_output_on'] =~/^(?:filesystem|webserv|(?:local|remote)(?:_webserv)?|webrick)/ @rc['show_output_on'] @@ -2136,7 +2162,7 @@ WOK #end def lang_filename(l) @lang={} - x=if multilingual? + x=if output_dir_structure.by_language_code? (( defined? @rc['default']['language_file']) \ && @rc['default']['language_file'] != nil) \ ? @rc['default']['language_file'] \ @@ -2270,7 +2296,7 @@ WOK ft=[] if @md \ and defined? @md.fn \ - and @md.fn # used for multilingual? + and @md.fn # used for by_language_code? if @md.cmd =~ /[hH]/ ft << @md.fn[:html] end @@ -2850,63 +2876,63 @@ WOK end def path_rel_links def html_scroll_2 - if @env.multilingual? + if @env.output_dir_structure.by_language_code? '../../' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? '../' else '../' end end def html_seg_2 - if @env.multilingual? + if @env.output_dir_structure.by_language_code? '../../../' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? '../../' else '../../' end end def html_scroll_1 - if @env.multilingual? + if @env.output_dir_structure.by_language_code? '../' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? '../' else '/' end end def html_seg_1 - if @env.multilingual? + if @env.output_dir_structure.by_language_code? '../../' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? '../../' else '/' end end def html_scroll_css - if @env.multilingual? + if @env.output_dir_structure.by_language_code? '../../' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? '../' else '../' end end def html_seg_css - if @env.multilingual? + if @env.output_dir_structure.by_language_code? '../../../' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? '../../' else '../' end end def manifest_css - if @env.multilingual? + if @env.output_dir_structure.by_language_code? '../../_sisu/css' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? '' else '../' @@ -2935,14 +2961,21 @@ WOK ensure end end - def by_language? - @env.by_language? - end - def by_filetype? - @env.by_filetype? - end - def multilingual? - by_language? + def output_dir_structure + def by_language_code? + @env.output_dir_structure.by_language_code? + end + def by_filetype? + @env.output_dir_structure.by_filetype? + end + def by_filename? + @env.output_dir_structure.by_filename? + end + def multilingual? + @env.output_dir_structure.by_language_code? + #by_language_code? + end + self end def mkdir_initialize # not used but consider using mkdir_p(output_path.base) unless FileTest.directory?(output_path.base) @@ -3122,9 +3155,9 @@ WOK end def base_filename def txt - if @env.multilingual? + if @env.output_dir_structure.by_language_code? @md.fnb + '.txt' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? @md.fnb + @md.fn[:plain] else 'plain' + @md.fn[:plain] @@ -3132,9 +3165,9 @@ WOK end def html_scroll #"#{@md.fnl[:pre]}scroll#{@md.fnl[:mid]}.html#{@md.fnl[:post]}" - if @env.multilingual? + if @env.output_dir_structure.by_language_code? @md.fnb + '.html' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? @md.fnb + @md.fn[:html] else 'scroll' + @md.fn[:html] @@ -3142,7 +3175,7 @@ WOK end def html_seg_index #"#{@md.fnl[:pre]}index#{@md.fnl[:mid]}.html#{@md.fnl[:post]}" - if @env.multilingual? + if @env.output_dir_structure.by_language_code? 'toc.html' else 'index' + @md.fn[:html] @@ -3150,37 +3183,37 @@ WOK end def html_segtoc #"#{@md.fnl[:pre]}toc#{@md.fnl[:mid]}.html#{@md.fnl[:post]}" - if @env.multilingual? + if @env.output_dir_structure.by_language_code? 'toc.html' else 'toc' + @md.fn[:html] end end def html_book_index - if @env.multilingual? + if @env.output_dir_structure.by_language_code? 'book_index.html' else 'book_index.' + @md.fn[:html] end end def html_concordance - if @env.multilingual? + if @env.output_dir_structure.by_language_code? 'concordance.html' else 'concordance' + @md.fn[:html] end end def xhtml - if @env.multilingual? + if @env.output_dir_structure.by_language_code? @md.fnb + '.xhtml' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? @md.fnb + '.' + @md.fn[:xhtml] else 'scroll.' + @md.fn[:xhtml] end end def epub - if @env.multilingual? + if @env.output_dir_structure.by_language_code? @md.fnb + '.epub' else @md.fnb + @md.fn[:epub] @@ -3188,42 +3221,42 @@ WOK end def odt #"#{@md.fnl[:pre]}#{@md.fnb}#{@md.fnl[:mid]}.odt#{@md.fnl[:post]}" - if @env.multilingual? + if @env.output_dir_structure.by_language_code? @md.fnb + '.odt' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? @md.fnb + @md.fn[:odf] else 'opendocument' + @md.fn[:odf] end end def xml_sax - if @env.multilingual? + if @env.output_dir_structure.by_language_code? @md.fnb + '.sax.xml' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? @md.fnb + '.' + @md.fn[:sax] else 'scroll.' + @md.fn[:sax] end end def xml_dom - if @env.multilingual? + if @env.output_dir_structure.by_language_code? @md.fnb + '.dom.xml' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? @md.fnb + '.' + @md.fn[:dom] else 'scroll.' + @md.fn[:dom] end end def pdf_p - if @env.multilingual? \ - or @env.by_filetype? + if @env.output_dir_structure.by_language_code? \ + or @env.output_dir_structure.by_filetype? @md.fnb + '.portrait.' else 'portrait.' end end def pdf_l - if @env.multilingual? \ - or @env.by_filetype? + if @env.output_dir_structure.by_language_code? \ + or @env.output_dir_structure.by_filetype? @md.fnb + '.landscape.' else 'landscape.' end @@ -3259,34 +3292,34 @@ WOK pdf_l + @md.fn[:pdf_l_legal] end def manpage - if @env.multilingual? + if @env.output_dir_structure.by_language_code? @md.fnb + '.1' else @md.fnb + '.' + @md.fn[:manpage] end end def hash_digest - if @env.multilingual? + if @env.output_dir_structure.by_language_code? @md.fnb + '.hash_digest.txt' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? @md.fnb + '.' + @md.fn[:digest] else 'digest.' + @md.fn[:digest] end end def sitemap - if @env.multilingual? + if @env.output_dir_structure.by_language_code? @md.fnb + '.sitemap.xml' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? @md.fnb + '.' + @md.fn[:sitemap] else 'sitemap.' + @md.fn[:sitemap] end end def manifest - if @env.multilingual? + if @env.output_dir_structure.by_language_code? @md.fnb + '.manifest.html' - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? @md.fnb + '.' + @md.fn[:manifest] else 'sisu_' + @md.fn[:manifest] @@ -3319,23 +3352,23 @@ WOK : @md.i18n[0] end def set_path_abc(ft) - if @env.multilingual? + if @env.output_dir_structure.by_language_code? "#{output_path.base}/#{lang_part}/#{ft}" - elsif @env.by_filetype? + elsif @env.output_dir_structure.by_filetype? "#{output_path.base}/#{ft}" else "#{output_path.base}/#{@md.fnb}" end end def set_path_ab(ft) - if @env.multilingual? + if @env.output_dir_structure.by_language_code? "#{output_path.base}/#{lang_part}/#{ft}" else "#{output_path.base}/#{ft}" end end def set_path_ab_src(ft) - if @env.multilingual? + if @env.output_dir_structure.by_language_code? "#{output_path.base}/#{ft}/#{lang_part}" else "#{output_path.base}/#{ft}" -- cgit v1.2.3