[ HOME ] also see SiSU Metadata Harvest - Authors
#{@env.widget_static.search_form}
#{harvest_languages}
'
@alph.each do |x|
a << ((x =~/[0-9]/) \
? '' \
: %{#{x}, })
end
a=a.join
@the_idx.keys.each do |lng|
@output[lng][:html_mnt] << a if @opt.cmd.inspect =~/M/
@output[lng][:html] << a
end
end
def html_tail
a =<
#{string}
} do_html(lng,html) do_html_maintenance(lng,html) if @output[lng][:html_mnt].class==File end def do_string_default(lng,attrib,string) html=%{#{string}
} do_html(lng,html) end def do_string_maintenance(lng,attrib,string) html=%{#{string}
} do_html_maintenance(lng,html) if @output[lng][:html_mnt].class==File end def do_string_name(lng,attrib,string) f=/^(\S)/.match(string)[1] if @letter < f while @letter < f if @alph.length > 0 @letter=@alph.shift if @output[lng][:html_mnt].class==File @output[lng][:html_mnt] << %{\n} end @output[lng][:html] << %{\n} else break end end end name=string.strip.gsub(/\s+/,'_') html=%{} do_html(lng,html) do_html_maintenance(lng,html) if @output[lng][:html_mnt].class==File end def do_array(lng,lv,array) lv+=1 array.each do |b| do_case(lng,lv,b) end end def do_hash_md(lng,attrib,hash) if @env.output_dir_structure.by_language_code? manifest_at=hash[:file] + '.html' elsif @env.output_dir_structure.by_filetype? manifest_at=hash[:file] + '.' + lng + '.html' elsif @env.output_dir_structure.by_filename? manifest_at="../#{hash[:file]}/#{hash[:page]}" end html=%{#{hash[:title]} - #{hash[:author]}} do_string_default(lng,attrib,html) end def do_hash_md_maintenance(lng,attrib,hash) if @output[lng][:html_mnt].class==File #should not be run for presentation output html=%{[src] #{hash[:title]} - #{hash[:author]}} do_string_maintenance(lng,attrib,html) end end def do_hash(lng,lv,hash) lv+=1 key=[] hash.each_key do |m| if m == :md do_case(lng,lv,hash[m]) elsif m != :title \ and m != :author \ and m != :filename \ and m != :file \ and m != :rough_idx \ and m != :page key << m elsif m == :title do_hash_md(lng,'work',hash) do_hash_md_maintenance(lng,'work',hash) end end if key.length > 0 key.sort.each do |m| attrib="lev#{lv}" lv==0 ? do_string_name(lng,attrib,m) : do_string(lng,attrib,m) do_case(lng,lv,hash[m]) end end end def do_case(lng,lv,a) y = a.class case when y==String attrib="lev#{lv}" lv==0 ? do_string_name(lng,attrib,a) : do_string(lng,attrib,a) when y==Array do_array(lng,lv,a) when y==Hash do_hash(lng,lv,a) end end def html_body the_idx=@the_idx the_idx.each_pair do |lng,lng_array| lng_array.sort.each do |a| do_case(lng,-1,a) end end end self end def screen_print def do_string(lv,string) s=' '*4 puts s*lv + string end def do_array(lng,lv,array) lv+=1 array.each do |b| do_case(lng,lv,b) end end def do_hash_md(lng,lv,hash) string=hash[:title] + ' - ' + hash[:author] do_string(lng,lv,string) end def do_hash(lng,lv,hash) lv+=1 key=[] hash.each_key do |m| if m == :md do_case(lng,lv,hash[m]) elsif m != :title \ and m != :author \ and m != :filename \ and m != :file \ and m != :rough_idx \ and m != :page key << m elsif m == :title do_hash_md(lng,lv,hash) end end if key.length > 0 key.sort.each do |m| do_string(lng,lv,m) do_case(lng,lv,hash[m]) end end end def do_case(lng,lv,a) s=' '*4 y = a.class case when y==String do_string(lng,lv,a) when y==Array do_array(lng,lv,a) when y==Hash do_hash(lng,lv,a) end end def cycle the_idx=@the_idx the_idx.keys.each do |lng| the_idx[lng].each do |a| do_case(lng,-1,a) end end end self end def screen_print_unsorted def do_string(lng,lv,string) s=' '*4 puts s*lv + string end def do_array(lng,lv,array) lv+=1 array.each do |b| do_case(lng,lv,b) end end def do_hash_md(lng,lv,hash) string=hash[:title] + ' - ' + hash[:author] do_string(lng,lv,string) end def do_hash(lng,lv,hash) lv+=1 hash.each_key do |m| if m == :md do_case(lng,lv,hash[m]) else if m != :title \ and m != :author \ and m != :filename \ and m != :file \ and m != :rough_idx \ and m != :page do_string(lng,lv,m) do_case(lng,lv,hash[m]) elsif m == :title do_hash_md(lng,lv,hash) else end end end end def do_case(lng,lv,a) s=' '*4 y = a.class case when y==String do_string(lng,lv,a) when y==Array do_array(lng,lv,a) when y==Hash do_hash(lng,lv,a) end end def cycle the_idx=@the_idx the_idx.keys.each do |lng| the_idx[lng].each do |a| do_case(lng,-1,a) end end end self end end end __END__ terms -|_ t{tl1} -|_ {fa}[fa]{filenames and other details} | |_ {tl2} -|_ {fa}[fa]{filenames and other details} | | |_{tl3} -|_ {fa}[fa]{filenames and other details} | | | |_{tl4} - {fa}[fa]{filenames and other details} | | | | | | | |_{tl4a} - {fa}[fa]{filenames and other details} | | | | | | | |_{tl4b} - {fa}[fa]{filenames and other details} | | | | | | | |_ ... | | | | | |_{tl3a} - {fa}[fa]{filenames and other details} | | | |_{tl2a} - {fa}[fa]{filenames and other details} | |_ t{tl1a} -|_ {fa}[fa]{filenames and other details} |_ ...