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`.
This commit is contained in:
parent
396589820a
commit
db17505a9b
34
scripts/migrate_technologies.rb
Normal file
34
scripts/migrate_technologies.rb
Normal file
@ -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) }
|
Loading…
Reference in New Issue
Block a user