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