引越し手順
はてなブログはWordPressのXMLファイルフォーマットを直接インポートできるようになっている。神か。
- WordPress管理画面にて、ツール>エクスポート
- XMLファイル(WXR形式)が出力される。
- はてなブログ管理画面にて、インポート
付随作業
こちらも同様に、画像ファイルのパスや自サイト内向けのリンクを修正しなければならない。
今回は、下記サイトで公開されているRubyスクリプト「wp2hatena」を利用する。これは旧サイトの画像ファイルを自動ダウンロードして、はてなフォトライフに再アップロードし、パス/リンクを自動で書き換えてくれる。神か。(2人目)
ただし、このスクリプト(Rev. 0.2.0)を使ってみて、以下の点で修正が必要と分かった。
- 変換される行の、変換部分の前(行頭?)にXMLタグがある場合、XMLタグまでも削除される
- imgタグを使わない場合、単なる画像ファイルへのリンクだけの場合は、無視される
- aタグのリンク先画像とimgタグの参照画像が異なる場合、aタグリンク先画像を参照する決め打ちでよいか。理解が必要
- aタグがhref属性で終了しない(後ろに別の属性がある)場合、無視される
- タグが大文字で書かれている場合、無視される
- title属性は考慮されない
- 外部サイトの画像を参照しているとそれらもDL/ULされる
- URLエンコード処理を統合したい。複数回実行すると2重エンコードされる
おまけ
参考までに、スクリプトの意図せぬ動作でデータが壊れたりした場合(必要な部分が削除されてしまったなど)に、XMLの構文チェックツール「xmllint」を使うと、問題のある場所を探し当てるのに役に立つ。
Macの場合、xmllintは標準でインストールされているので、そのまま実行できる。
Emoji Emoji