Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added Wordpress.com migrator

  • Loading branch information...
commit b6678d4e4310ead39310b688fb6b2dae8fc189a3 1 parent 3fa9af1
Matt Hall authored
Showing with 38 additions and 0 deletions.
  1. +38 −0 lib/jekyll/migrators/wordpress.com.rb
38 lib/jekyll/migrators/wordpress.com.rb
View
@@ -0,0 +1,38 @@
+require 'rubygems'
+require 'hpricot'
+require 'fileutils'
+
+# This importer takes a wordpress.xml file,
+# which can be exported from your
+# wordpress.com blog (/wp-admin/export.php)
+
+module Jekyll
+ module WordpressDotCom
+ def self.process(filename = "wordpress.xml")
+ FileUtils.mkdir_p "_posts"
+ posts = 0
+
+ doc = Hpricot::XML(File.read(filename))
+
+ (doc/:channel/:item).each do |item|
+ title = item.at(:title).inner_text
+ name = "#{Date.parse((doc/:channel/:item).first.at(:pubDate).inner_text).to_s("%Y-%m-%d")}-#{title.downcase.gsub('[^a-z0-9]', '-')}.html"
+
+ File.open("_posts/#{name}", "w") do |f|
+ f.puts <<-HEADER
+---
+layout: post
+title: #{title}
+---
+
+HEADER
+ f.puts item.at('content:encoded').inner_text
+ end
+
+ posts += 1
+ end
+
+ "Imported #{posts} posts"
+ end
+ end
+end
Please sign in to comment.
Something went wrong with that request. Please try again.