From db17505a9b94ce1b8157c0117a89b83b8f9a8e2c Mon Sep 17 00:00:00 2001 From: Chris Lowis Date: Sat, 10 Nov 2018 21:52:17 +0000 Subject: [PATCH] Add script to migrate technologies from old site This script copies the technology logos, normalises the file names and creates a corresponding entry in `_technologies`. --- scripts/migrate_technologies.rb | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 scripts/migrate_technologies.rb diff --git a/scripts/migrate_technologies.rb b/scripts/migrate_technologies.rb new file mode 100644 index 0000000..debe041 --- /dev/null +++ b/scripts/migrate_technologies.rb @@ -0,0 +1,34 @@ +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.technology-thumb').each do |node| + url = node.xpath('@href').text + technology_slug = url.split('/')[1] + + style = node.xpath('div/@style') + current_logo = style.text.match(/background-image: url\((.*)\)/)[1] + + technology_name = node.xpath('h5').text + + p [technology_name, technology_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', 'technologies', technology_slug + File.extname(current_logo_path)) + + FileUtils.cp(current_logo_path, new_logo_path) + + technology_md_path = File.join(File.dirname(__FILE__), '..', '_technologies', technology_slug + '.md') + + File.open(technology_md_path, 'w') do |file| + file.write("---\n") + file.write("title: #{technology_name}\n") + file.write("name: #{technology_name}\n") + file.write("---\n") + end +end + +# File.open(output_fn, 'w') { |file| file.write(result) }