From 1100562e29f6476448b656dbddd4cf22505523f6 Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Sun, 10 Mar 2024 14:59:14 +0100 Subject: Move back to JBMAFP --- bin/vault.rb | 60 ------------------------------------------- bin/webring.rb | 80 ---------------------------------------------------------- 2 files changed, 140 deletions(-) delete mode 100644 bin/vault.rb delete mode 100644 bin/webring.rb (limited to 'bin') diff --git a/bin/vault.rb b/bin/vault.rb deleted file mode 100644 index 1a664ea..0000000 --- a/bin/vault.rb +++ /dev/null @@ -1,60 +0,0 @@ -require 'nokogiri' -require 'net/http' -require 'uri' - -url = "https://mitjafelicijan.fra1.digitaloceanspaces.com/" - -def truncate_filename(filename, max_length) - return filename if filename.length <= max_length - - file_extension = filename.split('.').last - "#{filename[0...max_length - file_extension.length - 5]}….#{file_extension}" -end - -uri = URI(url) -response = Net::HTTP.get_response(uri) - -if response.is_a?(Net::HTTPSuccess) - xml_data = response.body - root = Nokogiri::XML(xml_data) - - root.remove_namespaces! - tree = {} - - root.xpath("//Contents").each do |content| - key = content.xpath("Key").text - parts = key.split("/") - node = tree - parts.each do |part| - next if part.empty? - node[part] ||= {} - node = node[part] - end - end - - def tree_to_md(tree, url, indent = 0, path = "") - md = "" - tree.each do |k, v| - if v.empty? # If the node is empty, it's a file - file_url = "#{url}#{path}#{k}" - file_name = truncate_filename(k, 500) - md += "#{" " * indent}- [#{file_name}](#{file_url})\n" - else # If the node has children, it's a directory - md += "#{" " * indent}- #{k}\n" - md += tree_to_md(v, url, indent + 1, "#{path}#{k}/") - end - end - md - end - - md = tree_to_md(tree, url) - puts md - - File.open("_layouts/vault.md", "r") do |file| - content = file.read - new_content = content.gsub("{CONTENT}", md) - File.open("vault.md", "w") { |f| f.write(new_content) } - end -else - puts "Failed to fetch XML data. Status code: #{response.code}" -end diff --git a/bin/webring.rb b/bin/webring.rb deleted file mode 100644 index 05537a2..0000000 --- a/bin/webring.rb +++ /dev/null @@ -1,80 +0,0 @@ -require "erb" -require "htmlentities" -require "open-uri" -require "simple-rss" - -summary_max_length = 320 - -feeds = [ - "https://blog.regehr.org/feed", - "https://www.neilhenning.dev/index.xml", - "https://drewdevault.com/blog/index.xml", - "https://offbeatpursuit.com/blog/index.rss", - "https://mirzapandzo.com/rss.xml", - "https://journal.valeriansaliou.name/rss/", - "https://neil.computer/rss/", - "https://michael.stapelberg.ch/feed.xml", - "https://utcc.utoronto.ca/~cks/space/blog/?atom", - "https://szymonkaliski.com/feed.xml" -] - -out_html = "" -decoder = HTMLEntities.new - -feeds.each do |feed_url| - begin - rss_content = URI.open(feed_url).read - rss = SimpleRSS.parse(rss_content) - - first = rss.items.first - author = rss.channel.title - website = rss.channel.link.gsub(%r{]+?>}, '') - title = first.title - link = first.link - - description = first.description - summary = description - content = first.content - - if not summary - summary = content - end - - summary.force_encoding("UTF-8") - summary = decoder.decode(summary) - .gsub(%r{]+?>}, '') - .gsub(/\s{2,}/, ' ') - .gsub("\n", ' ') - - if summary.length > summary_max_length - summary = "#{summary[0...summary_max_length]}..." - end - - template = ERB.new <<-EOF -
  • -
    <%= title %> — <%= author %>
    -
    <%= summary %>
    -
  • - EOF - - partial = template.result(binding) - out_html.concat(partial) - - puts "Feed: #{author}" - puts "Title: #{title}" - puts "Link: #{link}" - puts "Summary: #{summary}" - puts - rescue OpenURI::HTTPError => e - puts "Failed to fetch #{feed_url}: #{e.message}" - rescue SimpleRSSError => e - puts "Failed to parse #{feed_url}: #{e.message}" - end -end - -template = ERB.new <<-EOF -

    Posts from blogs I follow around the net

    - -EOF -out_html = template.result(binding) -File.write("_includes/webring.html", out_html) -- cgit v1.2.3