<?xml version="1.0" encoding="UTF-8"?>
<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:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arun Raghavan &#187; Blog</title>
	<atom:link href="http://arunraghavan.net/tag/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://arunraghavan.net</link>
	<description>Extremely pithy tagline here</description>
	<lastBuildDate>Tue, 17 Jan 2012 07:54:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>The LiveJournal to WordPress migration</title>
		<link>http://arunraghavan.net/2009/04/the-livejournal-to-wordpress-migration/</link>
		<comments>http://arunraghavan.net/2009/04/the-livejournal-to-wordpress-migration/#comments</comments>
		<pubDate>Sun, 26 Apr 2009 16:56:22 +0000</pubDate>
		<dc:creator>Arun</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[f/oss]]></category>
		<category><![CDATA[lj]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://arunraghavan.net/blog/?p=789</guid>
		<description><![CDATA[Thought I&#8217;d outline a bit of what I did to get all my posts and tags migrated from LiveJournal to WordPress 2.7.1. Note that this information will be redundant soon enough &#8212; there&#8217;s much better LJ import support in the latest WordPress trunk. It&#8217;ll even pull in your &#8216;Current Music&#8217; and &#8216;Current Mood&#8217; fields, which [...]]]></description>
			<content:encoded><![CDATA[<p>Thought I&#8217;d outline a bit of what I did to get all my posts and tags migrated from LiveJournal to WordPress 2.7.1. Note that this information will be redundant soon enough &#8212; there&#8217;s much <a href="http://en.blog.wordpress.com/2009/02/18/even-easier-livejournal-migration/">better LJ import support</a> in the latest WordPress trunk. It&#8217;ll even pull in your &#8216;Current Music&#8217; and &#8216;Current Mood&#8217; fields, which I couldn&#8217;t do. :-(</p>

<p>Some background first. LiveJournal lets you export your blog posts <em>one month at a time</em>. You can feed these files to the WordPress LiveJournal importer. I&#8217;ve been blogging there since December 2003, so that was definitely not an option. Some digging around eventually brought me to <a href="http://hewgill.com/ljdump/"><code>ljdump</code></a>. This is a really nifty tool, even if you just want to back up all your posts. It dumps your data into a large set of XML files, which you can collate with the <code>convertdump.py</code> script for uploading to the WordPress LiveJournal importer.</p>

<p>There was one hiccup here &#8212; a lot of the XML files corresponding to my earlier posts (at least) had an extraneous ASCII character <code>4</code> at the end of some lines. I had to use a simple <code>for i in &lt;lj-user&gt;/*xml; do sed -i -e s:$'\004'::</code> before using <code>convertdump.py</code>, and things were back on track (<code>sed</code> ftw!). I used the script to make one big XML file with all my posts, and fed it to the LJ importer, and all my posts were in.</p>

<p>But my tags, unfortunately, were not. <code>ljdump</code> happily pulls the tags from LiveJournal, but the importer just ignores them. I found a <a href="http://wordpress.org/support/topic/146187">sort-of patch</a> to fix this, but it seems to be quite antiquated. Based on this and the WordPress importer (that&#8217;s the importer that allows WordPress to import from another WordPress blog&#8217;s exported output), I wrote my own <a href="http://arunraghavan.net/downloads/misc/wp-livejournal-import-tags.patch">patch to import LJ tags</a> (against WordPress 2.7.1). Just <code>cd</code> into your blog directory and do a <code>patch -p0 &lt; wp-livejournal-import-tags.patch</code> to use it.</p>

<p>That&#8217;s it &#8212; I dropped all the old posts (requires a plugin to do it all at one shot), and then imported the big XML file again, and voila!</p>

<p>Trivial as it was, it was great to see how easy hacking the WordPress code was. There&#8217;s more to come in days ahead. I hope it remains this easy. :D</p>

<p><em>Update: Just noticed that the imported comments are not threaded. This kind of blows, because there have been some really long threads on some posts. I guess I&#8217;ll wait till the new WordPress goes stable and do a re-import. (file under #suckage)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://arunraghavan.net/2009/04/the-livejournal-to-wordpress-migration/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

