[8372] | 1 | # -*- coding: utf-8 -*- |
---|
| 2 | module RenderRss |
---|
| 3 | |
---|
[3101] | 4 | require 'rss' |
---|
| 5 | |
---|
[8372] | 6 | module_function |
---|
| 7 | |
---|
| 8 | def rss_table(url, max_count = 5) |
---|
| 9 | @content = "" |
---|
| 10 | rss = RSS::Parser.parse(url, false) |
---|
| 11 | |
---|
| 12 | if rss && rss.channel && rss.channel.title |
---|
[8397] | 13 | @content += "<div class=\"midashi-1\">#{rss.channel.title}" |
---|
| 14 | @content += "<a href=\"/#{url}\">" |
---|
| 15 | @content += "<img align=\"right\" src=\"/img/rss.jpg\"></a></div>\n" |
---|
| 16 | @content += " <div class=\"info-table\">\n" |
---|
| 17 | @content += " <table summary=\"news\">\n" |
---|
[8372] | 18 | |
---|
| 19 | rss.items.each_with_index do |i, count| |
---|
| 20 | break if count == max_count && max_count != 0 |
---|
[8397] | 21 | @content += " <tr>\n" |
---|
| 22 | @content += " <th><a href=\"#{i.link}\">#{i.title}</a></th>\n" |
---|
| 23 | @content += " <td>#{i.date.strftime("%Y/%m/%d")}</td>\n" |
---|
| 24 | @content += " </tr>\n" |
---|
[8372] | 25 | end |
---|
| 26 | |
---|
[8397] | 27 | @content += " <tr><th><a href=\"#{rss.channel.link.gsub("http://vinelinux.org","")}\">もっと読む...</a></th></tr>\n" if max_count != 0 |
---|
| 28 | @content += " </table>\n" |
---|
| 29 | @content += " </div><!-- info-table -->" |
---|
[3101] | 30 | end |
---|
[8372] | 31 | return @content |
---|
[3101] | 32 | end |
---|
| 33 | |
---|
[8372] | 34 | def rss_list(url, max_count = 7) |
---|
| 35 | @content = "" |
---|
| 36 | rss = RSS::Parser.parse(url, false) |
---|
| 37 | |
---|
| 38 | if rss && rss.channel && rss.channel.title |
---|
| 39 | @content += " <h2><a href=\"#{rss.channel.link}\">#{rss.channel.title}</a>\n" |
---|
| 40 | @content += " <a href=\"/#{url}\">\n" |
---|
| 41 | @content += " <img src=\"/images/rss.png\"></a></h2>\n" |
---|
| 42 | @content += " <div class=\"errata\">\n" |
---|
| 43 | @content += " <ul>\n" |
---|
| 44 | |
---|
| 45 | rss.items.each_with_index do |i, count| |
---|
| 46 | break if count == max_count && max_count != 0 |
---|
| 47 | @content += " <li><a href=\"#{i.link}\">#{i.title}</a></li>\n" |
---|
| 48 | end |
---|
| 49 | |
---|
| 50 | @content += " <li><a href=\"#{rss.channel.link}\">もっと読む...</a></li>\n" if max_count != 0 |
---|
| 51 | @content += " </ul>\n" |
---|
| 52 | @content += " </div><!-- errata -->" |
---|
[3101] | 53 | end |
---|
[8372] | 54 | return @content |
---|
[3101] | 55 | end |
---|
| 56 | end |
---|
| 57 | |
---|
[8372] | 58 | |
---|