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 | |
---|