diff options
author | Ralph Amissah <ralph@amissah.com> | 2009-01-18 12:47:45 -0500 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2009-01-18 13:51:36 -0500 |
commit | 43ba4c40960738a8dd78ee30a034df6b5bdbd6aa (patch) | |
tree | e0ac458c79f6f452a7fe63bdefabe67f37b82082 /lib/sisu/v0/harvest_topics.rb | |
parent | Merge branch 'upstream' into debian/sid (diff) | |
parent | copyright presentation changed, remains substantively the same; minor sisu ve... (diff) |
sisu-0.70.5, merge branch upstream into debian/sid; debian/ new year cleaningdebian/0.70.5-1
* debian/control:
add depends for fcgi-ruby in sisu-postgresql and sisu-sqlite;
package description;
git repo move noted
* debian/rules: clean/tidy
* debian/copyright: use machine parseable format
* removed sisu.postrm, forced removal on purge /etc/sisu draconian if it
contains admin edits
* minor sorting
* debian/changelog for 0.70.5
Diffstat (limited to 'lib/sisu/v0/harvest_topics.rb')
-rw-r--r-- | lib/sisu/v0/harvest_topics.rb | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/lib/sisu/v0/harvest_topics.rb b/lib/sisu/v0/harvest_topics.rb index 918c289f..85067e55 100644 --- a/lib/sisu/v0/harvest_topics.rb +++ b/lib/sisu/v0/harvest_topics.rb @@ -9,8 +9,7 @@ * Author: Ralph Amissah - * Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008 Ralph Amissah All Rights Reserved. + * Copyright: (C) 1997 - 2009 Ralph Amissah All Rights Reserved. * License: GPL 3 or later: @@ -132,16 +131,23 @@ module HARVEST_topics if @title and @author_format and @idx_list creator=FORMAT::Author.new(@author_format.strip).author_details @authors,@authorship=creator[:authors],creator[:authorship] - file=filename.sub(/\.ss[mt]$/,'') + file=if filename=~/~[a-z]{2,3}\.ss[mt]$/ + lang='.' + /~([a-z]{2,3})\.ss[mt]$/.match(filename)[1] + filename.sub(/~[a-z]{2,3}\.ss[mt]$/,'') + else + lang='' + filename.sub(/\.ss[mt]$/,'') + end + page="sisu_manifest#{lang}.html" idx_array <<=if @idx_list =~/;/ g=@idx_list.scan(/[^;]+/) idxl=[] g.each do |i| i.strip! - idxl << { :filename => filename, :file => file, :rough_idx => i, :title => @fulltitle, :author => creator } + idxl << { :filename => filename, :file => file, :rough_idx => i, :title => @fulltitle, :author => creator, :page => page} end idxl - else { :filename => filename, :file => file, :rough_idx => @idx_list, :title => @fulltitle, :author => creator } + else { :filename => filename, :file => file, :rough_idx => @idx_list, :title => @fulltitle, :author => creator, :page => page } end else p "missing author field: #@filename title: #@title; author: #@author_format; idx: #@idx_list" @@ -164,7 +170,7 @@ module HARVEST_topics s=n.sub(/(.+?)(?:,.+|$)/,'\1').gsub(/\s+/,'_') names += %{<a href="harvest_authors.html##{s}">#{n}</a>, } end - hash << { :filename => idx[:filename], :file => idx[:file], :author => names, :title => idx[:title] } + hash << { :filename => idx[:filename], :file => idx[:file], :author => names, :title => idx[:title], :page => idx[:page] } end def construct_book_topic_index idx_array=@idx_array @@ -250,7 +256,6 @@ module HARVEST_topics @opt,@the_idx=opt,the_idx @env=SiSU_Env::Info_env.new @rc=Get_init.instance.yamlrc - @page='sisu_manifest.html' @alph=%W[9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z] @letter=@alph.shift @vz=SiSU_Env::Get_init.instance.skin @@ -382,12 +387,12 @@ WOK end end def do_hash_md(attrib,hash) - html=%{<a href="../#{hash[:file]}/#{@page}">#{hash[:title]}</a> - #{hash[:author]}} + html=%{<a href="../#{hash[:file]}/#{hash[:page]}">#{hash[:title]}</a> - #{hash[:author]}} do_string_default(attrib,html) end def do_hash_md_maintenance(attrib,hash) if @output[:html_mnt].class == File #should not be run for presentation output - html=%{[<a href="#{hash[:file]}.sst">src</a>] <a href="file://#{@env.path.output}/#{hash[:file]}/#{@page}">#{hash[:title]}</a> - #{hash[:author]}} + html=%{[<a href="#{hash[:file]}.sst">src</a>] <a href="file://#{@env.path.output}/#{hash[:file]}/#{hash[:page]}">#{hash[:title]}</a> - #{hash[:author]}} do_string_maintenance(attrib,html) end end @@ -397,7 +402,7 @@ WOK hash.each_key do |m| if m == :md do_case(lv,hash[m]) - elsif m != :title and m != :author and m != :filename and m != :file and m != :rough_idx + 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('work',hash) @@ -460,7 +465,7 @@ WOK hash.each_key do |m| if m == :md do_case(lv,hash[m]) - elsif m != :title and m != :author and m != :filename and m != :file and m != :rough_idx + 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(lv,hash) @@ -514,7 +519,7 @@ WOK if m == :md do_case(lv,hash[m]) else - if m != :title and m != :author and m != :filename and m != :file and m != :rough_idx + if m != :title and m != :author and m != :filename and m != :file and m != :rough_idx and m != :page do_string(lv,m) do_case(lv,hash[m]) elsif m == :title |