« 作者にメールを書いてみた | Main | フォーラムが表示できないときは Cookie 削除 »
昨夜、iBlog によるブログ「.Mac Tips」の RSS を一時的に次のように変更して Thingamablog へのインポートを試みた。
エントリ数は 354 エントリで、インポート先は新規ブログだ。
その結果、次のような問題点があることがわかった。
空要素とは開始タグと終了タグが一体になった「その場閉じ」をしている要素のことだ。例えば <br /> とか <img … /> などだ。インポートされたエントリに空要素があると、プレビュー表示においてその部分の末尾に > が表示されてしまう。
Edit モードでエントリを書いたとき Edit <HTML> モードに切り替えて生成されたコードを見ると XHTML ではなく HTML になっている。このブログが XHTML になっているのはその HTML コードを close_empty_tags 属性で空要素のその場閉じをさせているからだ。つまり Thingamablog ではエントリの HTML コードは XHTML ではなく HTML になっているのだから仕方ないのかも。
最初は FTP で publish をしようとしたのだが、いくら待っても一つも転送が始まらない。netstat で見ると FTP セッションは張られているのはわかる。そのうちサーバがタイムアウトでセッションを切ってしまったのだが Thingamablog には表示上変化が現れない。
一度に大量のエントリを publish するのだから前処理に時間がかかっているのだろうと思い、ローカルへの publish に切り替えてみた。これで転送に関するタイムラグは問題にならない。
しかし同じようにいくら待っても転送(というより書き出し)が一つも行われない。今度は辛抱強く待ってみた。top コマンドで CPU 使用率をモニターしながら。かなりの時間 CPU をがんがん使っていたのだが、あるときからほとんど使われなくなった。しかし一つも転送が行われていない。要するに何かの例外が発生して処理をやめてしまったのだと思う。
結局諦めた。少量のエントリだったら成功していたのだが…。
対応するカテゴリが存在しないから仕方がないが、それ以前に iBlog の RSS には category 要素がない。category 要素を出すためには iblogPatcher で RSS を細工する必要がある。
せっかく RSS に pubDate があるのだからそれを使ってほしいものだ。
iBlog のデフォルトの RSS には author 要素がないが、私の RSS には付けている。ここはメールアドレスなのでスパム避けに実体参照で書いてある。このため Thingamablog 側で設定した Author とはメールアドレスが一致しないからなのだろうか。それともそもそも付かないのだろうか。どちらかはわからないがとにかくエントリに Author は割り当てられなかった。
やっぱり RSS によるインポートで iBlog のエントリをインポートするのには無理がある。