変更理由:

Credential は原則的に1日1タイトルなので、makerss.rb の吐き出すサブタイトル⇒タイトルという表記に向かないために変更した。

変更後は「タイトル /サブタイトル/」という形式になる。ただし、ツッコミに関しては変更無しとした。

しかし、既にプログラム変更前に作成したRSSがある場合は古いタイトルが全て消えてしまう。これはupdateのループ内でappend, replace等の限られたModeでしかrdfsec.titleを入力していないためである。

 

変更箇所:

makerss.rb にて

if /^append|replace|comment|showcomment|trackbackreceive$/ =~ @mode then
eval( <<-TOPLEVEL_CLASS, TOPLEVEL_BINDING )
module TDiary
class RDFSection
- attr_reader :id, :time, :section
+ attr_reader :id, :time, :section, :title

# 'id' has 'YYYYMMDDpNN' format (p or c).
# 'time' is Last-Modified this section as a Time object.
def initialize( id, time, section, title )
- @id, @time, @section = id, time, section
+ @id, @time, @section, @title = id, time, section, title
end

if /^append|replace$/ =~ @mode then
index = 0
diary.each_section do |section|
index += 1
id = "#{date}p%02d" % index
if diary.visible? and !cache[id] then
- cache[id] = RDFSection::new( id, Time::now, section)
+ cache[id] = RDFSection::new( id, Time::now, section, diary.title )
elsif !diary.visible? and cache[id]
cache.delete( id )
elsif diary.visible? and cache[id]
if cache[id].section.body_to_html != section.body_to_html then
cache[id] = RDFSection::new( id, Time::now, section)
- cache[id] = RDFSection::new( id, Time::now, section, diary.title )
+ end
end
end
elsif /^comment$/ =~ @mode
id = "#{date}c%02d" % diary.count_comments
- cache[id] = RDFSection::new( id, @comment.date, @comment)
+ cache[id] = RDFSection::new( id, @comment.date, @comment, diary.title )
elsif /^showcomment$/ =~ @mode
index = 0
diary.each_comment( 100 ) do |comment|
index += 1
id = "#{date}c%02d" % index
if !cache[id] and comment.visible? then
- cache[id] = RDFSection::new( id, comment.date, comment )
+ cache[id] = RDFSection::new( id, comment.date, comment, diary.title )
elsif cache[id] and !comment.visible?
cache.delete( id )
end
end
end