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 ------------------------------------------------------------ 1 file changed, 60 deletions(-) delete mode 100644 bin/vault.rb (limited to 'bin/vault.rb') 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 -- cgit v1.2.3