はてなからの移行

とりあえず移行手段を考えてみる。
本ネタだけ集積して別サイトを構築するのは前から考えていたことだし。

log2mt(β)
http://www.log2mt.com/

はてなに限らず各種Web日記、BlogをMovableTypeにインポートできる形に変換するWeb上のサービス。
うちの日記を処理してみたら1.3MBバイトほどのhatena_moleskin.logというのが出来上がる。
中を見てみると残念ながら抜けがある。特にISBN:XXXXXXX:detailの後がごっそり抜けるのが致命的。
普通の人はこれで充分だろう。

XHatenaML
http://www.horobi.com/xml/XHatenaML/

はてなダイアリー」のマーク付けをXMLで表現したマークアップ言語。
作者はなんばりょうすけ氏。XML方面でとても著名なお方。

関連ツールとしてcsv2xml4hatena.pl(http://www.horobi.com/xml/XHatenaML/scripts/csv2xml4hatena.pl)というスクリプトがあり、はてなダイアリーからcsv形式でダウンロードしたファイルをXHatenaML形式に変換してくれる。
この日記を変換してみると2Mバイトほどになる。

csv2xml4hatena.plはまだVer0.0ということもあり、未完成なところが多い。
とりあえずあたしが使う分には

  1. 定義リスト(dl/dt/dd) 実装
  2. ISBN記法に対応
  3. URLを書くと自働リンクするように対応。
  4. その他若干のはてな記法に対応

ぐらいは実装しないといけない。そんでもってISBN:XXXXXXXX:titleやISBN:XXXXXXXX:detailに対応するとなるとAWSとお喋りが出来るようにしないといけないのか。
これは読み側だけの話であって、さらにXHatenaMLにしたものを何かの別のBlogでインポートできる形式に変換するXSLTスタイルシートなりプログラムなりを書かないといけない。まあこっちはXMLからHTMLライクな形式への変換なので何とでもなりそうだ。仕事で持ち込まれる無理難題みたいな形式に変換するのよりはずっと簡単だろう。

もちろんこちらの道は堅気の人にはお勧めできない。
XMLヤクザみたいな人間じゃないと無理だ。
あたしゃ三下とはいえXMLヤクザの端くれなのでなんとかなりそうだけど。

追記

id:knoさんから言及があったのでこれが出来る程度のヤクザの条件を書いてみる。

  1. XMLがわかる(当然)
  2. RELAX NGがわかる。あるいはcsv2xml4hatena.plが吐いたXMLファイルの内容を解析して自力で構造が把握できる
  3. csv2xml4hatena.plを改造できる。あるいはWiki Engineみたいなものを自分で作れる。
  4. XSLTスタイルシートが書ける。あるいはXMLを変換できるプログラムが書ける。

あたしはなんとか端っこにはひっかかっていそうだ。

追記の追記

移行のやり方としてはlog2mt風の外からアクセスしてHTMLファイルを取得するやり方とはてなダイアリーのエクスポートファイルを利用する中からのやり方がある。

外からやり方のメリットははてなパーサーを書かずに済むことである。HTMLへの整形ははてながやってくれる。そのかわり得られるものはHTMLファイルなので流用が面倒かもしれない。でもMovaleTypeに持って行くにはこれで充分かも。

中からのやり方ははてなパーサーを書かないといけない。でもパーサーが書ければ後はご自由にの世界である。

おまけ

Movable Type Import Format
http://www.movabletype.org/docs/mtimport.html

追記

はてな出版くん
http://d.hatena.ne.jp/buttw/20041103#p1

はてなダイアリーのテキストをPDF化してくれる超優れもの。
実はPerlで書かれていてソースはGPLで公開されている。

うちの日記を変換すると約15分ほどで11MBのPDFファイルを作成。
でもやはり抜けがあるのだった。この手のツールは手打ちのタグが混じっていると弱いな。
パーサーは自分で作らないとだめか。

教訓
普通に素直に書かない人間はこういう時に天罰を食らう