# -*- coding: utf-8 -*-
module RenderRss

  require 'rss'
  
  module_function

  def rss_table(url, max_count = 5)
    @content = ""
    rss = RSS::Parser.parse(url, false)

    if rss && rss.channel && rss.channel.title
      @content +=   "<div class=\"midashi-1\">#{rss.channel.title}"
      @content +=   "<a href=\"/#{url}\">"
      @content +=   "<img align=\"right\" src=\"/img/rss.jpg\"></a></div>\n"
      @content +=   "      <div class=\"info-table\">\n"
      @content +=   "        <table summary=\"news\">\n"

      rss.items.each_with_index do |i, count|
        break if count == max_count && max_count != 0
        @content += "        <tr>\n"
        @content += "          <th><a href=\"#{i.link}\">#{i.title}</a></th>\n"
        @content += "          <td>#{i.date.strftime("%Y/%m/%d")}</td>\n"
        @content += "        </tr>\n"
      end

      @content +=   "        <tr><th><a href=\"#{rss.channel.link.gsub("http://vinelinux.org","")}\">もっと読む...</a></th></tr>\n" if max_count != 0
      @content +=   "        </table>\n"
      @content +=   "      </div><!-- info-table -->"
    end
    return @content
  end

  def rss_list(url, max_count = 7)
    @content = ""
    rss = RSS::Parser.parse(url, false)

    if rss && rss.channel && rss.channel.title
      @content +=   "        <h2><a href=\"#{rss.channel.link}\">#{rss.channel.title}</a>\n"
      @content +=   "            <a href=\"/#{url}\">\n"
      @content +=   "            <img src=\"/images/rss.png\"></a></h2>\n"
      @content +=   "        <div class=\"errata\">\n"
      @content +=   "          <ul>\n"

      rss.items.each_with_index do |i, count|
        break if count == max_count && max_count != 0
        @content += "            <li><a href=\"#{i.link}\">#{i.title}</a></li>\n"
      end

      @content +=   "            <li><a href=\"#{rss.channel.link}\">もっと読む...</a></li>\n" if max_count != 0
      @content +=   "          </ul>\n"
      @content +=   "        </div><!-- errata -->"
    end
    return @content
  end
end


