[ 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 @lng != lng @alph=@alphabet_list.dup @letter=@alph.shift @lng = lng end 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 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}" if a=~/S/ lv==0 ? do_string_name(lng,attrib,a) : do_string(lng,attrib,a) end 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 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} |_ ...