Movable Typeの記事インポートフォーマットをパースするGoのライブラリを作りました

はてなブログのエクスポート機能について調べてみたら、どうもMovable Type形式というのでエクスポートされるそうです。

staff.hatenablog.com

ドキュメントを読んでみたら普通に自前でパースできそうだったので、Goでパースしてくれるライブラリを作ってみました。

github.com

READMEのSampleに書いた感じのコードを書けばパースできます。今のところこんな感じの構造体に変換できます。

https://github.com/catatsuy/movabletype/blob/master/parse_test.go#L55-L83

よさそうですが、いくつか問題が残っています。

  • 異常系は特に考慮していない
  • Movable Typeがサポートするカラムを全部考慮してない
    • このはてなブログからエクスポートしたファイルで出力されたものしか対応してない
  • Movable Typeの仕様的にタイムゾーンを考慮していないが、Goだとタイムゾーンを指定しないといけないのでUTCを指定している
    • はてなブログのエクスポート機能だとJSTで出力される
    • はてなブログUTCで扱っている箇所もあるので意図的にやっている?
    • JST決め打ちにするのと日本専用になってしまうので、一旦UTCにしている

という感じですが、とりあえずこのブログのエクスポート機能で出力されたものは読み込めました。とりあえず動きはするようです。

とりあえずパースができるだけですが、もし利用する機会があればお使いください。