Include referrers in links
This commit is contained in:
35
bin/links
35
bin/links
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user