From f261db16b0bdbc74bd60ede9ee1b518b090ed069 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Sun, 7 Jan 2024 13:35:36 -0600 Subject: [PATCH] refactor RSS from Atom to 2.0 and hopefully get it working without guids --- models/site.rb | 24 +++++++++++++++--------- views/_share.erb | 2 +- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/models/site.rb b/models/site.rb index 80defff7..3dc02e69 100644 --- a/models/site.rb +++ b/models/site.rb @@ -1488,6 +1488,10 @@ class Site < Sequel::Model File.exist? File.join(base_screenshots_path, "#{path}.#{resolution}.webp") end + def sharing_screenshot_url + 'https://neocities.org'+base_screenshots_url+'/index.html.jpg' + end + def screenshot_url(path, resolution) path[0] = '' if path[0] == '/' out = '' @@ -1518,18 +1522,20 @@ class Site < Sequel::Model end def to_rss - RSS::Maker.make("atom") do |maker| - maker.channel.title = title - maker.channel.updated = (updated_at ? updated_at : created_at) - maker.channel.author = username - maker.channel.id = "#{username}.neocities.org" + RSS::Maker.make("2.0") do |m| + m.channel.title = title + m.channel.link = uri + m.channel.description = "Site feed for #{title}" + m.image.url = sharing_screenshot_url + m.image.title = title + latest_events.each do |event| if event.site_change_id - maker.items.new_item do |item| - item.link = "https://#{host}" - item.title = "#{title} has been updated" - item.updated = event.site_change.created_at + m.items.new_item do |i| + i.title = "#{title} has been updated." + i.link = "https://neocities.org/site/#{username}?event_id=#{event.id.to_s}" + i.pubDate = event.created_at end end end diff --git a/views/_share.erb b/views/_share.erb index c228c541..c1fbd67a 100644 --- a/views/_share.erb +++ b/views/_share.erb @@ -3,7 +3,7 @@ page_uri = site.uri end %> -RSS/Atom Feed +RSS Feed
" target="_blank">Facebook