aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2015-05-05 11:03:51 +0200
committerHarald Eilertsen <haraldei@anduin.net>2015-05-05 11:03:51 +0200
commit6b719f2cb9285bfc09d8f8b4b4385fbdb5a0b395 (patch)
tree6c337423a07b83792363e2a21e02d9f19ab638b1
parentfb1cc37a6789fa08a7becf911c3892504627810b (diff)
downloadrss2html-6b719f2cb9285bfc09d8f8b4b4385fbdb5a0b395.tar.gz
rss2html-6b719f2cb9285bfc09d8f8b4b4385fbdb5a0b395.tar.bz2
rss2html-6b719f2cb9285bfc09d8f8b4b4385fbdb5a0b395.zip
Use ERB for templating.
-rw-r--r--lib/views/feed_footer.html.erb1
-rw-r--r--lib/views/feed_header.html.erb2
-rw-r--r--lib/views/item.html.erb8
-rw-r--r--rss.rb18
4 files changed, 19 insertions, 10 deletions
diff --git a/lib/views/feed_footer.html.erb b/lib/views/feed_footer.html.erb
new file mode 100644
index 0000000..c63a94a
--- /dev/null
+++ b/lib/views/feed_footer.html.erb
@@ -0,0 +1 @@
+</section> \ No newline at end of file
diff --git a/lib/views/feed_header.html.erb b/lib/views/feed_header.html.erb
new file mode 100644
index 0000000..698f85d
--- /dev/null
+++ b/lib/views/feed_header.html.erb
@@ -0,0 +1,2 @@
+<section class="feed">
+ <h1><%= feed.title %></h1>
diff --git a/lib/views/item.html.erb b/lib/views/item.html.erb
new file mode 100644
index 0000000..5c0aea8
--- /dev/null
+++ b/lib/views/item.html.erb
@@ -0,0 +1,8 @@
+ <article>
+ <header>
+ <h1><%= item.title %></h1>
+ <section class="meta">Posted by <%= item.author %> at <%= item.date %></section>
+ </header>
+ <section class="summary"><%= item.summary %></summary>
+ <footer><a href="<%= item.url %>">Read more...</a></footer>
+ </article>
diff --git a/rss.rb b/rss.rb
index 15be5ed..ea1068c 100644
--- a/rss.rb
+++ b/rss.rb
@@ -18,23 +18,21 @@ require_relative 'lib/feed_item'
require_relative 'lib/feed'
require 'yaml'
+require 'erb'
feeds = YAML.load(IO.read('feeds.yml'))
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 %{<article>}
- puts %{ <header>}
- puts %{ <h1>#{item.title}</h1>}
- puts %{ <section class="meta">Posted by #{item.author} at #{item.date}</section>}
- puts %{ </header>}
- puts %{ <section class="summary">#{item.summary}</summary>}
- puts %{ <footer><a href="#{item.url}">Read more...</a></footer>}
- puts %{</article>}
- puts
+ puts item_template.result(binding)
end
end