|
|
@@ -4,6 +4,15 @@ require 'csv' |
|
|
|
require 'json' |
|
|
|
require 'rss' |
|
|
|
|
|
|
|
|
|
|
|
if ENV['KIOSKS_SITEURL'] |
|
|
|
SITEURL = ENV['KIOSKS_SITEURL'] |
|
|
|
else |
|
|
|
puts "KIOSKS_SITEURL environment variable must be set to the base URL of the site without a trailing slash" |
|
|
|
puts "eg https://kiosks.adrianshort.org" |
|
|
|
exit 1 |
|
|
|
end |
|
|
|
|
|
|
|
class Site |
|
|
|
def self.generate |
|
|
|
# Home page |
|
|
@@ -74,15 +83,26 @@ class Site |
|
|
|
feed = RSS::Maker.make("2.0") do |maker| |
|
|
|
maker.channel.title = "InLinkUK kiosks media coverage" |
|
|
|
maker.channel.description = "News and views about Google's UK street kiosk network." |
|
|
|
maker.channel.link = "https://kiosks.adrianshort.org/media/" |
|
|
|
maker.channel.link = "#{SITEURL}/media/" |
|
|
|
maker.channel.updated = Time.now.to_s |
|
|
|
|
|
|
|
stories.each do |story| |
|
|
|
maker.items.new_item do |item| |
|
|
|
item.link = story['url'] |
|
|
|
item.title = "%s: %s" % [ story['publication'], story['title'] ] |
|
|
|
item.updated = story['publish_date'] |
|
|
|
|
|
|
|
if story['authorities'] |
|
|
|
links = [] |
|
|
|
story['authorities'].split('|').each do |auth| |
|
|
|
auth.strip! |
|
|
|
links << "<a href=%s>%s</a>" % [ SITEURL + authority_url(auth), auth ] |
|
|
|
end |
|
|
|
item.description = links.join(', ') |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
end |
|
|
|
Petrify.file('media', 'index.xml', feed) |
|
|
|
|
|
|
|