Typo export to WordPress WXR
Just add this to the XmlController :
def wp @articles = Article.find( :all, :include => [:categories, :tags, :user, :blog]) end
And then add this file (app/views/xml/wp.rxml):
// insert code here.. xml.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8" xml.rss 'version' => "2.0", 'xmlns:content' => "http://purl.org/rss/1.0/modules/content/", 'xmlns:wfw' => "http://wellformedweb.org/CommentAPI/", 'xmlns:dc' => "http://purl.org/dc/elements/1.1/", 'xmlns:wp' => "http://wordpress.org/export/1.0/" do xml.channel do xml.title @feed_title xml.link @link xml.language "en-us" xml.ttl "40" xml.description this_blog.blog_subtitle @articles.each do |a| xml.item do xml.title post_title(a) xml.content(:encoded) { |x| x << '<![CDATA[' + a.full_html + ']]>' } xml.pubDate a.published_at.rfc2822 xml.guid "urn:uuid:#{a.guid}", "isPermaLink" => "false" author = a.user.name rescue a.author xml.author author xml.dc :creator, author for category in a.categories xml.category category.name end for tag in a.tags xml.category tag.display_name end xml.wp :post_id, a.id xml.wp :post_date, a.published_at.strftime("%Y-%m-%d %H:%M:%S") xml.wp :comment_status, 'closed' xml.wp :ping_status, 'closed' xml.wp :post_name, a.permalink xml.wp :status, 'publish' xml.wp :post_parent, '0' xml.wp :post_type, 'post' for comment in a.comments xml.wp(:comment) do xml.wp :comment_id, comment.id xml.wp :comment_author, comment.author xml.wp :comment_author_email, comment.email xml.wp :comment_author_url, comment.url xml.wp :comment_author_IP, comment.ip xml.wp :comment_author_date, comment.published_at.strftime("%Y-%m-%d %H:%M:%S") xml.wp(:comment_content) { |x| x << comment.full_html } xml.wp :comment_approved, '1' xml.wp :comment_parent, '0' end end end end end
Then hit your typo blog at http://myblog/xml/wp and save the file to import through the WordPress interface.