| 1 | # -*- coding: utf-8 -*- |
|---|
| 2 | module RenderRss |
|---|
| 3 | |
|---|
| 4 | require 'rss' |
|---|
| 5 | |
|---|
| 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 |
|---|
| 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" |
|---|
| 18 | |
|---|
| 19 | rss.items.each_with_index do |i, count| |
|---|
| 20 | break if count == max_count && max_count != 0 |
|---|
| 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" |
|---|
| 25 | end |
|---|
| 26 | |
|---|
| 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 -->" |
|---|
| 30 | end |
|---|
| 31 | return @content |
|---|
| 32 | end |
|---|
| 33 | |
|---|
| 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 -->" |
|---|
| 53 | end |
|---|
| 54 | return @content |
|---|
| 55 | end |
|---|
| 56 | end |
|---|
| 57 | |
|---|
| 58 | |
|---|