■BLOCKBLOGの記事を変換[自サイトのこと]
タグ: ブログ BLOCKBLOG 忍者ブログ Movable_Type
BLOCKBLOGで書いた記事(2003年〜2007年)は、ブラウザからHTML形式で保存してある。これを、忍者ブログでインポートしようと思っている。その際には、Movable Type形式への変換が必要だ。自分で変換ツールを作ろうとも思ったが、meglifeさんのところの、BBLog2MTを使わせてもらおう。
記事は約1,500件ある。HTMLファイルで3MB強、タグを除去したテキストだと1.5MBくらい。5年かけても、たいした量にはなっていないんだな。今となっては不要な記事がたくさんあるので、この機会に1,000件以内に減らしたい。
記事の変換だけでなく、記事の順番も変えたい。BLOCKBLOGでは、新しい順でしか記事を表示できなかったので、保存したファイルも新しい順になる。インポートすることを考えると、古い順にしたい。なぜなら、インポート時に、先に読み込まれた記事ほど若い記事番号になるからだ。新しい記事ほど若い番号になるのは、どうも気持ち悪い。
記事の順番を入れ替えるツールは、自分で作ることにした。難しいことは考えずに浮かんだアルゴリズムが以下のもの。
- 記事を1つ読む
- 新規作成したテンポラリファイル(tmp)に書き込んで、テンポラリファイルをクローズ
- テンポラリファイル(tmp)に、出力先ファイル(dst)を連結する(copy tmp + dst)
- 出力先ファイルを消す(del dst)
- テンポラリファイル(tmp)を出力先ファイル(dst)にリネームする(ren tmp dst)
- くり返す
ファイル操作が激しいけれど、何度も使うものではないから、動けばいい。DOSのコマンドを多用しているのも、なるべく簡単に済ませたかったから。なお、copy tmp + dstの部分は、tmpとdstの内容が連結され、tmpに書き込まれるという動きをする。
VBScriptで作ってみたら、ファイルが連結してくれず、意図した動きにならなかった。原因がわからなかったので、C言語で作り直したら動いた。どこが悪かったのだろう。
コメントとトラックバックの順番も逆にしたいが、これはもう手作業でやることにする。全部の記事を見直すつもりだから、そのときに入れ替えよう。
