Wordpressからはてなブログへ移行

今年の4月にWordpress.comで技術ネタの掃きだめとしてスタートしたブログを「はてなブログ」に移行することにしました。ちなみにこれまでの内容は、ほとんどこれの”写経”だったりします。

入門 自然言語処理

入門 自然言語処理

そこら辺の話は、これからも記事として上がっていくことになると思うので、今日は移行で少しハマった部分を整理しておこうと思います。

Wordpress.comからのエクスポート

Wordpress.comから直接はてなブログにエクスポート&インポートをワンステップでやる方法は(多分)存在しません。ということで、まずはWordpress.comから記事をExportします。

やり方は簡単で、ブログのアドミの画面から、Tools-->Exportと選択。
f:id:deutschina:20130706172134p:plain

オプションが表示されたら、もちろんFreeのExportの方を選択。
f:id:deutschina:20130706172212p:plain

最後に何をExportするのか聞かれるので、とりあえずAll contentsを選んでやる。
f:id:deutschina:20130706172141p:plain

そうすると自分のDownloadsフォルダにxmlファイルとしてダウンロードされると。あまりエンコードのことは考えなかったけど、ファイルのヘッダを見る限りはUTF-8となっている模様。
f:id:deutschina:20130706172837p:plain

XMLからMovable Typeファイルへの変換

Wordpress.comからエクスポートしたXMLファイル、正確に言うとWordpressフォーマットなのでWXRファイルをそのままはてなブログでインポートすることは出来ないので、色んな方のブログで紹介されていた小物置き場さんを利用させていただいて、Movable Typeのフォーマットに変換。

ソースコード部分の変換

Wordpress.comでは、例えばPythonのコードを記事に書いてやる場合は、[code language="python"]...[/code]で挟んでやる必要あり。ただ、はてなブログの場合は、>|python|...||<という違うフォーマット。変換されたMovable Typeのファイルは、[code]...[/code]がそのまま残っていたので、多少乱暴かもと思いつつText editorの置換機能を使って、はてな記法のフォーマットに置き換えてやった。あとはこれをはてなにインポートすれば良いはず。

はてなダイアリーへインポート

ん?移行先ははてなブログだべ?と思うかも知れないけど、先にはてなダイアリーにインポートする必要があるというのが、自分のやってみた結果からの結論。というのも、上で作ったMovable Typeのファイルをはてなブログに直接インポートしてやると改行が全部無視されるかつ、コードの部分で使うはてな記法のこれ>||...||<も、タグとしてではなく単なる文字列として認識されてしまっていた。

となると、はてなブログへインポートできるのは、Movable Typeはてなダイアリーからだけなので、いったんはてなダイアリーを解説して、そこにインポートしてやることに。今は、はてなブログが正式リリースされたので、はてなダイアリーはオマケみたいな扱いだけど、ちゃんと画面の右下の方にダイアリーの解説のリンクがあったので、そこでパパッとダイアリーを作って、Movable Typeのファイルをインポートしてみた。

これには結構時間が掛かって、外に焼き小籠包買いに行って(ここは上海なので近所の店で売っている)帰ってきてもまだインポートしている。ということで、小籠包食べながら待つことしばし。ようやくインポートが完了した様子なので、記事を開いてみる。

f:id:deutschina:20130706175025p:plain

うん、改行もソースコードの部分もきれいにフォーマットされているように見える。

ようやくはてなブログにインポート

移行のためだけに一時的に作られたはかない運命のはてなダイアリーから、はてなブログにインポートをしてあげるのが最後のステップ。

f:id:deutschina:20130706175729p:plain

多少記事によっては、フォーマットが壊れているところもあったりするけど、そこそこきれいに移行が出来たように思うわけです。

さてこのブログ

旧ブログと同じく、技術ネタをちょろちょろ書いていくために使っていきます。旧ブログは意地はって英語で書いていましたが、ここでは余り無理して英語にこだわらずに日本語でも記事を書いて行けたらなと思っています。

・・・べ、別に英語で書くのが辛くてはてなに逃げてきたわけじゃないからねっ(震え声)