Include referrers in links

This commit is contained in:
David Eisinger
2025-11-06 00:21:41 -05:00
parent 0899b91eb2
commit d0791903f3
5 changed files with 367 additions and 28 deletions

View File

@@ -1,9 +1,9 @@
#!/usr/bin/env ruby
require "rss"
require "json"
require "open-uri"
FEED_URL = "https://bookmarks.davideisinger.com/u:dce.rss"
FEED_URL = "https://bookmarks.davideisinger.com/u:dce.json"
index = (ARGV.pop || 1).to_i
content = []
@@ -11,25 +11,40 @@ links = []
refs = []
item_content = ->(item) do
<<~OUT
* [#{item.title}][#{index}]
title = "[#{item["title"]}][#{index}]"
> #{item.description.tr("\n", " ").squeeze(" ")}
if item["referrer"]
title += " ([via][#{index + 1}])"
end
<<~OUT
* #{title}
> #{item["description"].tr("\n", " ").squeeze(" ")}
OUT
end
item_link = ->(item) do
"[#{index}]: #{item.link}"
"[#{index}]: #{item["url"]}"
end
add_item = ->(item) do
ref = `bin/archive "#{item.link}"`.gsub("references:\n", "")
ref = `bin/archive "#{item["url"]}"`.gsub("references:\n", "")
content << item_content[item]
links << item_link[item]
refs << ref
index += 1
if item["referrer"]
ref = `bin/archive "#{item["referrer"]}"`.gsub("references:\n", "")
links << "[#{index}]: #{item["referrer"]}"
refs << ref
index += 1
end
end
result = -> do
@@ -66,10 +81,10 @@ process_item = ->(item) do
end
end
URI.parse(FEED_URL).open do |rss|
feed = RSS::Parser.parse(rss)
URI.parse(FEED_URL).open do |json|
feed = JSON.parse(json.read)
feed.items.each do |item|
feed.each do |item|
process_item[item]
end