From 0e6c62df0d4f52edaa0a353d6c9806637c076c54 Mon Sep 17 00:00:00 2001 From: Chris Lowis Date: Sat, 10 Nov 2018 22:07:32 +0000 Subject: [PATCH] Add script to migrate services from old site This script copies the service logos, normalises the file names and creates a corresponding entry in `_services`. --- scripts/migrate_services.rb | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 scripts/migrate_services.rb diff --git a/scripts/migrate_services.rb b/scripts/migrate_services.rb new file mode 100644 index 0000000..f6f2d71 --- /dev/null +++ b/scripts/migrate_services.rb @@ -0,0 +1,35 @@ +require 'nokogiri' +require 'fileutils' + +fn = File.join(File.dirname(__FILE__), 'mirror', 'coops.tech.archived.website', 'index.html') +html = File.read(fn) +doc = Nokogiri::HTML(html) + +doc.css('a.service-thumb').each do |node| + url = node.xpath('@href').text + service_slug = url.split('/')[1] + + style = node.xpath('div/@style') + current_logo = style.text.match(/background-image: url\((.*)\)/)[1] + current_logo.gsub!('%40', '@') + service_name = node.xpath('h5').text + + p [service_name, service_slug, current_logo] + + current_logo_path = File.join(File.dirname(__FILE__), 'mirror', 'coops.tech.archived.website', current_logo) + + new_logo_path = File.join(File.dirname(__FILE__), '..', 'images', 'services', service_slug + File.extname(current_logo_path)) + + FileUtils.cp(current_logo_path, new_logo_path) + + services_md_path = File.join(File.dirname(__FILE__), '..', '_services', service_slug + '.md') + + File.open(services_md_path, 'w') do |file| + file.write("---\n") + file.write("title: #{service_name}\n") + file.write("name: #{service_name}\n") + file.write("---\n") + end +end + +# File.open(output_fn, 'w') { |file| file.write(result) }