Refactor links script

This commit is contained in:
David Eisinger
2025-11-06 11:21:16 -05:00
parent b2fba968be
commit f469f3dbda

View File

@@ -5,46 +5,40 @@ require "open-uri"
FEED_URL = "https://bookmarks.davideisinger.com/u:dce.json" FEED_URL = "https://bookmarks.davideisinger.com/u:dce.json"
# Mutable state
index = (ARGV.pop || 1).to_i index = (ARGV.pop || 1).to_i
content = [] content = []
links = [] links = []
refs = [] refs = []
item_content = ->(item) do # Helpers
title = "[#{item["title"]}][#{index}]" archive_url = ->(url) { `bin/archive "#{url}"`.sub("references:\n", "") }
if item["referrer"] link_def = ->(i, url) { "[#{i}]: #{url}" }
title += " ([via][#{index + 1}])"
end item_content = ->(item, i) do
title = "[#{item["title"]}][#{i}]"
title += " ([via][#{i + 1}])" if item["referrer"]
desc = (item["description"] || "").to_s.tr("\n", " ").squeeze(" ")
<<~OUT <<~OUT
* #{title} * #{title}
> #{item["description"].tr("\n", " ").squeeze(" ")} > #{desc}
OUT OUT
end end
item_link = ->(item) do add_url = ->(url) do
"[#{index}]: #{item["url"]}" links << link_def[index, url]
refs << archive_url[url]
index += 1
end end
add_item = ->(item) do add_item = ->(item) do
ref = `bin/archive "#{item["url"]}"`.gsub("references:\n", "") content << item_content[item, index]
add_url[item["url"]]
content << item_content[item] add_url[item["referrer"]] if item["referrer"]
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 end
result = -> do result = -> do
@@ -61,8 +55,8 @@ end
process_item = ->(item) do process_item = ->(item) do
puts <<~OUT puts <<~OUT
#{item_content[item]} #{item_content[item, index]}
#{item_link[item]} #{link_def[index, item["url"]]}
OUT OUT