def self.process(options)
source = options.fetch("source")
FileUtils.mkdir_p("_posts")
text = ""
URI.parse(source).open { |line| text = line.read }
rss = ::RSS::Parser.parse(text)
rss.items.each do |item|
post_url = item.link.match(".*(/archives/.*)")[1]
categories = item.categories.collect(&:content)
content = item.content_encoded.strip
date = item.date
slug = item.link.match('.*/archives/[0-9]+-(.*)\.html')[1]
name = format("%02d-%02d-%02d-%s.markdown", date.year, date.month, date.day, slug)
data = {
"layout" => "post",
"title" => item.title,
"categories" => categories,
"permalink" => post_url,
"s9y_link" => item.link,
"date" => item.date,
}.delete_if { |_k, v| v.nil? || v == "" }.to_yaml
File.open("_posts/#{name}", "w") do |f|
f.puts data
f.puts "---"
f.puts content
end
end
end