diff options
Diffstat (limited to 'lib/rss2html.rb')
-rw-r--r-- | lib/rss2html.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/rss2html.rb b/lib/rss2html.rb new file mode 100644 index 0000000..4890fd4 --- /dev/null +++ b/lib/rss2html.rb @@ -0,0 +1,45 @@ +# A Simple RSS reader +# Copyright (C) 2015 Harald Eilertsen +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +require_relative 'lib/feed_item' +require_relative 'lib/feed' + +require 'yaml' +require 'erb' + +config_file = File.expand_path('~/.config/feeds.yml') + +unless File.exists?(config_file) + puts "Config file #{config_file} not found. Please create it!" + exit +end + +feeds = YAML.load(IO.read(config_file)) +items = [] + +feed_header = ERB.new(IO.read('lib/views/feed_header.html.erb')) +feed_footer = ERB.new(IO.read('lib/views/feed_footer.html.erb')) +item_template = ERB.new(IO.read('lib/views/item.html.erb')) + +feeds.each do |t, f| + feed = Feed.new(t, f) + puts feed_header.result(binding) + + feed.fetch do |entry| + item = FeedItem.new(entry) + puts item_template.result(binding) + end +end |