Serene Bach 固有の話ではないので最初に恐縮しときます :-)
さて、ここまででココログから Serene Bach への全記事インポート、再構築も行い、実際にサイトを確認してみる。デザインこそ異なるもののそれぞれのエントリーはテキスト部分、画像共にココログと同じにように表示される。
が、なにか変。見た目では分からないが、表示されている画像部分はココログにアップしたものがそのまま使われているのだ。データ移行されたのがテキスト部分だけなので当然だが、これは拙い。
早速 Serene Bach を設置したサーバーへ画像専用ディレクトリを作成しココログで使用しているのと同じ画像ファイルを FTP ですべてアップロード。もちろんこれだけでは Serene Bach に反映されない。画像ファイルへのリンクを書き換えないといけない。画像ファイルへのリンクを含むすべてのエントリーが対象となる。
Serene Bach には検索・置換機能がない。いったんエクスポートしてテキストエディタを使ってリンクを書き換えることになる。例えば「味スタ便り- 20060716|徳島ヴォルティス戦」で使用している画像だとココログでは下のような URL になっている。
ポップアップ画像
http://dmz.cocolog-nifty.com/.shared/image.html?/photos/uncategorized/v2006071613561.jpg
エントリー内の縮小表示
http://dmz.cocolog-nifty.com/photos/uncategorized/v2006071613561.jpg
まず、v2006071613561.jpg までのパス名
http://dmz.cocolog-nifty.com/.shared/image.html?/photos/uncategorized/
と
http://dmz.cocolog-nifty.com/photos/uncategorized/
を上で作成した画像専用ディレクトリへのパス名に置換する。これは固定文字列なので作業もたいした手間ではない。
次に画像ファイル名。ココログではイメージファイルをアップロードするときにオリジナルファイル名(name.ext の name 部分)が自動的に(と云うか否応なしに)変更されてしまう。v2006071613561.jpg の場合オリジナルファイル名は v-20060716-13561.jpg である。英数文字以外の記号部分がカットされるらしい。
リンクだけでなく img タグの alt属性、title属性にもこの改変されたファイル名(name部分)が設定されている。正確には .jpg を除いた部分で、img alt="V2006071613561" title="V2006071613561" などとなっている。
このファイル名(name部分)の変更をひとつひとつ手作業で行うのはさすがに切ないので、不慣れなタグ付き正規表現を利用して置換作業を行った。うろ覚えだが、
検索文字列:v([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])([0-9]+)
置換文字列:v-\1-\2
こんな感じだっただろうか。たぶんもっとうまい書き方があるのだろうけどこれで精一杯。
以上の置換作業を施したテキストデータを再び Serene Bach にインポート。再構築してようやく画像関連も含めたココログデータの移行が終わった。