Publish::rss - RSS2.0 形式のファイルを出力する
Pragger 用のプラグインです。
既存の RSS プラグインだと、1.0 のものしか出力しないし、
enclosure を出力してくれないので。
もっと汎用的にしたいけれど、今回はやっつけです。
def rss(config, data) return true unless config.key?('filename') rss = RSS::Maker.make("2.0") do |maker| maker.channel.title = config['title'] || "Pragger publish rss2.0" maker.channel.description = config['description'] || "" maker.channel.link = config['link'] || "http://www.example.com/" data.each do |i| item = maker.items.new_item item.title = i.title || '' item.link = i.link|| "http://www.example.com/" item.description = i.description || '' item.date = i.date || Time.now item.enclosure.url = i.enclosure.url || "http://www.example.com/" item.enclosure.type = i.enclosure.type || "text/plain" item.enclosure.length = i.enclosure.length || 0 end end File::open(config['filename'], "w") {|w| w.puts rss } data end